【PHP】フレームワーク CakePHP 16ホール目【v2.4】at PHP
【PHP】フレームワーク CakePHP 16ホール目【v2.4】 - 暇つぶし2ch175:nobodyさん
13/09/24 18:28:31.88
>>171
逆に実行速度以外オレオレのメリットがないような

176:nobodyさん
13/09/24 18:29:58.01
>>175
そもそも実行速度求めるならPHP使う必要があるのかと。

177:nobodyさん
13/09/24 18:34:34.37
スレが伸びてると思えば、
やはり不毛なフレームワーク論争かw

178:nobodyさん
13/09/24 18:38:55.69
PHPを使うとどうせ遅いんだから、という理由で速度を全く気にしないというわけにもいかないよな

179:nobodyさん
13/09/24 18:50:09.35
>>178
「遅い」の定義は要件次第だから、前提条件がないとこれもまた不毛な議論に。

180:nobodyさん
13/09/24 21:21:03.36
cakeでは簡単なことしかできないように思える。
cakeで凝ったつくりのサイトとかあったら教えてもらえませんか?

181:nobodyさん
13/09/24 21:39:34.62
>>180
逆にcakeでできないことって何だろう。。。
根性あれば大抵できると思うんだが。

182:nobodyさん
13/09/24 23:14:27.72
>>180
そもそもあんたが言っている「凝った作りのサイト」が
どういったものなのかわからないので答えようがない。

cake以外で作っていてもいいから、
まず「凝った作りのサイト」の例をいくつか上げてくれ。
サイトいうだけじゃなく凝ってる部分はどこかも言うように。

183:nobodyさん
13/09/25 00:17:25.95
facebookとかtwitterとか言い出したりしてw

184:nobodyさん
13/09/25 00:26:04.71
CakeでSNS作ったんだけどどうやって集客すんの?

185:nobodyさん
13/09/25 01:34:52.18 QAhhx/Ja
それcakephpと関係ないような…

186:nobodyさん
13/09/25 01:50:11.08
>>184
ケーキ食べ放題とかでアピール、かな・・・

187:nobodyさん
13/09/25 13:03:59.31
Cake最新版を落としてきて、cake test core AllTestsをやったら
Fatal error: Class 'PagesController' not found
と出るんだけど、なにこれテスト通らないのにリリースされてんの?

188:nobodyさん
13/09/25 14:54:07.29
>>187
そのテストはお前に必要なのか?

189:nobodyさん
13/09/25 21:12:17.21
>>178
PHPだから遅いのは確かだが、その中でも早いフレームワークは出てきてる。

>>180
「凝った作りのサイト」ってよくわからんが技術が無いだけじゃないの?

>>184
SEO対策だね。初歩しか知らんからそれ以上はなにも言えないw

190:nobodyさん
13/09/25 23:37:22.39
人間がストレスたまらないスピードなら遅いって言われる部類でも構わない

191:nobodyさん
13/09/26 00:26:56.50
>>189
SEO対策は集客のためにするんじゃないぞ。

SEOは単に検索エンジンにとって適切な作りにするだけだ。
それによって、検索した時の順位が上がることがあるが、
集客できるかどうかはコンテンツ次第。

192:nobodyさん
13/09/26 21:43:37.36
htmlヘルパーのhtml->imageのurlで生成されるa要素に属性をつけることは可能でしょうか?
やり方がございましたらご教示お願いします

193:nobodyさん
13/09/26 22:53:10.81
出来ません。
HtmlHelper::link() メソッドでラップするなり何なりして下さいませ。

194:nobodyさん
13/09/26 23:27:13.45
まだhtmlヘルパーなんてのあるんだね。
プログラムに処理させるのは簡単なループと条件判定とURLぐらいにして
普通にタグを書くべきだという結論にいたったけどね。

195:nobodyさん
13/09/27 02:25:34.52
まぁまぁ賛同するわ、その意見

196:nobodyさん
13/09/27 11:37:18.57
>>193
やっぱりそうなりますか
ありがとうございます

>>194
現在ページのけつにスラッシュありかなしかで相対パスが変わってしまうのを無視できるのでヘルパー使ってます
絶対パスだったら生でいいと思います

197:nobodyさん
13/09/27 13:21:36.12
PHPスレがないのでここで質問しますが
PHPでバリデーションする場合ってどうやってますか?

cakephpみたいにvalidateのmessage=>'エラー'とかみたいなのがあればいいのですが
ライブラリをぐぐっても多すぎて困ってます

PHP長年やってる人はどのようにしてるのでしょうか?
いちいちif分で2ページにわたり書いてました
フレームワークを使わないでPHPでやる方法の上級者の意見を参考にしたいです教えてください
使ってるライブラリ名とかでもいいです

198:nobodyさん
13/09/27 16:33:01.11


199:nobodyさん
13/09/27 17:16:00.06
>>197
いちいち二ページ書くのがいやだからフレームワークを使う
フレームワークを使うのが嫌なら二ページ書くしかないだろ

200:nobodyさん
13/09/27 17:54:19.34
2ページって・・・
ひょっとしてノートにでも書いてるの?

201:nobodyさん
13/09/27 18:11:54.74
>>197
cakephpにはvalidateのmessage=>'エラー'とかみたいなのがあるのでそれを使います。

202:nobodyさん
13/09/27 20:46:51.61
複数のページにauth認証をかけていて、ログインしたuserは全てのページが見られるようになってるんですが、
特定のユーザーだけ、特定のページのみ閲覧可能にする方法はございますでしょうか
ご教示お願いいたします

203:nobodyさん
13/09/27 23:51:29.97
特定のユーザーか否か判定して正しければ正規のアクションを実行し、
そうでなければエラーページ表示しろ

204:nobodyさん
13/09/28 00:10:22.06
>>202
ACO, ARO を使ったアクセス制御を勉強して下さい。
CakePHPの組み込みで3種類の設定が用意されています。

データベースを用いた方法が最も柔軟で高機能ですが、
管理が複雑になるので始めはiniファイルかphpファイルを用いたやり方がオススメです。


設定ファイルは

app/Config/acl.ini.php
app/Config/acl.php

のいずれかをカスタマイズして用います。

チュートリアルには残念ながらデータベースを用いる方法しか載っていませんが、
ググればある程度日本語の資料も出てくると思います。

205:nobodyさん
13/09/28 01:32:35.29
>>204
cakebookが本当にひどいな。見ない方がいい。普段はcakebookの出来には寛大だが、こればかりは無理!

206:nobodyさん
13/09/28 01:43:14.41
>>196
いえ、ですからaタグのhrefのURLの部分だけでいいと言ってるんです。

207:nobodyさん
13/09/28 02:24:59.99
HtmlHelper::link() にかぎらず、使い所だけおさえておけばいいんじゃない?

フレームワークってあくまでも標準を提供するだけであって、
規約でさえも単なるバリエーションの一形態として捉えたんで良いのではないかと。

規約に縛られ過ぎも良くないし、規約を無視し過ぎも良くない。
中庸が良いと思う。

208:nobodyさん
13/09/28 07:50:01.51
>>203
どうもです
たしかにそれがシンプルですね

>>204
ACO,AROですね
勉強してみます
おすすめの方法の方向でやってみたいと思います
ありがとうございました

209:nobodyさん
13/09/28 10:59:00.81
>>204
aco,aroっていまいち使いどころがわからない。
例えばあるページの一部のリンクの表示をユーザーによってオンオフする場合、
aco,aroを使い、かつ、ボタンの表示制御のコードも書くよね。
なんか楽になってない気がするんだよね。

210:nobodyさん
13/09/28 12:27:13.28
>>209
ACO, AROしらんけど、ユーザーによってオンオフするという機能の
作り方にある種の壁がある。

・壁を乗り越えられない人

if ($user == 'admin') { 管理画面表示 }
こんなコードを書く

・壁を乗り越えた人
if ( 権限があるか?('管理画面', $user) ) { 管理画面表示 }
こんなコードを書く


前者はユーザーが増えた時どうするの?
新たにグループ作りたくなったらどうするの?
adminだけど特定の場合(無料ユーザー等)には
管理画面の一部を消したくなったらどうするの?
などなど拡張性が低い。(全体的にメンテナンスが必要になるしコードも見づらくなる)

後者の書き方をしておけば、引数のユーザーから
いろんな条件を元に表示する権限を決めるだけだから拡張性が高い。

ACO, AROは、後者の壁を乗り越えた人だけが理解できる機能だと思う。

211:nobodyさん
13/09/28 13:52:09.15
>>210
adminだけど特定のユーザーに管理画面解放する使い方って?
俺の認識では、管理画面とユーザー用管理画面は
分けるべきだと思うが。共通化するなんて怖い

212:nobodyさん
13/09/28 14:23:58.43
リクエストとレスポンスのお互いを集合論的に捉えることが出来るのが
ACO,AROの最大のメリット。
だと思う。

213:nobodyさん
13/09/28 14:56:21.69 mm0OqWTD
みなさんはviewにヘルパーとか使いまくりますか?

214:nobodyさん
13/09/28 15:13:51.00
ビューにヘルパーは使った事がありません
ビューは非プログラマに書かせるから、ctp自体使わずHTMLに近いテンプレートシステム使ってます

215:nobodyさん
13/09/28 18:23:01.86
>>211
説明の仕方が悪かったね。

adminでもGoogle Appのように
無料契約やビジネス契約によって機能が制限されることはある。

そういう話だったが、普通に田中さん(マネージャー)とか
そういう例えにしておけばよかったね。

216:nobodyさん
13/09/28 19:02:36.41
ACO,AROは名前が紛らわしい

217:nobodyさん
13/09/28 20:16:14.74
ACO - アクセスコントロールオブジェクト(Access Control Object) - ある主体が取り扱う「物」
ARO - アクセスリクエストオブジェクト(Access Request Object) - ある物を取り扱う「主体」

218:nobodyさん
13/09/28 20:22:28.91
>>217
何もわからねえぞ
理系か

219:nobodyさん
13/09/28 22:27:35.62
たとえばdiariesテーブルに複数人のdiaryがまとめて入っているとして、
他人のdiaryが見られないように制御をするとしたら、ACO&AROの仕組みでは対応できなくない?
リクエストを受けたときに、そのユーザーが対象のactionを実行できるかできないかの制御しかできないんでしょ?

220:nobodyさん
13/09/28 23:57:31.97
CakePHP1系の情報ブログに書いてる人、消してくれないかなあ…
検索時邪魔でしょうがない、確実に今開発してる人の生産性を少しずつ下げてる

221:nobodyさん
13/09/29 01:03:09.68
>>219
デフォルトというか、Cakeの組み込みはそうです。
でも拡張すれば出来なくはない。
昔やったことがある。
ただ、管理が分けわからなくなって嫌になったんで、そのやり方は封印して
結局PHPの設定ファイルに書き込む方法に落ち着いた。

まぁ、俺が下手なのは認めるとして、逆に言うと、下手な人間にも使えるような
うまい仕組みとはいえないと思う。

222:nobodyさん
13/09/29 01:12:36.30
下手な人でも使えるなんてのは幻想だよ。
だから技術職というものがあり、
技術があることで金を稼いでいるんだ。

223:nobodyさん
13/09/29 01:54:05.25
>>220
久々に感動した自己中

224:nobodyさん
13/09/29 01:58:37.63
ワロタ

225:nobodyさん
13/09/29 02:04:25.72
そもそもの元凶は
2で仕様変え過ぎ

226:nobodyさん
13/09/29 13:11:03.72
検索するとき期間を1年以内にすれば大体問題ないよ

227:nobodyさん
13/09/29 13:37:17.57
そんなことどうやってできるの

228:nobodyさん
13/09/29 13:43:46.71
あ、できたw

229:nobodyさん
13/09/29 13:48:05.32
もしかしてChromeじゃないとできないとかある?

230:nobodyさん
13/09/29 13:52:02.75
URLに自分でパラメータをつければいんじゃね?
&tbs=qdr:yみたいに

231:nobodyさん
13/09/30 13:40:06.80
>>214
俺はヘルパー使いまくりだけど、HTMLに近いてSmartyみたいな感じ?

232:nobodyさん
13/09/30 14:07:01.24
サイト全体で共通の関数はどこにかくのかな!?

233:nobodyさん
13/09/30 14:08:21.98
vendors

234:nobodyさん
13/09/30 17:13:49.37
自分で作るならLib
サードパーティー製ならVendors
URLリンク(book.cakephp.org)

235:nobodyさん
13/09/30 21:53:03.23 YNM1OLM4
emailコンポーネントを利用してメール送付しようとしてるのですが
送信処理はできてもヘッダーにtoがないのですが原因などわかりますでしょうか・・・

236:nobodyさん
13/09/30 22:56:45.74 YNM1OLM4
すいません。単純にポートが閉じているだけでした・・・

237:nobodyさん
13/09/30 23:32:26.73
Webアプリ開発を加速する CakePHP2定番レシピ119

っていう本がでたらしいのですが
どうですかね?
最近CakePHPはじめたばっかりなので
本かおうとおもってますが

238:nobodyさん
13/09/30 23:52:23.59 II3eS9V+
質問です。
Cakeのwebroot下にWordpressをインストールしました。
一応稼働できてはいるのですが、
URLがルートの場合はwebroot内にあるWordpressディレクトリを表示したいのですが
htaccessで可能でしょうか?

239:nobodyさん
13/10/01 04:54:23.88
思いつかん

240:nobodyさん
13/10/01 09:02:42.29
こないだからCakeでテスト書いてるが、難しいな…。

どうしてもテストか実際の実行かで分岐しないといけない個所があるんだけど
Cakeで「今テスト中か?」の確実な判定はどうすればいいのでしょう

開発してたら知りたくなるこういうことが公式には載ってないんだよなーという一例

241:nobodyさん
13/10/01 11:07:03.38
テスト書くのはとても高いスキルの要ることだと思うよ。
Cakeだからむずかしいってことではないと思う。
Cake本体のテストケース見てみ。
すっげー大変なことしてるから。

テスト中の判定はいくつかやりかたはあると思うけど、
それってテストの書き方に問題があるのでは?

242:nobodyさん
13/10/01 11:10:07.46
なんかおかしな書き方になってしまったが、
要するにCake本体のテストもかなりえげつないことしてるけど、
それはCakeだからそうなったってことではないだろうということ。

あとどうしても判定したいなら CakeTestSuiteDispatcher.php で定数定義してるんで、
それを使ってみるとか。
あとは $_SERVER の SCRIPT_NAME を見るとか。

243:nobodyさん
13/10/01 13:16:24.04
あざっす、SCRIPT_NAME見ることで解決しました
モデルにどのDBから読み込むか(マスターとスレーブ)動的に変更している所があって
テスト時にそこが本来のDB読みに行こうとしてハマってた等、回避不可能なことがいくつもあってな
いやーテストって本当難しいわ、製品作るより難しい
テストに関する情報が少ないのも難易度を上げてるな、本とかにも大抵ちょろっとしか載ってないもんな

244:nobodyさん
13/10/01 14:25:16.95
まじめにTDDやったら「テスト書くほうが時間がかかるんじゃないか?」
ってレベルじゃねーな

テストを書く時間9割で
残り実コード書く時間とテスト走らせる時間が5分5分

245:nobodyさん
13/10/01 14:29:15.29
デグレで困らなくなるから先行投資だと思え
と言いつつ設計と実装を同時に進めるチャランポランな俺はTDDが出来ない

246:nobodyさん
13/10/01 15:03:39.29
納品して終わりならテストは書かない、そうしないととても納期に間に合わない
運用も任されたり長年使い続けるシステムならテスト書く、そうしないと1年後は毎日バグフィクスで潰れる

247:nobodyさん
13/10/01 15:57:47.39
2.2.9を使っています。
外部PHPプログラムからCakeの結果(findで生成される配列など)を
受け取りたいのですが、可能でしょうか?

1.3系はググって見つかったのですが、2系は見つかりません。
もし可能なら方法を教えてください

248:nobodyさん
13/10/01 16:00:33.49
>>247
1.3系でどういった情報が見つかったの?2系で基本的に違いがあるとも思えないけど。

249:247
13/10/01 17:43:00.64
>>248
以下で紹介されている方法を参考にしました。
URLリンク(web.mt-systems.jp)

1.3系はこの方法で動きますが、2系ですと一部の関数や命名規則が変わっているので、
この通りにやっても動きません。
Dispatcherの書き方の問題だと思うのですが、
ソースを見てもどうやって実行値を取得すれば良いか、わかりませんでした・・。

250:nobodyさん
13/10/01 18:10:43.96
読んでみたが、何がやりたいのかさっぱり分からなかった orz...

251:nobodyさん
13/10/01 18:29:49.41
>>249
そこまでしてでも組み込みたいのか。。。
素直にバッチ化して呼び出すとか、WebAPI経由で呼べばいいものを。。。

252:nobodyさん
13/10/05 01:07:51.95
Cake2になってよくわからないので誰か教えてくだしあ

コントローラの途中で特定の条件を満たすとヘッダが404を出して終わり
(ブラウザには404 Not foundが表示される)としたいのだが、
CakeResponseというのを使うらしいのだがドキュメント見て

$this->response->httpCodes(404); return; とか
$this->response->statusCode(404); return; とかやっても、ページが表示されてしまう
後者は404が返るようにはなるのだが、ビューの内容も返してしまってるようだ

要は
header('404 Not Found', true, 404);
$this->_stop();
と同じ結果にしたいのだが、CakeResponseを使って書くにはどうすればいいのだろう?

253:nobodyさん
13/10/05 02:07:14.57
throw new NotFoundExeption();

254:nobodyさん
13/10/05 02:14:19.09
>>252
Cake2 からしか知らないけど、ヘッダの送出、ビューの指定の二つだけ行って
リターンしたらいいんじゃないの?

if ($error) {
$this->response->statusCode(404);
$this->view = 'error';
return;
}

みたいな感じで。
あと、例外を投げても一部のクラスは 404 になるんだけど、それは知ってる?

255:nobodyさん
13/10/05 02:15:37.07
あ、253 が先に書いて

256:nobodyさん
13/10/05 04:04:25.49
>>249

>$_GET['url']に文字列「favicon.ico」をセットすると、require_once で読み込んだ index.php の実行が dispatcher を動作せずに終了するようになっている。

バッドノウハウ過ぎて、製品にはこわくて使えねーよw

URLリンク(github.com)

URLリンク(github.com)

まぁ一応ソースで確認してみた。
faviconは見ての通りなくなってるので諦めろ。

と、ここまで書いてから思ったが、要するにgithubでハイライトされてる最後の2行を消したファイルを作って、
require_onceすればできんじゃねーの?

257:nobodyさん
13/10/05 04:18:28.90
>>252

$this->response->httpCodes()はgetterだから意味ないぞ。

$this->response->statusCode(404);
$this->autoRender = false;
return;

これで、$this->render('index');と明示的に書かない限り、レンダリングされないので、
body部が空になると思われ。
動確はしてない。

258:nobodyさん
13/10/05 13:04:41.41
初心者なんですけどfindしたときに一時的にアソシエーションをなくすってことは可能なんですか?

259:nobodyさん
13/10/05 18:22:31.88
それは流石に本でも買ってきて読んで来いなレベル。

260:nobodyさん
13/10/05 18:26:41.61
可能

261:nobodyさん
13/10/05 19:24:53.67
>>259
俺のレベルに丁度いい本教えて

262:nobodyさん
13/10/05 19:35:08.52 cB/QUfLz
>>261
ドットインストールと詳解でなんとかなった
実践入門とかも読んだなぁ

263:nobodyさん
13/10/05 20:36:15.64
Model::unbindModel()

264:nobodyさん
13/10/05 20:37:41.87
っていうか、

"CakePHP findしたときに一時的にアソシエーションをなくす"

でぐぐったら出てくるんですが・・・

265:nobodyさん
13/10/06 10:47:59.39
みんな、MySQLのENUMって使ってる?

266:nobodyさん
13/10/06 11:57:58.32
何回bakeしても

Your database configuration was not found

って出てくるどうすりゃいいの?

index.php と test.phpのコメント行は外しました

267:nobodyさん
13/10/06 12:03:15.88
できました。

アプリケーションルートディレクトリで実行してないだけでした

268:nobodyさん
13/10/07 13:48:06.58
viewの中で <?php ほにゃらら ?> としてif文やらechoやらを書くのがいまだに理解できない

269:nobodyさん
13/10/07 17:46:40.29
Dispatcher::dispatch() とか
View::evaluate() を見てみると良いかも

270:nobodyさん
13/10/08 00:59:47.40
そういうルールなんだよ

271:247
13/10/08 09:11:47.61
>>256
遅レスですみません。
その2行を消して実行ファイルでDispatcherを宣言しても
CakeRequest側の受取が上手く行かずに、データ取得できませんでした。
そもそも、どうやって外部ファイルからrequestを受け取るのか・・・

全てCakeのフォルダ内で管理したいというよりも、
一部だけCakeを使いたいor既に使っている物をCakeに変更したい
などの需要があると思ったのですが、意外と無いですね。

findはSQL文でSELECTを書けばいいし、PDOを使えば簡単に取得出来るので、
外部ファイルからCakeを通す必要性がないのかもしれません。

272:nobodyさん
13/10/08 13:46:34.36
ちょと何言ってるのかよく分かって無いかもしれないんだが、
要するに結果を通常のビューじゃなくて
JSONで出力するとかって話じゃないのか?

273:nobodyさん
13/10/08 14:04:35.31
それみていい事思いついた!

URLリンク(www.php.net) すればいいじゃん!

<?php
$homepage = file_get_contents('URLリンク(www.example.com)');
echo $homepage;
?>

PHPなら2行で通信するプログラムも書けるよ!!

俺はセキュリティ的にこわくてできないけどな

274:247
13/10/08 16:34:38.21
>>272-273
いえ、Cake形式の配列でfindの結果を受け取りたいんです。
で、>>249の方法なら出来るのです。
でも、2系だと無理です。なので質問しました。

275:nobodyさん
13/10/08 16:58:21.71
JSONで受け取れないか?

276:nobodyさん
13/10/08 17:00:13.50
あぁ、HTTPリクエストとしてじゃなくて同一プロセスでか。
分かった。

277:nobodyさん
13/10/09 02:02:54.44
>>274

> これで posts コントローラの index アクションを実行し、レンダリングされた結果が表示できる。

dispatch()したら、findの結果じゃなくビューをレンダリングした結果だぞ。
その1.3でできてるってのも、上記の通りだし。

278:247
13/10/09 09:57:04.46
>>277
1.3の場合、>>249の説明にもありますが、
以下の様なソースで、対象コントローラのfind結果を取得できます。
requestActionみたいな感じです。良かったら試してみてください。

$_GET['url'] = 'favicon.ico';
require_once 'index.php';

$Dispatcher = new Dispatcher;
$list = $Dispatcher->dispatch('/news/index', array('return' => 1));
foreach ($list as $data) {
echo $data['News']['created'] . ':' . $data['News']['title'] . "<br>";
}

279:nobodyさん
13/10/09 11:28:30.56
Shell で使うShellDispatcher と ConsoleOutput と ConsoleInput を拡張して Shell を走らせてみるとか

class MyOutput extends ConsoleOutput {
public function write($messege, $newlines = 1) { // $message でデータを受け取ってあれこれする.... }
}

class MyInput extends ConsoleInput {
// 面倒なので適当に考えてくれ
}

class MyDispatcher extends ShellDispatcher {
protected function _getShell($shell) {
//... なんやかんや
$shell = new Shell($myOutput, $myErrorOutput, $myInput);
//... なんやかんや
return $shell;
}
}

----
<?php
$args = array(.....);
new MyDispatcher($args)->run();

みたいな感じで。

取得したいデータは $myOutput をパイプみたいにしてゲット。

どう?

280:nobodyさん
13/10/09 14:26:40.63
天才あらわる

281:nobodyさん
13/10/10 04:29:12.84
なんやかんやわろた

282:nobodyさん
13/10/12 20:34:20.88
質問です。よろしくお願いします。
ユーザーが自分で更新出来るCMSを作成してます
そこでユーザーが更新するたびにgoogle等にインデックスされるようにしたいです
こういった場合みなさんはどうやってインデックスさせてますか?
cakeと関係ない質問かもしれませんが便利なやり方があるかもと思い質問しました
よろしくお願いします

283:nobodyさん
13/10/12 21:40:23.39
Google買収!

284:nobodyさん
13/10/12 23:39:11.12
ping送信ぐらい?
あとsitemap更新とか。
どっちにしてもGoogle次第

285:nobodyさん
13/10/13 01:02:29.28
pingを自動的に送信するようにですね
ユーザーが作成したページが検索に乗るようにするって結構難しいのかな
登録・更新のたびにsitemap作成するスクリプトとか流してたら相当重くなりそうですよね
親切にありがとうございます

286:nobodyさん
13/10/13 02:27:44.36
更新はともかく、新しくURIが増えるんなら、sitemap.xmlは生成したほうがいいんじゃ

287:nobodyさん
13/10/13 15:45:55.81 fH7wT7an
>>286
ありがとうございます
深夜辺りにcronで動くように設定したいと思います
完全にスレチでした。すみませんでした

288:nobodyさん
13/10/15 17:36:39.11 tnpde/Hs
逆アクセスを設置したいのですが、お勧めはありますか?
今は、自作 or Googleアナリティクスを考えています。

289:nobodyさん
13/10/15 20:16:47.76
ACR WEB使え

290:nobodyさん
13/10/19 09:01:10.85
東京からみた大阪は南チョン。
大阪から東京は北チョン。

291:nobodyさん
13/10/23 01:11:43.94
コントローラの中で
getuser( $user_id, $age)
{

}
と引数を2つで指定しているとします。

URLリンク(hogehoge.com)
→ OK

URLリンク(hogehoge.com)
でアクセスされた場合に
Missing argument 2 for UserController::getuser()
というエラーが出てしまうのですが、事前にアクセスの想定されるURL以外でアクセスが来た場合に
それを上記の様なエラーが出る事無く弾くにはどうすれば良いでしょうか?


コントローラの中のファンクションで
.Net の optional 的な引数指定の方法はありませんか?

292:nobodyさん
13/10/23 02:18:32.08
public function getuser() {

$args = func_get_args();
if (count($args) < 2) { ... error ... }

}

293:nobodyさん
13/10/23 02:53:19.47
291です。

>>292
そんな便利なコードがあったのですね。
ありがとうございます!!

294:nobodyさん
13/10/23 04:27:05.04
え?正気か?
デフォルト引数値使えよ

public function getuser( $user_id, $age = nulll ){
if(empty($age)){
// URLリンク(hogehoge.com) の場合
} else {
// URLリンク(hogehoge.com) の場合
}
}

295:nobodyさん
13/10/23 05:35:12.35
empty使わずとも、nullしてるんだからifだけでいいじゃん

296:nobodyさん
13/10/23 11:58:33.55
サンプルだからelse書いたけど、$ageがない場合にちょっと処理入れるだけってのが多くね?
だから、empty($age)から書いたが、このままじゃ分かりにくいと思ってelseを後付けしたんだ。
あと、例外的なほうから書くほうが好みというのもあるけど。

297:nobodyさん
13/10/23 13:17:01.27
>>294
色んな方法があるんですね。

298:nobodyさん
13/10/23 22:10:06.74
いろんなっつうか、>>292 を常用してると死ぬぞ

299:nobodyさん
13/10/23 22:22:55.02 TvTq8mzB
>>298
なぜ?


あと、関係ないけど
ERROR:referer情報が変です。(ref1)URLリンク(www.engawa.2ch.net)ほげほげ/l50

武道板になぜか書き込みができないんだけどなぜ?

300:nobodyさん
13/10/24 00:57:55.24 ZRTs6kHv
cakePHP でMySQLの Limit 句と同じ事を以下の様なコードを記述し
試しているのですがなぜかデータの絞り込みが出来ません。
また、何もエラーも出ません。

$data_company = $this->find('all', array(
'conditions' => array( ~ 略 ~ ),
'fields' => array('company_id','company_name'),
'order' => array('sequence_number' => 'asc'),
array('offset' => '0','limit' => '5'),
));


ここでは、取得対象データが300件返って来るけれども
5行のみ取得する、という事を想定して記述しています。

どこに問題があるのでしょうか?

301:nobodyさん
13/10/24 01:30:15.64
>>300
orderのカッコと、fieldsとoffsetを囲ってあるカッコを取って下さい。

302:nobodyさん
13/10/24 01:32:31.18
こんな感じ。
$data_company = $this->find('all', array(
'conditions' => array( ~ 略 ~ ),
'fields' => array('company_id','company_name'),
'order' => 'sequence_number asc','limit' => '5',
));

303:nobodyさん
13/10/24 02:29:39.52
>>301 >>302
ありがとうございます。
やりたかった事が出来そうです!!

※cakePHPに標準で備わっているページング処理よりも
自前でコーディングした方が後々細かい制御が出来てよいと思ってましたので
limit使ってガリガリやろうと思います。

304:nobodyさん
13/10/24 02:53:38.76
>>303
絶対ページング使うべき。
ajaxにも対応してるし。

305:nobodyさん
13/10/24 03:28:39.25
ですね。使わないと損。
細かい制御ができないというのなら直ちに調べたほうが良い。

306:nobodyさん
13/10/25 23:49:39.14 AB+nrtPz
>>304 >>305
前へ 次へ ... >> <<

色々とやってましたが素直にページング使った方が楽そうなのでページングを使い始めました^^b

307:nobodyさん
13/10/26 21:52:14.71 Zi7Pbhr3
$work_check_number には、 float型の0.4が入っています。
この状態で以下のコードを実行すると想定外の出力結果が
返って来ます。何が間違っているのでしょうか?

var_dump($work_check_number);
echo "<br>";

if ( $work_check_number <= (float)0.4 )
{
echo "debug-1<br>";
}
else
{
echo "debug-2<br>";
}

【想定出力結果】
float(0.4)
debug-1


【実際に出力される結果】
float(0.4)
debug-2

308:nobodyさん
13/10/26 22:11:25.69 5t9gsaZZ
URLリンク(ryo511.blog.jp)

309:nobodyさん
13/10/27 03:55:38.51
>>308
勉強になるますだ

310:nobodyさん
13/10/27 17:26:30.48 dxTjMq1b
phpでfloat型の大小比較って凄くメンドクサイな。

311:nobodyさん
13/10/27 17:47:06.22
>>310
大小比較とこの問題は関係ないよ
IEEE754を採用してる言語なら事情はどこも似たようなもの

$a = 0.4;
$b = 0.4 + 2.2204460492503131e-016;

var_dump($a); # float(0.4)
var_dump($b); # float(0.4)
var_dump($a == $b); # bool(false)
var_dump($a < $b); # bool(true)

312:nobodyさん
13/10/27 17:57:13.61
>>310
どの言語でもそうだと思うよ

313:nobodyさん
13/10/28 10:28:14.68
てか、小数点は上手くいかない場合多いから、使わないな
俺の使い方が悪いだけかもしれないが

314:nobodyさん
13/10/31 15:20:24.96 S0k5dQpe
cakePHP の Model で SQL で言うところの IN 指定はどうやって記述すればよいのでしょうか?

315:nobodyさん
13/10/31 15:25:47.92
>>314
arrayを渡す

316:nobodyさん
13/10/31 16:24:28.47
informationは確かに変化しない英単語かもしれんけど、
だからってinformationテーブルにInformationControllerが正しいと、
それなりに開発が進んでから気がついたときの怒りは、
どこにぶつければいい?

317:nobodyさん
13/10/31 18:32:50.75 S0k5dQpe
>>315
ありがとうございます。
無事出来ました!!

318:nobodyさん
13/10/31 18:53:54.33 S0k5dQpe
select
user_id, user_age,user_nme
from users where
( user_id = 1 and user_age = 30 )
and ( user_id = 2 and user_age = 25 )
and ( user_id = 3 and user_age = 28 )

cakePHPのconditionsで上記の様なSQLを実行させる書き方はありますか?


'conditions' => array(
'users.user_id =' => 1,
'users.user_age =' => 30,
),

現在ループしながら複数クエリを発行しているのですが
纏めて1回のクエリで必要データを取得したいと考えています。

319:nobodyさん
13/10/31 20:03:43.30
>>316
英語の勉強を疎かにしてきた自分を呪えば良いと思うよ
まぁ、冗談は抜きにして、英語の基礎ができてないと色々とキツイよな。

320:nobodyさん
13/10/31 20:07:38.67
>>318
あの・・・ and はカッコ外しても論理構造同じですが。

もし 'or' を入れたいのなら、キーに 'and' とか 'or' とかを用いて
幾重にも入れ子に出来たはず。

キーが数値の場合は 'and' として解釈するんだったっけ。

321:nobodyさん
13/10/31 20:08:43.64
っていうか、その元のクエリ何だよw

322:nobodyさん
13/10/31 20:10:49.38
(間違い) and はカッコ外しても論理構造同じ
(正しい) and だけの場合はカッコ外しても論理構造同じ

ミスった

323:nobodyさん
13/10/31 20:11:08.33 pvMz+FsK
>>320 >>321
間違えました。

ただしくは、

select
user_id, user_age,user_nme
from users where
( user_id = 1 and user_age = 30 )
or ( user_id = 2 and user_age = 25 )
or ( user_id = 3 and user_age = 28 )

です。 キーに or を入れて試してみたいと思います。

324:nobodyさん
13/10/31 20:15:46.01
$cond1 = array('user_id' => 1, 'user_age' => 30);
$cond2 = array('user_id' => 2, 'user_age' => 25);
$cond3 = array('user_id' => 3, 'user_age' => 28);

$conditions = array('or' => array($cond1, $cond2, $cond3);

325:nobodyさん
13/10/31 20:23:43.34 pvMz+FsK
>>324
あざーすっ!
コードがすっきりしました!!

326:nobodyさん
13/10/31 20:38:39.33
まあmysqlはor使うと遅くなるんだけどね

327:nobodyさん
13/10/31 23:42:41.93
漢ならフルスクラッチ

328:nobodyさん
13/11/01 00:32:03.09
女傑ならソケットでMySQLプロトコル

329:nobodyさん
13/11/01 17:39:10.37
>>316
bakeすればいいのに

330:nobodyさん
13/11/01 17:45:57.99
bakeはほぼ使わないなぁ

331:nobodyさん
13/11/01 22:05:00.04
テーブルのレコードに突っ込んでる時点で数えられるから問題ない
外人がfishesという単語を見て魚の缶詰を思い浮かべるのと同じ

332:nobodyさん
13/11/02 01:30:30.01
bake 使わない開発が想像できないんだが

333:nobodyさん
13/11/02 09:23:48.01
いつも0から作り始める人ならそうだろうね

334:nobodyさん
13/11/02 14:49:14.45 YSV0Zcpf
bake とか使った事がない。
そもそも何に使うの?

良い解説サイトがあったら教えてください。

335:nobodyさん
13/11/02 18:00:44.69
別にbakeを使う必要はない。
bakeってのはCakePHPが参考した
Railsで使われていた仕組みで、


たんに、こんなに早く作れるんだよと
なんども練習して撮影したデモを
一秒でも短くするために生まれた道具にすぎない。

そう。3分クッキングのように、
あらかじめ用意しておきましたって
コードを生成するもの。

336:nobodyさん
13/11/02 18:25:11.54
Searchプラグインって標準では、区切りに全角スペースでは、複数単語検索できないんだね
不便だわ

337:nobodyさん
13/11/02 20:32:04.62
ある程度まとまった複数のモデルを bake all して、
それをごそっとプラグインに隔離して
適宜削ったり追加したり開発するのはとても便利で早い。

338:nobodyさん
13/11/02 20:42:12.21 oRF20owz
html5 で作られた infinite mario すげぇえ。

とおもってたら グラディウスまで作ってる強者がいた。

ここまで出来るのか。。。

339:nobodyさん
13/11/02 20:43:40.35 oRF20owz
URLリンク(rappdaniel.com)

html5 でここまでできるのか。

340:nobodyさん
13/11/02 22:07:26.87
うちは管理用の画面作るときはまず bake から始めるけどなぁ。
誰が作ってもほぼ同じものができるのは良いよ。
テンプレートをカスタマイズしてるから
元の姿とは全くと言っていいほど違ってはいるけど。

341:nobodyさん
13/11/02 22:18:01.50
いや、ファイルコピーすればいいですし・・・。

342:nobodyさん
13/11/02 22:57:11.17
>>341
(言ってはいけないことを。。。)

343:nobodyさん
13/11/03 00:08:16.61
bakeって何が化けるの?

344:nobodyさん
13/11/03 00:21:41.67
>>343
つまらん

345:nobodyさん
13/11/03 20:14:17.87
管理画面はbakeするけど、フロント側はちょっとねぇ。
モデルも開発中盤になってくると、bakeしただけで手の入ってないモデルがいくつか出てくるから、
コピーして必要なとこだけ変えたほうが早かったりするんだよな。

346:nobodyさん
13/11/03 23:30:20.68
bakeって言ったって
完全に全自動化出来るわけじゃなく、
色々質問されるしな。
前回なんて答えたかなんて覚えていないし、
bakeをする回数は少ないのですぐに使い方を忘れる。

347:nobodyさん
13/11/04 01:31:23.58
>>346
うちはとにかく bake all だわ。
アソシエーションの制約なんか厳しくて、
かなり CakePHP のルールを守らないと通らないので、
それがかえって誰が作っても同じ出来になるという安心感がある。

それに、コマンドで個別に設定するぐらいならファイル直接触ったほうが楽。

348:nobodyさん
13/11/05 22:46:56.28 HKwreGpo
cakeって便利だけど最初の設定って結構面倒じゃないですか?

あとは使っているサーバのスペックが足りなくて
別サーバに引っ越しをする時とか結構手間に感じるのですが皆さんは如何ですか?

349:nobodyさん
13/11/06 00:41:09.71
なんかCakePHPならではの設定することあったっけ?

350:nobodyさん
13/11/06 01:43:53.69
DBの設定は面倒だけど、1ファイルの修正で済むからな。
あと、FTPでアップした時のtmpのパーミッション設定は地味に面倒w

351:nobodyさん
13/11/06 07:11:23.30 jY+jk4/6
>>350
確かにtmp面倒くさいよな

352:nobodyさん
13/11/06 12:09:46.63
>>350
俺、多分変更してないけど問題ないな。

353:nobodyさん
13/11/06 19:21:57.33 CGtOvjTe
>>349
例えばcakePHP2 で作っていたシステムを
新サーバ+cakePHP3 に移行する時とか大変じゃない?

cakePHP3をサーバに設定した後に、
cakePHP2のソースを手動でしかるべき箇所に移動させて
しっかり新バージョンでも動くかどうか検証とかしなくちゃならないでしょ?


一発で移動とか出来ると楽なんだけどね。

354:nobodyさん
13/11/06 19:28:12.00
>>353
既存プロジェクトで使ってるフレームワークのメジャーバージョンを上げたら、
そりゃぁ大変だろうよ。
CakePHPに限らずな。

355:nobodyさん
13/11/06 21:06:22.08
Cake3ってもう使ってる人いるの?

356:nobodyさん
13/11/06 22:24:56.97
cakePHP2.0 で
ログインしていない場合には閲覧させない様な
クローズドコンテンツを作成しよとしています。

そこで、ログインしていない場合には閲覧させない為に
コントローラのファンクションの中で以下のコードを書いているのですが、
コントローラのファンクションの中では毎度以下の if(ログイン判定)  の
コードを記述する必要があるのでしょうか?

HogeController.php

public function top()
{
if(!$this->Auth->login())
{
//ログインしていないので特定ページ(TOP)へ飛ばす。
return $this->redirect($this->Auth->redirect());
}
}

357:nobodyさん
13/11/06 22:29:20.54
>>356
Authコンポーネントを良く調べろ。

358:nobodyさん
13/11/06 22:32:14.86
>>357
'loginAction' => Array('controller' => 'tops', 'action' => 'index'),

色々と試したみたのですが、これでOKですか?

359:nobodyさん
13/11/06 22:39:31.12
>>358
URLリンク(book.cakephp.org)

360:nobodyさん
13/11/07 00:07:19.08
Google Cromeで指定した文字列をクリップボードに
コピーするプログラムを作っています。

$('#id_hoge' ).click( function()
{
var str_text = "あいうえお";
var copyArea = $("<textarea/>");
copyArea.text(str_text);
$("body").append(copyArea);
copyArea.select();
document.execCommand("copy");
copyArea.remove();
});


"あいうえお" がクリップボードにコピーされると思ってたのですが
なぜかされません。cromeでは使えないのでしょうか?

361:nobodyさん
13/11/07 03:12:22.57
プラグインの日本語情報が異常に少ないんだよね
これじゃなかなか広まらないな

362:nobodyさん
13/11/07 14:17:00.21
広まらないっていうか、これからどんどん情報減ると思うよ。
自分で調べて情報公開したりするような開発者は、
もうCakePHPなんて飽きてるだろうし。
今は、普通に使えるようになってる人が、普通に仕事をこなすのに使ってる感じじゃね。
書籍も一時期は沢山出てたけどいまはそうでもないしな。

363:nobodyさん
13/11/07 14:34:27.14
猫も杓子もcakephpの時代が異常だっただけ
今はいいフレームワークがいっぱいあるし
あえてcakephpを選ぶ理由がないからね

364:nobodyさん
13/11/07 14:44:14.56 cHcjC9vh
FWはもう、cakePHPに統一しようぜ。

365:nobodyさん
13/11/07 14:52:19.69
統一するとしてもcakephpだけはやめて
codeigniter, fuelphp, laravel, yiiのどれかで

366:nobodyさん
13/11/07 14:52:21.96
cakephpは日本が異常だっただけよ
今もオフショア先では大人気

367:nobodyさん
13/11/07 14:55:55.60
>>365
fuelphpはpsr-0に対応しなかったこととかいろいろあって人気つかないな
codeigniter、laravel、yiiは世界では人気だけど日本だと微妙

368:nobodyさん
13/11/07 15:04:27.70
URLリンク(www.techempower.com)

cakeぼろぼろだ
昔のライバルsymfonyには辛うじて勝利

369:nobodyさん
13/11/07 16:27:36.49 urHtWp+p
FWといよりプログラマのスキルによるんじゃねーの。
レスポンスとかさぁ。

370:nobodyさん
13/11/07 18:19:09.69
codeigniterとか作りが前時代的過ぎてなぁ・・・
その4つの中ならlaravelがいいな

371:nobodyさん
13/11/07 18:25:45.15
Sinatra風のルーティングは見やすいんだが
PHPとは相性が悪い
リクエストの度にパスの数だけClosureオブジェクトを作ってると考えたらぞっとする

372:nobodyさん
13/11/07 20:37:01.47
Sinatra風ルーティングは、マイクロFW系向きじゃないかな

373:nobodyさん
13/11/07 20:55:50.09 TVGLaC0N
悪い事は言わない

Yiiを使える、進めるヤツはせめてToeic 800点位とってから使おうな。
英語も出来ないのに間隔で変な名前をあちこちに量産されたら迷惑

374:nobodyさん
13/11/07 23:10:35.42
>>373
なんでYii限定?

375:nobodyさん
13/11/07 23:33:39.73
TOELCといえばYii

376:nobodyさん
13/11/07 23:35:41.14
わけがわからないよ

377:nobodyさん
13/11/08 02:55:52.80
漢字もちゃんと使えてない人に言われてもなー

378:nobodyさん
13/11/08 19:07:09.93
話題のbakeを試してみたんだけど、命名規則通りにテーブルを作って
cake bake all モデル名 とやったんだけど、
Error: Table ないテーブル名 for model ないモデル名 was not found in datasource default.
とエラー。生成されたモデルを見てみると、勝手に存在しないモデルの$belongsToが書かれてた。
これは何?なんでそうなるのでしょう。

379:nobodyさん
13/11/08 19:51:29.62
>>378
テーブル名書けよ

380:nobodyさん
13/11/08 22:22:57.25
テーブル名だけじゃなくてスキーマ全部と、
DATABASE_CONFIG::$default['prefix'] の値も忘れずに

381:nobodyさん
13/11/09 01:13:36.00
IISにそのままCake載せただけじゃ動かないですよね?
どうすりゃいいんですか?

382:nobodyさん
13/11/09 02:28:19.11
IISなんて知らんがな

383:nobodyさん
13/11/09 11:02:53.97
>>381
チュートリアルに書いてるじゃん

384:nobodyさん
13/11/09 22:59:18.49
え、IISかい。Apache使わないの?

385:nobodyさん
13/11/10 08:55:33.38 0LvUSNX1
すみません教えて頂ければ幸いです
CakePHP2.3でフォームで確認画面を制作しているのですがバリデーションが効きません
自分で調べていったんモデルにはセットするとの事で
$this->Model->set($this->request->data);
if($this->Model->validates()){成功の時の処理}
上記の様にしているのですがエラー等も全く出ずただバリデーションが効いていない形です
よろしければどなたか教えて頂けませんか

386:nobodyさん
13/11/10 11:47:08.36
どんなコードを書いているかも分からないのに答えようがない

387:nobodyさん
13/11/10 19:22:06.34
より高度なRoRに引っ越しすることをお勧めしよう
Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる

多くの有力企業が採用するRoRにようこそ

388:nobodyさん
13/11/10 20:12:12.51
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」
URLリンク(blog.sumyapp.com)

389:nobodyさん
13/11/10 20:28:10.59
>>388
書いてある内容がイマイチわからん。

390:nobodyさん
13/11/10 21:34:39.51
人の作ったプログラム触るのcakephpでも嫌なんだけど、俺だけ?
できれば一から作りたいと思ってしまう。

391:nobodyさん
13/11/10 22:07:59.18
>>389
CakePHPやる前にPHPはちゃんと理解してんだろうな?てことじゃないかな

392:nobodyさん
13/11/10 23:43:46.77
というか勉強しなきゃ使えないようなものか?て気がする

393:nobodyさん
13/11/11 01:04:57.32
cakephpやりながらphp覚えてもいいと思うね

394:nobodyさん
13/11/11 02:24:03.68
ここはやはりだめだ、Stackoverflowで聞いてくる

395:nobodyさん
13/11/11 06:16:43.22
それが2chというものだよ

396:nobodyさん
13/11/11 11:04:10.26
捨て台詞残さずにさっさと消えろよ

397:nobodyさん
13/11/11 12:40:31.09
>>394
解決していないのはどの質問だろうか?

398:nobodyさん
13/11/12 00:26:13.49 O3AZzxQU
1つだけのチェックボックスをcakePHPヘルパーを使ってレンダリングしようとしています。
その為に次のコードを記述し
echo $this->Form->input( 'totaling' , array(
'type' => 'checkbox',
'label' => false,
)); ・・・①

実行すると

<div class="input checkbox">
<input type="hidden" name="data[User][totaling]" id="UserTotaling_" value="0">
<input type="checkbox" name="data[User][totaling]" value="1" id="UserTotaling">
</div>

こんなコードが生成されてしまいます。

本当は次の様なタグが生成される事を想定しています。
①のコードの何処に問題があるのでしょうか?

<input type="checkbox" name="data[User][totaling]" checked="checked" id="UserTotaling">

399:nobodyさん
13/11/12 00:56:26.23
ヘルパーでタグ生成とかやめてほしいわ。
調べてみたけど、Railsもそうなんだろ?

HTMLはウェブデザイナーのもの
だからプログラミング要素を極限まで減らすべき。
そういった考えで作られた
フレームワーク(テンプレートエンジン)って
無いものかねぇ。

でも低機能なフレームワークを求めてるんじゃないんだ。
こういうinputみたいなものはそのままHTMLでかけて
面倒な部分を改善できるそんなフレームワーク

400:nobodyさん
13/11/12 01:00:45.10
あぁ、ぐちっちゃった。

>>398
その質問の答はCakePHP使ってないんで知らないけど、
なんでそんなコードが出力されるか知ってる?

それはチェックボックスは、
チェックしたらdata[User][totaling]=1が送られてくるけど、
チェックしなかった時data[User][totaling]=0ではなく、
なにも送られてこないんだよ。最終行のコードではね。

それの対策が 、「こんなコード」なわけ。
ここまで言えば、どうすればいいかわかるんじゃない?

そう、チェックしない場合に値を送る機能を
OFFにする設定があるはずだ。

401:nobodyさん
13/11/12 02:01:30.93
>>399
formヘルパーは使った方がいいと思うよ。htmlヘルパーは使わない方がいいかもだけど。

402:nobodyさん
13/11/12 02:22:03.84
同じくFormHelperやHtmlHelper嫌い。
でも、使わないとハマったり困ることあるから、しぶしぶ使ってる。

403:nobodyさん
13/11/12 08:35:49.27
>>399
JavaにはほぼHTMLをテンプレートに使えるのあるけどPHPは無理だろうな

404:nobodyさん
13/11/12 09:05:04.81
bakeのビューのテンプレートで、どこかにかっこいいの落ちてたりしないでしょうか
まあデフォルトのでもOKっちゃOKなんだけど

405:nobodyさん
13/11/12 10:32:08.86 ZxfwGxWG
>>400
サンクス。
checkboxをcakePHPのヘルパー使って書くとなぜ hidden が生成されるかの理由が分かりました。

406:nobodyさん
13/11/12 11:37:30.04
>>403
Javaってどれのことだ?

ZPT系を使えば良いだけだと思うんだが

407:nobodyさん
13/11/12 11:41:20.37
>>399
もはや、デザイナーとの役割分担のラインは変わってるよ
旧態依存の開発やってれば別だろうが

408:nobodyさん
13/11/12 13:01:19.39
FormHelper はタグのラッピングが頑固なところはあるな。
クラス名とか触れないところ多いし。
妥協すればとても便利なツールではあるんだが。

409:nobodyさん
13/11/12 13:42:41.13
Cakeのヘルパーみたいなローカルルール、外注のコーダーに教え込んで使わせる気にはとてもならんから
ヘルパー使ったこと無いわ

410:nobodyさん
13/11/12 16:29:44.75
>>403
まさかMayaaのことじゃないだろうな?

>>404
探せばBootstrapベースのがあるんじゃね。

411:nobodyさん
13/11/12 17:01:24.88
>>407
同意。CSSですら、Sass使ってプログラム的な管理するからな。
デザイナーはデザインだけやって、
コーディングはコーダーではなく、プログラマがやる時代になるよ

412:nobodyさん
13/11/12 17:02:26.87 GncxjoFv
プログラマ=コーダーだろ

413:nobodyさん
13/11/12 17:14:40.96
>>412
別の意味での旧態依存の世界の話だ

414:nobodyさん
13/11/12 17:33:48.33
どう考えてもフレームワークいじる奴とビュー作る奴は分担した方がいい

415:nobodyさん
13/11/12 20:55:59.85 jQBt36at
システムだと一通り何でも出来るけど
どうもWEBデザインがうまくないと自分でも思う。

どうやったら見栄えの良いサイトが作れるのかな?

先ずは何から勉強すべきですか?

416:nobodyさん
13/11/12 21:11:38.61
>>415
URLリンク(getbootstrap.com)

417:nobodyさん
13/11/12 21:17:21.91
>>415
Bootstrapとかの上からデザインしてくれるデザイナーがいっぱいいるよ

418:nobodyさん
13/11/12 21:22:11.96 jQBt36at
>>416 >>417
うーん。いまいちそのサイトのテンプレートもカッコよくないですね。
何かWEBデザイナの作成する様なスタイリッシュなデザインのサイトを自分で作れる様になりたいんですよね。

よく無料テンプレートサイトとかあるでしょ?
あーいうサイト(デザイン)テンプレートを自分で作れる様になりたいのです。

419:nobodyさん
13/11/12 21:39:26.80
>>418 PHPと全然関係ないけど、平面構成の本とか読んでみるのはどうかしら

420:nobodyさん
13/11/12 21:48:23.37
bootstrapのステマが酷い
スルー推奨

421:nobodyさん
13/11/12 22:04:10.58
ほれ bakeの解説

URLリンク(hijiriworld.com)

422:nobodyさん
13/11/12 22:16:50.91
なんかうまく読み込めないな、そのブログ
無駄にJS使うのやめて欲しいなあ、ただのブログのくせに

423:nobodyさん
13/11/12 22:23:23.76 jQBt36at
>>419読んでみます。

>>421
ステマ臭いけど確かに見易い解説サイトですね。
自慢したいのかしら。

424:nobodyさん
13/11/12 22:35:23.88
読んだけど初歩的なことしか書いてなかった
誰でも知ってることを丁寧に解説しても無価値だな

425:nobodyさん
13/11/12 22:36:21.38
まずは、グリッドデザインを勉強すればいいよ。
それがある程度できれば、崩してかっこいいデザインが出来るようになる。

426:nobodyさん
13/11/12 23:22:35.94 jQBt36at
ログインしていないと閲覧出来ないページにおいて
サーバ再度のバリデーションを作らずに
javascriptだけだと不味いですか?

427:nobodyさん
13/11/12 23:57:17.43 SAG0peet
ケースバイケース

428:nobodyさん
13/11/13 00:11:16.12
>>426 >>427
時間が無いので認証必須のページではJavaScriptだけ
実装していますが、セキュリティー的に問題は無いか若干心配しています。

そもそも認証されていないとサーバにどんな値がポストされようが
そもそもリクエストは遮断される筈なので安心

と考えているのですが・・・

429:nobodyさん
13/11/13 00:21:37.21
時間がないのに2chで質問は出来るんだな

430:nobodyさん
13/11/13 01:39:40.82
>>407

え? 役割分担が変わったって
まさか君んところはプログラマが大変な方向に変わったの?
大変だねぇ。間違った方向に進んでしまったね。

>>411
> 同意。CSSですら、Sass使ってプログラム的な管理するからな。
Sass使ったからって、プログラム的な管理をしたらダメだよ。

Sassは、文法的にはSCSSを使う。これでCSSと互換。
計算やifやforなどのプログラム的要素は原則として使わない。
今まで使わないでできたんだから、大半は使わないで出来るはず。

SCSSで使っていいのはネストとextendとplaceholder等
計算できるようになった。ifやループが出来るようになった。わーい。
なんて考えなしに使うから、プログラマしか扱えないようになるんだよ。

自分の仕事を大変にするようなことはするなよ。
他人でも出来るようにしておけば、自分が楽になるぞ。

431:nobodyさん
13/11/13 03:01:46.38
純粋な善意でもステマと言われるこのご時勢
嫌だね~

432:nobodyさん
13/11/13 08:46:45.51
役割分担が変わったのは自社サービスやってるとことかだろ
JavaScriptの問題だろ

受託とかのほとんどは役割分担かわってない

433:nobodyさん
13/11/13 09:09:21.54
JavaScript?

下手なプログラマが作ると、JavaScriptで
cssいじったりするよね。

そういう話だったら、プログラマが馬鹿なだけってことだけど。

普通はJavaScriptでいじるのはCSSクラス名だけで
原則としてCSSはいじらない。

434:nobodyさん
13/11/13 09:27:26.37
え?普通はJavascriptでCSSのIDもクラスもいじると思うが。
Googleのコーディング規約とか、そう書いてるよ。
どこの原則なのか気になるなー

435:nobodyさん
13/11/13 09:35:30.68
受託だろ

436:nobodyさん
13/11/13 09:39:16.24
お金のあるなし関係あるだろな。
デザイナにCSSもHTMLも任せた方が安上がり。

437:nobodyさん
13/11/13 10:23:29.63
もっと言えば、デザインもプログラムも扱える奴に
一括で任せたほうが安上がり。
CMS程度ならそれほどデザイン力も求められないしな。

438:nobodyさん
13/11/13 12:38:34.67
>>433はクラスやIDの操作までは問題にしてないと思う
CSSのプロパティの有無や値をJavaScriptで直接いじるのはよろしくないって意味だろ?
見た目とロジックを両方JavaScriptに任せるのはあまり良い設計じゃない

アニメーションなんかはある程度仕方ないけど

439:nobodyさん
13/11/13 12:57:43.60
>>438
役割分担のJavaScript部分で噛み付いてるから、もろ問題にしてる

440:nobodyさん
13/11/13 13:27:54.87 1DbvJ5ZT
>>437
なかなかいない。どちらかよりだろ。

441:nobodyさん
13/11/13 13:33:26.00
>>440
いると思うけどな。マッチングサイトとかその手の募集ばかりじゃん。
あんなもん、複数人数でやってたらどうやっても赤だよ

442:nobodyさん
13/11/13 13:39:20.44
>>440
基本プログラムよりだよ。デザインはテンプレ系で済ませて
これ以上のデザインは後からやってくださいってのが多い

デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
CSS被せてデザインする能力

443:nobodyさん
13/11/13 14:30:30.66
>>433
こないだやった仕事が、まさにそれをやっててイラっとした。
cssファイルを見ても何処にも書いてないスタイルがあっておかしいなと思ったら
$('#hoge').css()で色々設定してあんの。

あとついでに、cssもcssで、

.mB7{
margin-bottom: 7px !important;
}
.mB10{
margin-bottom: 10px !important;
}

みたいなのが、left top right bottom全部に、数px毎の間隔で定義してあって、すごい困った。

444:nobodyさん
13/11/13 21:38:36.71
>>442
> デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
> CSS被せてデザインする能力

CSS+HTMLだな。
CSSだけで完結することってないし。

当たり前だけど、HTMLとCSSはウェブデザイナーの仕事
Sassももちろんウェブデザイナーの仕事だよ。
あれはCSSの拡張でしかないんだから。
(Sassの動作環境を作るのぐらいは手伝うけど)

そしてこれも当たり前だけど、JavaScriptはプログラマの仕事。
ただし、JavaScriptでデザインを変えてはいけない。
変えるのはクラス名ぐらい。

テンプレートはHTMLがメインなのでウェブデザイナの仕事
テンプレート変数なんかはプログラマが特殊なタグを
置かせてもらってる的な感覚でやるべき。
ウェブデザイナーもバカじゃないので、教えたルールは理解してくれる。

ウェブデザイナーーが手に負えなくなるぐらいコードが含まれるのであれば
それはプログラマのテンプレートの使い方が悪い。

うーん、上で言ったのと同じことを言ってるだけだなw

445:nobodyさん
13/11/13 21:51:20.71
受託だろ

446:nobodyさん
13/11/13 21:52:31.94
>>443
>$('#hoge').css()

こうやるとコメントアウトが楽なんです。

って言われて俺もイラっと来た記憶ある

447:nobodyさん
13/11/13 22:17:37.75
htaccess使えないサーバでもCake2系を使う方法ってありませんか?

448:nobodyさん
13/11/14 01:37:31.90
あれ?PATH_INFOを使って動かなかったっけ?

449:nobodyさん
13/11/14 01:57:11.42
bootstrap3ってどう?
ここだとboostcakeか

450:nobodyさん
13/11/14 02:00:23.48
BoostCakeになってから、Bootstrapベースでのbake機能がなくなったから使ってないなぁ。
Bootstrap3ベースのスケルトンで良いのがあったら使おうかなって思ってるけど、
積極的には探してない。

451:nobodyさん
13/11/14 02:04:40.49
ありゃ、それはダメだね

452:nobodyさん
13/11/14 02:53:48.18
bootstrapはセマンティックじゃないから
使う気がしねぇ。
CSSの文化に逆行してる。

453:nobodyさん
13/11/14 04:30:33.71
cakephp初心者なんですけど、phpの関数ってcakeでも使えますか?
前のページのURLを取得したいんですけど


454:nobodyさん
13/11/14 05:08:41.87
・・・流石に呆れて閉口だわ

455:nobodyさん
13/11/14 05:10:58.85
>>453
使えるよ

456:nobodyさん
13/11/14 11:45:51.79
>>452
そういうのをこだわる人は
Bootstrapで使ってるLessを読み込んで
セマンティックに使うことができますよ

SASSとかでもできるな、変換されたのあるしね

457:nobodyさん
13/11/14 12:14:49.49
ロマンティック

458:nobodyさん
13/11/14 14:08:00.47
SASSって言っても、HTMLやCSSはセマンティックになるんだろ?
bootstrap方式だと
<div class="red line box">
みたいな感じだけど、セマンティックなら
<div class="main-box">
みたいにするよな。

459:nobodyさん
13/11/14 15:30:11.14
>>458
使い方の問題。
ああいう系のCSSそのまま使ったら
どういう作り方、使い方してもセマンティックにならない

460:nobodyさん
13/11/14 15:32:38.35
URLリンク(semantic-ui.com)

どう思う?

461:nobodyさん
13/11/14 15:50:12.29
>>460
<main class="ui three column grid">

こういうのがもう嫌気さすわ。CSSの意味があるのかと

462:nobodyさん
13/11/14 15:56:57.10
>>458
echo '.main-box { .box; .line; .red; }' > less/my-components.less
echo '@import "my-components.less";' >> less/bootstrap.less
grunt

BootstrapもLESSも使ってないからよく分からんがこれでいいだろ
要らんクラスが出来てもいいならだが

463:nobodyさん
13/11/14 16:15:36.03
>>458
の1行目が理解できないのだが

464:nobodyさん
13/11/14 17:05:51.55
Bootstrapのスレ荒らしてた奴と
セマンティックって騒いでる奴が同じ奴に思える

465:nobodyさん
13/11/14 17:18:19.93 UudgqYGt
初心者なのですが、ログインしたユーザーが登録情報を更新できるようにしたいのですが、users/editにアクセスしたときにログインユーザー以外は弾きたいです。Controllerは
public function edit($id = null) {
$this->User->id = $id;
if (!$this->Auth->user('id') == '$id') {
throw new NotFoundException(__('ユーザー違います'));
}

URLを他のログインしていないユーザーに変えるとそのまま表示されてしまいます。
どうすればログインユーザー自身の情報のみを表示できるのでしょうか?

466:nobodyさん
13/11/14 17:37:41.41
>>465
cookbookでAuthの説明読めよ
$this->Auth->deny('edit');
を書いて、認証が必要なページを指定すればいいだろ

467:nobodyさん
13/11/14 23:18:44.29
>>464
俺にはお前が、そのBootsrapのスレで
こてんぱんにやられた奴に見えるよw

468:nobodyさん
13/11/14 23:28:19.13
>>467
負けてたのおまえのほうじゃん

469:nobodyさん
13/11/15 00:30:04.73
>>468
いや、俺はそのスレなんか知らんよ。
俺はそのスレを見たことないが、
お前がそのスレにいたことは、お前の発言から確かだろう?
そしてその出来事を今も忘れなれない。
思い出してしまう。君、病気だよ。

470:nobodyさん
13/11/15 00:33:55.48
そもそも「負けてた」ってのから、何と戦ってるんだって話だがw

471:nobodyさん
13/11/15 00:44:32.60
俺ROMってたけど
SASSとBootstrapという
場違いの喧嘩を売ってた奴がいたって感じだったな

472:nobodyさん
13/11/15 01:33:42.42
まぁそんなにセマンティックとかに明るくない俺でも、
Bootstrapは使ってみると、騒がれてるほど洗練されてないなとは思った。

でも楽なんだよねぇ。
とりあえずclass="well"って書けば、無難な枠ができるし。
wellの中にちょっとした欄外のボックスが欲しくなって、
あと2個くらい枠の種類があればなとか思い始めてしまう。

473:nobodyさん
13/11/15 04:03:21.24
ただ問題は、HTMLが醜くなるのと
メンテナンス性が下がるっってところだよな。

いざデザインを変えようと思うと、
CSS的には、CSSファイルを弄るだけのはずのことなのに、
Bootstrapを使うと全HTMLファイルにわたって
参照箇所を探して個別に修正しないといけない。

これもう普通のCSSの使い方じゃないよ。

474:nobodyさん
13/11/15 11:12:17.32
Bootstrapとかああいう系がセマンティックなはずがない

475:nobodyさん
13/11/15 14:16:20.80
>>473
俺もそう思う。やたらOOCSSなんて言われてるから
CSSもオブジェクト指向型に変えないといけないのかと悩んでいるが、
HTMLやCSS両方変更しなきゃいけないってのに違和感あるわ

476:nobodyさん
13/11/15 14:27:36.43
>>475
Bootstrapをただ使うだけだとOOCSSとは言わんと思うよ。
OOCSSはSASSとかLESSとかあそこらへんで組まないと。

そうするとHTML変更する必要はなくなる。

477:nobodyさん
13/11/15 14:27:39.11
OOCSSで一番悪なのはextendこれに気づかない奴が多い
extendが入るとOOCSSではなくてOOSSになることに気づかない

478:nobodyさん
13/11/15 14:36:44.68
>>476
SASSとかLESSって結局は新たなCSSが作成されるわけだろ?
PHPで言えば、includeした後のファイル(HTML)になるというか。

だから、HTML側は
class="well"じゃなくて、class="weel-box"みたいに固有名になると思うんだが。
つまり、Bootstrapみたいな書き方にならないと思うんだが、間違ってる?

479:nobodyさん
13/11/15 14:42:57.08
>>478
あってるよ。

Bootstrapは今はやってるようなただ使うってこともできるけど、
LESSのライブラリとして利用することもできる。

480:nobodyさん
13/11/15 15:25:51.04
余所のスレでセマンティックしてくれ

481:nobodyさん
13/11/15 19:56:55.32
ロマンティックは夜のデートで。

482:nobodyさん
13/11/15 22:19:35.59
OOCSSをちゃんとやるには、Sassが必須ということ。
Sassを使わないでOOCSSをやろうとするとはメンテナンス性が
悪いものになってしまう。

そもそもSassはオブジェクト指向を取り入れて作ったCSS言語で
OOCSSで言ってることは、Sass利用者は普通にやっている。

で、Bootstrapの一般的なサンプルはSassを使わない
OOCSSになってるからメンテナンス性が悪い。

何がダメかというとclassに割り当てたいスタイルを羅列するやり方。
正しいCSSをメンテナンス性を保ちながら書くにはSassが必須。

まとめると、SassがCSSを超えた言語。これが基本。
OOCSSは考え方であって実態はない。
BootstrapはただのCSSデザイン集。

483:nobodyさん
13/11/15 22:24:05.29
>>482
Sassはextendsがちまたで問題になってるし好きじゃない

484:nobodyさん
13/11/15 22:26:24.01
>>482
出たSass信者
盲目って怖いね

485:nobodyさん
13/11/15 22:30:06.73
>>483
extendsの問題って?Sassには@extendがあるが、
そのほかのextendsの話とごっちゃにしてるでしょ?
それか古いSassでPlaceholderがなかった頃の話をしてるとかだろうね。

>>484
でたSassアンチ
たいていこいつらは、
理由を何も言わないんだ。

486:nobodyさん
13/11/15 22:33:30.11
しばらくsassのサイト見てなかったけど、
電話のお姉さんどこいった?w

487:nobodyさん
13/11/15 22:36:21.54
「ある人に魚を一匹与えれば、その人は一日食える。
魚の取り方を教えれば、その人は一生を通して食える。」

という言葉がある。

Bootstrapは誰かが作ったCSS。
Sassは自分でCSSを作るよりよい方法。

488:nobodyさん
13/11/15 22:58:23.33
>>485
Sassアンチなわけじゃないぞ
SassだけがOOCSSの答えじゃないって意味だ
普段もJS縛りがなければ使ってるし

extendが使えるって主張する人多いけど
書いてるコード量一緒、メンテナンス性一緒
吐かれるCSSが違うだけ

デザイナと仕事するときはLessの方がまだ理解してくれる

489:nobodyさん
13/11/15 23:03:55.67
CSSの話しはスレ違いだからやめません?

490:nobodyさん
13/11/16 00:37:07.43
>>488
lessもextend実装されそうな流れみたいだけど?

URLリンク(webtech-walker.com)

extendを使ったほうが自然な場合に
使えばいいだけじゃん。
無理して他のを使う必要はない。

extendが問題になってるって話じゃなかったの?
「extendじゃなくても同じことが出来る」という話は
exntedが問題になってる理由にはならないよ。

491:nobodyさん
13/11/16 01:39:48.43
>>489
この話やめると過疎るしいいんじゃね。
CakePHPの質問がきたら誰かしら答えてるし。

492:nobodyさん
13/11/16 03:00:40.54
この話にかぎらず、やめるとかやめないとか
そういうのは勝手にやるから
仕切っても無駄だよ。

493:484
13/11/16 07:54:37.23
>>490
他人の発言混ぜないで。

Lessにも実装か、PullRequestが結構昔に投げられてたもんね

494:nobodyさん
13/11/16 22:07:19.93 Rk/pBkL7
これまでcakePHPのシェル(Console)実行は、TeraTermでWEBサーバに接続してシェルを実行していたのですが
これだと知識のある人しかできないので、

cakePHPの認証機構で構築されたシステムにログインし
【***処理実行】といったリンクがクリックされるとコマンドラインから実行するのと
同じ事をバックグラウンドでやりたいと考えています。

何か良い方法はありませんか?

495:nobodyさん
13/11/16 22:23:02.69
テーブルの中に入力項目があり
検索ボタンを押して検索が走る仕組みにしています。

<form name="name_search" action="/hoge/search" method="post">
<table>
<!-- 入力項目~略~ -->
</table>
</form>
<input type="button" value="検索する" name="" style="">


どうもPOSTが走ってる気がしないのですが、
コードに間違いは無いでしょうか?

496:nobodyさん
13/11/16 23:20:57.91
>>494
いい方法かどうかは知らんが、手っ取り早く、exec()とかsystem()すればいいんじゃないの?
ただ、お勧めはしないけど。

シェルでどんなことをしようとしてるのか知らないけど、開発中に使うbakeとかそういうのなら、
知識を付けろって話し。

ってか、そもそも、管理画面からクリックで実行する機能なら、シェルじゃなくて普通に実装したらええやん。
管理画面から実行できる機能が、cronからも実行したいみたいな話なら、まぁありえるし分かるんだけど。
その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
App::import()すればいいんじゃね。

497:nobodyさん
13/11/16 23:23:16.88
>>495
CakePHPの前にHTMLから勉強しろw
inputがformの外にあるじゃねーか

498:nobodyさん
13/11/16 23:29:51.46
www

499:nobodyさん
13/11/16 23:42:15.65
>>494
現在teraterm でシェルを実行していたのなら
バッチファイルをダブルクリックさせて、
内部でSSHを呼び出してリモートのコマンドを
実行すればいいだけじゃん?

500:nobodyさん
13/11/16 23:43:19.37
>>495は優秀。
再現可能なコードをちゃんと書いて
質問している。

501:495
13/11/17 01:46:08.06
>>497
formの中に入れてもう一度試してみます。


>>500
ありがとうございます。頑張ります。

502:494
13/11/17 10:01:58.45
>>496
なぜシェルで作っているかというと cronで回しているからです。
しかし、基本的にはcronでシェルをキックしていますが
特定の条件の時にはユーザが手動でシェルを実行する必要があるのです。

かといって一般ユーザにシェルを実行させるとかも
危険なので、シェルを管理画面上からも実行させたいと思っています。


※結構複雑な処理です。

>>499
そーいう手もありますね。。。
ですが管理画面上から一度に出来ないものかと。。。

503:nobodyさん
13/11/17 15:42:23.43
>>502
ん?だから
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
> そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
> App::import()すればいいんじゃね。

504:nobodyさん
13/11/18 12:55:59.49
>>503
サンクス
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
試してみます。

505:nobodyさん
13/11/18 15:30:58.69
cakePHP2で検索を行うプログラムを書いています。
検索条件が複数項目あり、複数の組み合わせで指定可能な場合において
ユーザが指定をした検索条件で、conditionに動的に検索条件をバインドする良い方法はありますか?
現在は、毎度ifで分岐してcondtionコードを書いており効率の悪さを痛感しています。

①ユーザIDだけ指定した場合
'user_id' => '333'

②ユーザID、年齢を指定した場合
'user_id' => '333',
'age' => '44'

③ユーザID、性別を指定した場合
'user_id' => '333',
'sex' => '0'

506:nobodyさん
13/11/18 17:02:23.94
>>505
サーチプラグイン使えばいいんじゃないの?

507:nobodyさん
13/11/18 18:19:43.56
>>505
Searchプラグイン使わないとか、罰ゲーム?

508:nobodyさん
13/11/18 18:53:39.61
>>506 >>507 
cakePHPだけではそういった機能は無いのですね。

Searchプラグインとかちゃんと動作するかちょっと心配だったりします。

509:508
13/11/18 18:56:37.22
サーバ変えた時とかめんどくさそうなので地道にif分岐
させてやる事にします。

510:nobodyさん
13/11/18 19:01:09.34
>>509
意味わからん

511:nobodyさん
13/11/18 19:07:25.95
>>509
の文章とか普通に分かり易いじゃん。
理解出来ない人って頭大丈夫かな。

512:nobodyさん
13/11/18 19:14:07.40
いや俺も意味わからんし

513:nobodyさん
13/11/18 19:14:32.25
>>511
サーバ変えたときに面倒になる実装ってどんなんだ?

514:nobodyさん
13/11/18 19:16:28.18
サーバー変えたら何が変わるんですかね…

515:nobodyさん
13/11/18 19:20:29.41
エスパーな511が何を分かったのか気になる

516:nobodyさん
13/11/18 19:23:26.86
>>513
サーバ変えたらまた search プラグインの設定せねばならん
面倒だーって事でしょ。

それくらい小学生でも分かると思うけど。

517:nobodyさん
13/11/18 20:09:16.65
>>516
お前だけ噛み合ってないぞw

518:nobodyさん
13/11/18 22:03:29.92
あえて苦しい道を行くか・・・

519:nobodyさん
13/11/18 22:41:02.59 HBQEtXMZ
サーバーごとに設定が必要な Search プラグインっていうのを教えて欲しい。
いや、やっぱりいいや。

520:nobodyさん
13/11/19 00:24:04.47
cakephpやってりゃサーチプラグインは必須レベルだと思うんだけど。

521:nobodyさん
13/11/19 00:31:47.95
>>520 が使ってるサーチプラグインてサーバーごとに設定が必要なの?

522:nobodyさん
13/11/19 01:03:09.36
>>521
必要じゃないね

523:nobodyさん
13/11/19 05:39:12.52
まあcakeやphpのバージョンがコロコロ変わってそのたびに使えなくなるんだろうなと思うと
プラグインに頼りたくない気持ちはわかる

524:nobodyさん
13/11/19 10:30:58.16
まぁちゃんと調べて検証してから使ったほうがいいのは確か。
サーチはもう定番だと思うけど、同じCakeDCでもユーザープラグインはクソだし。

525:nobodyさん
13/11/19 14:07:12.30
サーチプラグインはルーティングしていると困るときあるからな
今までIFでやっているならIFで独自コンポーネントでも作ればいいじゃん

526:nobodyさん
13/11/20 09:40:20.78
findがネスト配列返してきて衝撃を受けたんだがパフォーマンスの問題なのか?
PHPが配列処理に強いから特性を活かすとかそういう話か?
なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう

527:nobodyさん
13/11/20 11:35:26.62
>PHPが配列処理に強いから特性を活かすとかそういう話か?
そうです

>なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう
Hash クラスを使いましょう

Hash のコード見ると、こんなことするぐらいなら
オブジェクトで返しておけよ! と思うがなw

528:nobodyさん
13/11/20 12:06:21.22
CakePHP3まで耐えるんだ

529:nobodyさん
13/11/20 12:14:01.60
ただでさえPHPの配列遅いのに

530:nobodyさん
13/11/20 19:29:25.32 sxeXAx98
CakePHP:save()を使ってテーブルのレコードをupdateしようとしていたのですが
そもそも、cakePHPの場合には、複数の主キーが設定されている場合には
saveメソッドを使ってupdateは出来ないのでしょうか?


id だけじゃなくて
id と sequence_number の2つが hoge テーブルの主キーの場合とか
って普通にSQL分を投げるしかないですか?

531:nobodyさん
13/11/20 21:17:34.01
>>530
複合キーは使えないよ

裏技的なプラグインか何かがあった気がするが、失念

532:nobodyさん
13/11/20 21:19:13.23
×複合キー
○複合主キー

533:nobodyさん
13/11/22 13:52:04.15
艦これのサーバサイドってCakeだったのね

534:nobodyさん
13/11/22 14:47:24.43 V2BhDK+1
>>531
そうなのね。諦めました。

地道にupdate分を投げます。

535:nobodyさん
13/11/22 15:48:01.98
CakePHPに限らず、大抵のフレームワーク、というかORマッパーは、
複合主キーはサポートしないか、してても無理やり感のあるものだよね。

536:nobodyさん
13/11/22 15:57:57.23 W1kV2v2N
なんで複合主キーはダメなのさ。

537:nobodyさん
13/11/22 17:52:26.73
>>536
嫌なら使うな、というと厳しいが、
fw使うってそんなものだと思う。

538:nobodyさん
13/11/22 18:01:15.94
>>533
ソースは?

539:nobodyさん
13/11/22 18:26:27.31 4CXM4jc6
cake初心者なんですけど、リダイレクトしたらっていう条件式って作れますか?
すべてのページを指定するのは賢くないと思いまして…

540:nobodyさん
13/11/22 18:40:09.88 UUBP/xq0
>>537
じゃ、諦めるわ。

541:nobodyさん
13/11/22 20:34:04.53
複合主キー対応してないのってRailsもどきで対応できてない奴だけじゃない?

542:nobodyさん
13/11/22 21:35:11.99
複合主キーにする設計自体どうなのかと思わないでもない

543:nobodyさん
13/11/22 21:44:16.48
>>539
session 使うしか思いつかないが、
やってやれないことは無いと思う。

544:nobodyさん
13/11/22 23:24:16.29
現在サクラインターネットを使っています。

そしてソースコード一式のバッグアップ処理にTeraTermマクロでログインし
手動で以下の様なコードを実行しています。

tar czvf file_1_2.tar.gz file_1 file_2


しかし、毎度手動でこのコマンドを実行するのは不便なので(かといってcronは使いたくない)
TeraTermマクロから自動でログインと同時に、特定のコマンドを発行する方法とかってありませんか?

545:nobodyさん
13/11/22 23:27:18.44
Cake関係なさすぎワロタ

546:nobodyさん
13/11/23 01:58:50.84
>>544
マクロなんか使う必要ない。

SSHの引数にコマンド書けばいいだけ。
ログインのパスワードはカギを使えばいいだけ。

547:nobodyさん
13/11/23 12:13:55.44
>>546
詳しすぎわろた

548:nobodyさん
13/11/23 12:27:27.10
あー、そっか、ワンライナーで書けるんだ。

549:nobodyさん
13/11/26 03:02:20.11
一からサイト作るの好きなんだけど、
作ったサイトを改造するのが苦手なんだよね。

やっぱりみんなもそんな感じ?

人の作ったコードを触るのが先って人もいるのかな。

550:nobodyさん
13/11/26 03:29:46.00
好きってひとも

551:nobodyさん
13/11/26 05:56:36.78 2m7znfvZ
>>549
たぶん全員がそうだろ

552:nobodyさん
13/11/26 08:59:27.15
まずコードの意図を読むのに時間かかるからね
数カ月前の自分が書いたコードでもたまに分からないし
テストが書いてあったらそれはとっても嬉しいなって

553:nobodyさん
13/11/26 09:09:47.39
何らかの有名MVCフレームワークを利用したものなら
MVCという大枠とそのFWの規約とドキュメントがあるだけマシ

554:nobodyさん
13/11/26 09:26:27.15
>>552
おれおれフレームワークなんて、わけがわからないよ。

555:nobodyさん
13/11/26 11:33:42.73
俺はCake風(ただし1.3)のオレオレ作ってるから、割と理解できるな。
ただし、そこからカスタマイズ依頼とかされたら困るが。

556:nobodyさん
13/11/26 12:09:28.97
オレオレやってしまうと、せっかくのオープンソースの魅力が半減する。

557:nobodyさん
13/11/26 17:50:46.60
xampp
Cakephpvar2.3.10
でSmartyの3.1.15導入してみた。
tplファイルがない場合に選択されるctpファイルでの表示がおかしい。
HtmlHelper関連だと思うのだけどどなたか解決方法教えてください

558:nobodyさん
13/11/26 18:08:22.89
>>553
wordpressのプラグインとか作ってても
ドキュメントに無いソースの奥に眠る関数とか探して調べるのにすごい疲れたわ

559:nobodyさん
13/11/26 20:04:02.44
(WP早く滅びて)

560:nobodyさん
13/11/26 20:20:25.47
>>559
わかるわー。
WordPressが無ければどれほどプログラマーが稼げてたか。

561:nobodyさん
13/11/26 20:29:19.30
せめてまともなプログラマがWordPressを書いていれば…
あんな意味不明なぐちゃぐちゃなコードどうやってメンテしてんだろう

562:nobodyさん
13/11/26 21:37:55.32
>>561
大成できないタイプだな

563:nobodyさん
13/11/26 22:03:23.94
WP使えばなんでも安く・早く・簡単に出来ると思い込む奴ってなんなの?

564:nobodyさん
13/11/26 22:05:01.70
プラグインの多さだけがとりえですしお寿司

565:nobodyさん
13/11/26 22:30:57.24 nldP7I2h
wordpress って最高だよね。
無料でここまで何でも出来るCMSとかこのスレの馬鹿グラマには出来ないでしょうね。

566:nobodyさん
13/11/26 22:48:15.61
お前らがWPに恨みたっぷりなのは分かった
せめてCakePHPで作られたCMSの話を……

567:nobodyさん
13/11/26 22:50:57.41
>>557
Smartyを破棄する

568:nobodyさん
13/11/27 00:18:20.01
CakeでもWPでも仕事するしおすし。
CakePHPベースのCMSは、なんかなぁ、
どうせCakeなら自分で好きなようにしたくなっちゃう感じする。

569:nobodyさん
13/11/27 00:25:51.15 Rk4EDw/d
wordpress って素敵だなぁー

570:nobodyさん
13/11/27 01:30:39.60
>>569
ユーザーから見える所はな

571:nobodyさん
13/11/27 01:57:50.96
ユーザー数が多いからWordPressには安心感があるよ。
どんなにドツボにはまってても、
あぁ、この泥沼に世界中の見知ら人が
何万と埋もれてるんだろうなという
温もりがWordPressにはある。

572:nobodyさん
13/11/27 03:22:25.52 mdMZh+Ob
最強に糞だったCMS

Moval Type

573:nobodyさん
13/11/27 06:23:21.20
>>572
スペリング違うけど、クソなのは同意。2.xに初めて触ったときは感動したけど、4.xで卒業したよ。最近のは知らない

574:nobodyさん
13/11/27 22:12:09.37
だからさぁ
cakeもプラグインをもっとメジャーにしようよ
wordpress派も流れて来るから

575:nobodyさん
13/11/28 01:28:07.13
こないこない
wordpressはphpなんて知らない人用のもの

576:nobodyさん
13/11/28 06:31:59.63
新人研修で、汚いプログラムの例としてWordPressのソース見せてる

577:nobodyさん
13/11/28 10:50:04.35
うちの研修では、
商業的な成功には理念的な完成度は不要である例として
WordPressを引き合いに出してる。

578:nobodyさん
13/11/28 11:11:40.35
WordPressって商業的に成功してんの?
無料配布でしょ?

579:nobodyさん
13/11/28 11:35:10.00
URLリンク(allthingsd.com)

>>578
かなり儲かってるよ

580:nobodyさん
13/11/28 11:36:57.69
URLリンク(www.crunchbase.com)

581:nobodyさん
13/11/29 02:16:14.63
Fat Controllerはもちろんだめ。
Fat Modelになりすぎてもだめ。
むずかしいよ、最初からそんな見通せないから、ついモデルに書いて太らせてしまって、
行数増えすぎてからうあーってなるよ。
ComponentとBehaviorも、気軽に作ってると数ばっか増えて、煩雑になってくる。
特にComponentが、コントローラーにもモデルにもアクセスできちゃうから、
つい責任持たせすぎになっちゃうよ。

582:nobodyさん
13/11/29 06:26:18.01
>>581
うあーってなるん?

583:nobodyさん
13/12/01 15:08:36.60
会社のサイトに簡単なメールフォーム付けようと
久々に素のPHP書いたら、メチャクチャに面倒臭く感じた
でもそれだけにCakeとか使うのもなあ…。

584:nobodyさん
13/12/01 16:08:25.46
>>583
ちょっと大きめのライブラリを導入した、ぐらいに思っておけば幸せかもよ

585:nobodyさん
13/12/01 18:00:34.36
>>583
それ単に、メールの仕様が複雑なだけだから。

586:nobodyさん
13/12/01 21:20:50.87
メールフォーム作るなら既存の小さいライブラリ使いたいな
メール用にはSwiftMailer選ぶんだけどバリデーションの部分はたまに悩む

Symfony2みたいなコンポーネントごとの独立性の高いFW知ってるなら
一部のコンポーネントだけ使えばいいらしいが

587:nobodyさん
13/12/01 21:35:29.81
Cakeでも頑張ればいけるんじゃね
メール:CakeEmail
バリデーション:Model/Validator
フォーム:Formヘルパー

いや面倒だな`,、('∀`) '`,、

588:nobodyさん
13/12/01 21:58:22.92
cake関係ないかもしれんけど、フルスクラッチっていうの?サイトのシステムを全部作り直すのってどれくらい経過してからやればいい?

cakephp1のシステムを1年前に作ったんだが2で作り変えるか。。。迷い中。

ヤフーとかグリーとかミクシーみたいなでかい企業はどれくらいの頻度でやってるんだろ?

589:nobodyさん
13/12/01 22:06:14.84
>>588
そういう企業は複数のシステムを持ってるものだから、一気に全部を作り直したりはしない
少しずつ手を付けていく

590:nobodyさん
13/12/02 00:36:17.56
お問い合わせフォームのように、一部だけCakeで作ろうとしても
大体は「全体のデザインの中にフォームがある」ってスタイルになるから、
レイアウトやテンプレートをCakeで作らなければいけない。

そうなると、元々ある静的な部分を更新したら当然Cake側も更新しないと
整合性が取れないわけで、手間やコストが2倍に膨らんでしまう。

結局、Cakeやフレームワークを使うなら、全てそれで管理しないといけなくなる。

591:nobodyさん
13/12/02 09:12:38.83
Cake関係ない話だけど
ちょこっと導入できるような小さなメールフォームのライブラリが、案外ぐぐっただけじゃ見つからなくて
これ以上探す時間が勿体無いから自分で書こうと思った
CAPTCHAのライブラリはすぐ見つかったので、それはさくっと採用したけど

とにかくさっさと動くようにして終わらせたくて、テストも書かずに作ったので
ブラウザでいちいち動作確認して、面倒臭かった

592:nobodyさん
13/12/02 09:38:56.13
>>587
CakePHPの一部をコンポーネント/ライブラリとして他所で使う例を調べようと思ったが
CakeのControllerのComponentの話とCakeにサードパーティのライブラリを導入する話しか出てこない

593:nobodyさん
13/12/02 18:03:31.67
上でメールフォームの話題が出てるから試してみたんだけど、

/public_html
└contact.php
/cakephp
└/app
└/webroot

こういう構成だったとして、contact.phpにアクセスしたら
ContactControllerのindexを実行したいと思い、

#contact.php
$_GET['url'] = '/contact/';
require '../cakephp/app/webroot/index.php';

#webroot内の.htaccessのindex.php箇所
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

こんな風にしてURLリンク(example.com)にアクセスしたんだけど、
「Contact.phpController could not be found.」ってエラーが出た。
やっぱ、public_htmlをアプリケーション化しないと無理なのかな?

594:nobodyさん
13/12/03 00:14:57.84
突っ込みどころ満載すぎてどこから書けばいいのか

595:nobodyさん
13/12/03 08:50:43.83
>>594
一個ずつ突っ込んでくれ

596:nobodyさん
13/12/03 09:30:31.38
>>595
漫才みたいになるけどいい?

597:nobodyさん
13/12/03 13:43:20.44
OK

598:nobodyさん
13/12/03 14:19:05.43
まず、ファイルとかパスの名前を正しく書け。
全部小文字なわけがない。

599:nobodyさん
13/12/03 16:50:09.45
>>598
え??

600:nobodyさん
13/12/03 18:25:14.17
はい、ネタ続けて!

601:nobodyさん
13/12/04 09:36:02.64
メールフォームだけ作るのって、逆に面倒でもはや他の人に投げたいレベル。
なんか公開されてるのでやろうと思っても、なんか古いCGIを思い出させるのしかないんだよねぇ。
ちょっとバリデーションのところをカスタマイズしたいなと思っても、手を入れにくいし・・・

602:nobodyさん
13/12/04 09:51:23.15
PHPはいつまでも古い情報が検索の上位に出てくる
たとえ情報が間違っていて時代遅れでも検索上位にあるから初心者に利用されやすい
どんどん変なやり方や糞なプログラムが広がる負の連鎖を断ち切れなくなっている

The Right Wayみたいなベストプラクティスをまとめたサイトが現れるってことは英語圏でも事情は同じってことだな

603:nobodyさん
13/12/04 09:55:24.07
PHPを書いている人はあまり小さいライブラリを活用しない印象があるなあ
素のPHPかフルスタックフレームワークか完成品かという感じ

604:nobodyさん
13/12/04 09:57:37.43
どうでもいい雑談になっちゃうけど
htmlspecialchars_decode ってすごい関数名だよなあ
じわじわ笑いがこみ上げてきた、どうしてこうなったんだろ

605:nobodyさん
13/12/04 10:09:33.35
>>603
メールフォーム程度だと悩む
まともにテストしてあるライブラリを探す手間を惜しんで
自分で全部書いてPHPの謎関数名や謎仕様を再び実感する羽目になる

606:nobodyさん
13/12/04 10:49:10.54
だいたいメールフォームってPHPを勉強しだした頃に作るからな。
当然、その頃と今ではだいぶ書き方も変わってるわけで、
「昔自分が作ったプログラム」を使いたくないから、1から書きたくなる。

607:nobodyさん
13/12/04 23:45:10.66
>>604
もともとオブジェクト指向ではなくて
名前空間がなかったから。
名前が被らないようにしようと思えば
どうしても名前は長くなる。

608:nobodyさん
13/12/04 23:46:52.74
>>605
メール受信じゃなくて送信だろ?
HTMLメールや添付ファイル付きメールを
送ろうとでも思ってるの?

メールフォーム程度なら
文字をエンコードする程度で終わりだろ?

609:nobodyさん
13/12/05 00:13:14.38
>>608
画像認証

610:nobodyさん
13/12/05 00:24:35.97
真面目にやるなら外部からの入力は徹底的にチェックするのが基本だよな
GETほど手軽じゃないにせよPOSTのパラメータだってCookieだってリクエストヘッダだって好きにいじれるんだから
自分が書いたHTMLのフォームで設定した以外の値が送られてくる可能性は大いにある

それに一口にメールフォームと言っても入力が名前とコメントだけのものから企業のアンケートフォームまで色々ある
電話番号・郵便番号・メールアドレス・整数……よくある項目に対して毎回1から入力チェックを書く気はしないな
CSRF対策や二重送信防止・画像認証も1から書くのは時間の無駄だし

確かにCakeを持ち出すのは大げさかもしれんが馬鹿が素で書くよりマシじゃね

611:nobodyさん
13/12/05 00:41:23.84
今どきメールフォームを1から書いて割に合うの?
Webサイト全体をCMSやFWで構築するって話だとフォームは標準装備って感じじゃない?
昔みたいにメールフォーム設置3万円~とかまかり通らないでしょ?

おしえてぷろのひと

612:nobodyさん
13/12/05 09:41:31.15
cake2系に対応したbaserCMS3がついにリリースされたそうな
URLリンク(basercms.net)

613:nobodyさん
13/12/05 10:21:18.03
で、Cake3のリリースが迫っていると・・・

614:nobodyさん
13/12/05 10:27:58.21
こないだやっと苦労してCake2にしたばかりなのに、もう3へ以降なんてやらんぞ

615:nobodyさん
13/12/05 10:38:50.61
>>614
basercmsってcakephpプログラマーからして使いやすいん?
使ったこと一度もないわ。

616:nobodyさん
13/12/05 10:45:00.73
CMSって言っても特別な機能が入ってるわけじゃないし、
cakeに慣れてる人はcake使うからなw

617:nobodyさん
13/12/05 12:08:21.04
ようやくCakePHP2になったとはいえ、基本的に古いCakeになるから、
Cakeベースってとこも、最新のが使えないという不便さはあるしなー

618:nobodyさん
13/12/05 12:23:17.69
今、静的ページと動的(Cakeベース)ページの共存作業をしてるんだが、
レイアウト使わないほうがいいな。
ヘッダー、フッター、サイドバーなんかはelementでまとめて
ピュアPHPのようにHTML上にコード埋め込む形の方が、
デザイナーとの共同作業時に捗るわ

619:nobodyさん
13/12/05 13:37:55.86
baserCMSは触ってみたけどCakeなだけあってWPよりは断然構造把握しやすかった
カスタムできるお問い合わせフォームがついてるのは嬉しい

ただプラグインもテーマもまだまだ少なすぎる
デフォの機能で間に合うサイトなら使えなくもないかな―

620:nobodyさん
13/12/06 02:33:30.99
>>618
それで捗る理由がわからん

621:nobodyさん
13/12/06 09:58:37.69
>>620
レイアウトだとCakeの言語要素が強いから理解するまで難しいけど、、
elementだけなら、includeとかDreaweaverの挿入感覚で使用できるから、
Webデザイナーは一部の修正だけで済み、言語知識を必要としない。
故にWebデザイナーへの説明や、ビューの修正を依頼するときにわかりやすく、
自分の仕事(プログラミング)に専念できるから捗る。

ここまで書く必要ありましたかね・・・

622:nobodyさん
13/12/06 10:13:37.67
>>621
わかりやすくて良い!

623:nobodyさん
13/12/06 11:24:56.76
バーチャルホスト設定しているCentOSのサーバでCakePHPの勉強をしたいのですが、

/home/hoge/public_html
/home/fuga/public_html

こんな2つのディレクトリがあった場合、各public_html直下に
Cake本体のディレクトリを配置する感じになるんでしょうか?

624:nobodyさん
13/12/06 12:02:18.41
>>621
レイアウトもエレメントも同じ仕組みで出来てるし、
その説明読んでも、あえて避ける必要性を感じないなぁ。
自分のアプリの見直してみても、
レイアウトもエレメントもビューも、全部HTMLに多少のifやforeachやヘルパーが入ってるだけで、
レイアウトだけなにか難しいってのは無いように見える。
てか良く考えたら、デザイン側の人にわかんねぇよって言われたこと無かった。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch