トップページ⇒php
1002コメント356KB

【PHP】フレームワーク CakePHP 17ホール目【v3α】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2014/08/02(土) 21:57:41.01ID:LI0DdohH
CakePHPは、Ruby on Railsの概念の多くを取り入れた、高速開発とPHPの機動性を兼ね備えたフレームワーク
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
cookbook(マニュアル)
[3.x] http://book.cakephp.org/3.0/
[2.x] http://book.cakephp.org/2.0/ja/
[1.3] http://book.cakephp.org/1.3/ja/
Twitter
https://twitter.com/cakephp
Facebook
https://www.facebook.com/CakePHP

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/


※前スレ
http://kanae.2ch.net/test/read.cgi/php/1393661004/
0083nobodyさん2014/09/07(日) 11:45:44.93ID:???
>>82
多分、別のモデルを作るのがいいと思う。

簡単なのは、UNION 後のビュー(データベースのビュー)のモデルを作る方法。
この方法なら、Model::$paginate() と Model::$paginateCount() をわざわざ実装する必要がないからね。

ビューを作るのが嫌な場合、それらのメソッドを実装したモデルを作ることになると思うけど、
その場合は、生の SQL を書くより DboSource::buildStatement() を使った方がいいと思う。
Paginator::$settings の設定を生の SQL に組み込むのは大変だよ。
0084nobodyさん2014/09/07(日) 11:47:23.50ID:???
間違えた。
Model::paginate() と Model::paginateCount() ね。
0085nobodyさん2014/09/07(日) 17:38:42.22ID:???
>>83
レスありがとうございます
ビュー作るのは少し微妙なのでbuildStatement()の方で補おうと思います
それでもなかなかややこしいですね
0086nobodyさん2014/09/10(水) 19:35:59.90ID:???
自分の個人サイトでcakephp使ってる人居ますか?
リニューアルついでにcakephp使おうか迷ってる。
0087nobodyさん2014/09/11(木) 01:14:28.20ID:???
いるだろそりゃ。俺もその一人だが。
0088nobodyさん2014/09/11(木) 01:15:53.40ID:???
どんなサイトか分からんが、個人でやって迷ってんならやってみろよ
0089nobodyさん2014/09/24(水) 23:35:14.19ID:???
2.4でoracle使いたいんだけど、どうやったら使えるの?
0090nobodyさん2014/09/25(木) 01:32:54.46ID:???
2系からはサポートしなくなった。

俺は使ったことないんだけど、Oracle のプラグイン作ってくれた人がいる
https://bitbucket.org/odin88/cakephp-2.0-oracle/src
0091nobodyさん2014/10/07(火) 11:48:06.87ID:QG2cjBR/
CakePHP2 のhasManyで、プライマリーキー以外を使ったアソシエーションは定義できないのでしょうか。

たとえば 商品 hasMany 素材 だとして
商品のPK以外の値と 素材テーブルのある値とでアソシエーションを組みたい場合があります。
この場合、「素材のある値」はforeingKey で指定可能ですが、商品テーブル側のどの値を使うのかは
PKで決め打ちになっていていじれません。

どうするのが良いでしょうか。
0092nobodyさん2014/10/08(水) 23:25:18.00ID:???
>>91
プライマリーキーって動的に変えられるから、変えてからアソシエーションすりゃいいんじゃないのかな。
0093nobodyさん2014/10/09(木) 18:34:02.73ID:???
>>92
ありがとうございます。

やってみましたところ、うまくいきました。
0094nobodyさん2014/10/25(土) 16:31:19.49ID:???
愛国者と言うほど保守派でもないが、民主党に投票するほど反日ではない
0095nobodyさん2014/11/04(火) 02:37:17.02ID:???
cakeって学習コストどんなもん?
fuelと比べてつらい? 簡単?
0096nobodyさん2014/11/04(火) 02:55:59.62ID:???
XAMPP1.8.3
PHP5.5
CakePHP2.4.10

http://ameblo.jp/tondemonight/entry-10124640485.html

少し古いページですが、URLの末尾にスラッシュ(トレイリングスラッシュ)を
つけようと思い上記ページの通りに.htaccessを設定しました。
思い通りの動きにはなったのですが、何故かpostもgetもデータが受け取れなくなりました。

htaccessを理解しないまま貼り付けたため、何が原因でこういう事態になったのかわかりません。
とりあえず、htaccessを元に戻せばデータの受け渡しはできるのですが。。。

XAMPP上で上記の動きになったので、さくらインターネット環境でも
試したのですが同様の現象が発生しました。

どなたか詳しい方、教えて頂けないでしょうか?
0097nobodyさん2014/11/15(土) 12:14:51.51ID:W0Odgr3A
存在しないURLでアクセスされた際に

Missing Method in AdminController

こいうエラーメッセージが表示されてしまいます。
これを表示させない方法はありますか?

やりたい事は、もし存在しない(コントローラー等が未定義)の状態で
アクセスされたら指定したエラーページに飛ばしたいです。
0098nobodyさん2014/11/15(土) 16:00:55.50ID:???
config の debug レベルを変更
0099nobodyさん2014/11/15(土) 19:52:27.40ID:ZGSnFqpd
>>98
ありがとうございます。
0100nobodyさん2014/11/15(土) 20:12:36.24ID:VK5/2N9R
フォームヘルパーを使って以下のコードを記述すると

echo $this->Form->input('password');


次のコードが出力されます。しかしこのままでは画面のレイアウトが
どうも満足できません。

<div class="input text required">
    <label for="UserUsername">Username</label>
    <input name="data[User][username]" maxlength="50" type="text" id="UserUsername">
</div>

そこで次の様にスタイル指定をしたタグを出力させたいのですが
フォームヘルパーを使うと以下の様な出力を行う事は出来ないのでしょうか?

<div class="input text required original_1">
    <div class="original_2" style="width:50px;float:left;"><label for="UserUsername">Username</label></div>
    <div style="width:150px;float:left;">
      <input name="data[User][username]" maxlength="50" type="text" class="original_3" id="UserUsername">
    </div>
</div>
0101nobodyさん2014/11/15(土) 22:46:51.55ID:???
cakePHPのコントローラー名は

【複数形の英単語】Controller.php


という名前にするのがルールなのでしょうか?
必ず複数形にする必要があるのでしょうか?
0102nobodyさん2014/11/16(日) 02:51:08.67ID:???
>>101
ルールではない、規約だ

規約にのっとっていれば色々とフレームワークが自動でやってくれる部分が多いが、
規約から外れたとしてもなんとかする方法は(面倒臭い方法だが)用意されている

そういう面倒臭さが嫌なら大人しく規約に従っておくのが吉
0103nobodyさん2014/11/16(日) 11:29:55.49ID:88uIuRDd
>>102
了解です。
thank you
0104nobodyさん2014/11/16(日) 11:31:49.43ID:QtKRF6/y
因みにcakePHPでサイトが作成されている事を
(開発の出来る人を想定)閲覧者にばれない様に作り込む事は可能ですか?
幾らやってもばれるものでしょか?


セキュリティ的に開発に使用しているFWは隠蔽した方が良い気がしております。
0105nobodyさん2014/11/16(日) 11:40:56.93ID:???
>>104
種類がばれて問題になるようなFWは使わないほうがいい
0106nobodyさん2014/11/16(日) 13:04:20.46ID:rzwbZ1qv
>>105
一から開発するの凄く手間じゃないか
0107nobodyさん2014/11/16(日) 14:58:24.60ID:???
>>104
cakeだとわかるような部分が見つかったらその都度対応すればいい
0108nobodyさん2014/11/16(日) 15:00:53.86ID:???
cakeのセキュリティのなにが不満なのだろう?
そしてなにを満たせばセキュリティ的に合格なFWなのだろう?

セキュリティがーとかいう人間に限って知識が薄っぺらい。
0109nobodyさん2014/11/16(日) 15:33:17.44ID:I3T4ePm6
>>104

アセットディレクトリを /wp-contents/themes/*** にして、/wp-admin/ の振る舞いを偽装して
WordPress っぽくつくる。

これであまり熱心ではない開発者はWPだと思うだろ。

あとは Router というか $routes の設定をいじって、URLのパターンから推測できないようにする。
エラーメッセージの文言をすべて変更する。

まぁでも、既知の領域では隠蔽できるだろうけど、いつ何時新しい状態が現れるか分からないから完全に隠すのは難しいと思われる。
0110nobodyさん2014/11/16(日) 19:46:24.87ID:???
Cakeの1や2系で、検索サイトのDB設計したりすると遅いの?
零細企業のサイトで、たった数件の検索に毎回15秒かかってるとこがあって理解できん
作った人間が下手なだけならいいが、Cakeの問題なら仕事で使いたくない
MVCやルーティングだけFW、DBやSQLカスタマイズでセキュリティ自力対応じゃダメかね
Cake案件が多いので、企業が使いたがってるのかは知らんが、気になってしょうがない
0111nobodyさん2014/11/16(日) 21:26:26.08ID:???
まともに設計してそこまで遅くなるわけない
開発者もサーバの性能も糞すぎるとかじゃねえの
0112nobodyさん2014/11/16(日) 22:24:01.26ID:???
データが1000万行あって、トランザクションして、ソートして、メモリ足りなくて、SQLシステム共にスワップして…

だったら15秒くらいかかる。
0113nobodyさん2014/11/16(日) 22:36:50.85ID:???
そのサイトには、総数500件って書いてあるから
非表示状態のレコード含めても1000行はこえないでしょ
過去テーブルに移してなきゃ、ID番号が4万台だから最大4万行のはず
0114nobodyさん2014/11/16(日) 22:40:15.89ID:???
?
0115nobodyさん2014/11/17(月) 18:34:09.12ID:???
>>113
すごいエスパーだな
0116nobodyさん2014/11/17(月) 20:32:45.39ID:???
パフォーマンスの調査すらできない奴なら
何使っても一緒だわな…
0117nobodyさん2014/11/17(月) 23:14:10.85ID:84kAq3io
>>109
ありがとうございます。
0118nobodyさん2014/11/18(火) 07:26:12.45ID:BXcgCvPC
cakePHPでテーブルを定義して
<td style="width:100px"></td>

という風に列幅を指定しているにも関わらずサイズが適用されません。
なぜでしょうか?また、どうすればcakePHPを使用していても
指定したサイズに列幅調整を行う事が出来ますか?
0119nobodyさん2014/11/18(火) 16:42:48.64ID:???
idをauto_incrementにすると、1から順に増えてきますが、1001からとかってできますか?
0120nobodyさん2014/11/18(火) 18:42:27.17ID:???
>>119
それはcakeじゃなくてDBの問題。MySQLなら
ALTER TABLE テーブル名 AUTO_INCREMENT=1001
とか実行すればいいよ
まあphpmyadminとか使ってGUIでやったほうが楽だけどね

>>118
まちがいなくcakeは無関係
出力された後のことはHTMLとブラウザの解釈の問題
とりあえずは簡単なサンプルでタグの不整合だのCSSだのをチェックし直すといい
0121nobodyさん2014/11/18(火) 19:07:45.09ID:???
phpすら関係ないなw
0122nobodyさん2014/11/18(火) 20:13:46.51ID:???
>>110
インデックス貼ってないんじゃないの?
mysqlってインデックス貼らないと遅くなるの俺は最近知ったね。
0123nobodyさん2014/11/18(火) 23:18:16.68ID:72ycgRPS
Google Analytics をelementの中に定義して
次の呼び出しをしているのですがなぜか
Google Analytics に認識されません。

サイトにアクセスした直後にリアルタイムを見ていますが
アクセスが一向にカウントされないのですがなぜでしょうか?


<?=$this->element("google_analytics")?>
</head>
0124nobodyさん2014/11/18(火) 23:24:02.50ID:8pS7TyyM
>>123
だけど分かりました。単なるタイムラグでした。
0125nobodyさん2014/11/18(火) 23:27:49.19ID:???
PHP関係ない質問はよそでやれよ……
0126nobodyさん2014/11/18(火) 23:34:44.64ID:???
>>110
その遅さじゃindexどころか、innodbで↓やってるとしか思えないな

「総件数(○○件)」 SELECT count(*) FROM テーブル
「検索項目A(○件)」 SELECT count(*) FROM テーブル WHERE カラム = 'A'
「検索項目B(○件)」 SELECT count(*) FROM テーブル WHERE カラム = 'B'
「検索項目C(○件)」 SELECT count(*) FROM テーブル WHERE カラム = 'C'
0127nobodyさん2014/11/20(木) 18:21:53.44ID:CTsz5JQb
cakePHPで次の様にオーソドックスなパス配置で
システムを組んでいます。

hogeuser/apps/test_app
→アプリ本体

hogeuser/cake
→cakePHPのモジュール群

hogeuser/www/test_app
→最初にアクセスされる基本ファイル等(index.php)


hogeuser/www/image/****
→ここにAuth認証でログインしたユーザのみが画像等をアップロード出来る様な
システムを組みたいのですが、cakePHPで実現可能でしょうか?


様にしたいのですが
0128nobodyさん2014/11/21(金) 01:55:20.21ID:???
>>127
アセットのパスは CakePHP に依存せず自由だよ。
ほかの原因で権限が無いとかはあるかもしれないけど、Cake側では制限はない。
0129nobodyさん2014/11/27(木) 14:38:07.68ID:???
スマホ用のビューってどうやって管理してますか?
テーマを作るってやり方を見たのですが、
他に良い方法があれば教えてください。
0130nobodyさん2014/11/27(木) 22:10:45.74ID:???
なぜテーマが使えないのか、
あるいは何がしたいのか書かないとレスしようがないんじゃないかな
0131nobodyさん2014/11/28(金) 06:59:13.03ID:???
CSSで解決できるから、FWから見たらstaticページと扱いが何も変わらない。
Model(ロジック)の方は、特別にスマホ対応をする場合もあるかもしれんが。
01321292014/12/01(月) 13:39:14.91ID:???
>>130
「テーマが使えない」ではなく、他に方法があれば教えてくださいという質問です。

>>131
レスポンシブデザインならCSSだけで良いのですが、
スマホ専用サイトの場合、ビューが変わるし、必要なモデルも変わります。
PC版と同じコントローラーを使って同じだけモデルを呼び出すのは
無駄な要素が大きいと思い、テーマの変更だけで良いのかな?と思いまして。
0133nobodyさん2014/12/01(月) 23:10:19.10ID:???
>>132
俺はテーマ以外考えられんな。
レスポンシブでPC、スマホの両方対応というのも無駄な処理がコントローラーに増え、重くなるし。

テーマ一択で。
0134nobodyさん2014/12/02(火) 00:51:09.72ID:???
呼び出すモデルが変わるならいっそコントローラーやアクションを分けるのもありじゃない?
アクション共通ならビューにサブディレクトリ作るだけでもいい気が
0135nobodyさん2014/12/02(火) 01:45:31.11ID:???
>>133
横レスだけどレスポンシブデザインにしたらサーバーサイドの処理は基本的には変わらないんじゃないの?
俺の勘違いかな。
0136nobodyさん2014/12/02(火) 02:25:29.44ID:???
>>135
おっしゃる通り。確かに変わりませんね。
僕のミスです。失礼しました。

レスポンシブデザインって、ちゃんとしたサイトだとPCとスマホは分けるべきだと思うんだけどな。
0137nobodyさん2014/12/02(火) 06:43:53.62ID:???
Modelが変わるとか後出しだし。
Modelが変わるなら、Viewも応じて変えた方がいいに決まってる。
0138nobodyさん2014/12/04(木) 15:36:33.40ID:R0j+bkTk
ビューのコーディングについて相談です。

Cakeで出力されるHTMLのCSS部分はローワーキャメルケースですが、
HTMLヘルパーを使用しない箇所はどうしていますか?
同じようにローワーキャメルケースで書いてますか?
それとも独自の書き方を採用していますか?
0139nobodyさん2014/12/04(木) 16:07:23.93ID:???
>>138
独自だね
0140nobodyさん2014/12/05(金) 10:17:08.32ID:???
>>139
そうですか。特にこだわらないでも良いですね。ありがとうございます。
0141nobodyさん2014/12/10(水) 12:16:09.19ID:D9PtQRCX
Cake2.5.6でappをapp-adminのように変更しています。
サーバからコマンドでシェルを実行させる場合について質問です。

シェルを実行させるパスを
/usr/local/bin/php /home/hoge/public_html/app-admin/Console/cake.php Hello

みたいにすると、「Shell class Hello Shell could not be found」というエラーになります。
上記パスのapp-adminをappにすればエラーが出ないのですが、
appの名前を変えても実行するにはどうすれば良いのでしょうか?
0142nobodyさん2014/12/10(水) 14:34:35.99ID:???
>>141

コンソールから起動させるのは cake.php じゃなくて cake (bash) のほうな。
0143nobodyさん2014/12/10(水) 14:37:49.96ID:???
あぁ、悪いちゃんと読んでなかったわ。
app の名前を指定するパラメータは確か -app じゃなかったかな。
-app app-admin
みたいなのをくっつければいいかもしれない。

そもそも、そんな呼び出し方する理由が分からんがな。
普通は app-admin のディレクトリに移動して Console/cake を呼び出すんだぜ。
0144nobodyさん2014/12/10(水) 15:23:03.23ID:???
-app app-adminの変更で出来ました。ありがとうございました。
0145名無しさん@そうだ選挙に行こう2014/12/14(日) 19:10:29.85ID:R4VgTAzM
cakePHPでassociationを使うと
毎回結合が走っている様です。


この条件の時には結合を走らせるけれども
この場合には、結合せずにfindする


といった事をコントローラー側で制御する事は可能でしょうか?

毎回、結合してクエリ結果を返していると、テーブルのレコード件数が大きくなってきた場合に
パフォーマンスに影響が出る事が予想れます。
0146nobodyさん2014/12/14(日) 21:01:50.73ID:???
>>145
bindModel()やunbindModel()で動的に変更するか
検索時にjoinsを使えばいい
詳しい使い方は↓に載っている
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html

このスレの質問のほとんどはこのドキュメントで解決できるので
開発者なら他のページも一通り読んでおくことを薦める
0147nobodyさん2014/12/14(日) 21:34:57.75ID:R4VgTAzM
>>146
thanks

見てみます!
0148nobodyさん2014/12/15(月) 10:55:13.83ID:???
bindModel/unbindModel 使うんだったら ContainableBehavior でも
対して変わらないような気がする。
どっちもとんでもないクエリ吐き出すんだけどね。

joins 使えばそこそこまとも。

CakePHP3 ではかなり改善される模様。
0149nobodyさん2014/12/15(月) 11:30:36.76ID:???
自分は Containable と Matchable 併用してる。
0150nobodyさん2014/12/15(月) 19:02:35.15ID:Hxt+g1uL
アソシエーションを使うより普通にSQL書いて実行
させた方が楽な気がするのだが俺だけ?
0151nobodyさん2014/12/15(月) 20:40:41.52ID:???
短かったら楽だけど、長いと間違いの元だよ
0152nobodyさん2014/12/15(月) 21:02:08.37ID:???
CakePHPの呪文を覚えない限り、複雑なのは直接書いたほうがむしろ間違わない。
0153nobodyさん2014/12/15(月) 22:12:11.75ID:UqCW5FKL
こっちは inner join したいのに left join しやがるので
アソシエーションは好かん
0154nobodyさん2014/12/16(火) 03:08:27.79ID:???
Cakeのアソシエーションって何?
SQLをPDOとかで直に書いた方がいいの?
それともZendとかで最小限のライブラリ読み込んだ方がいいの?
何で日本人はCake使いたがるの?
英文サイト解読してlaravelとか使えないの?
0155nobodyさん2014/12/16(火) 09:33:38.60ID:???
>>153
type指定でinnerに出来るよ
0156nobodyさん2014/12/16(火) 10:38:29.65ID:MEG1C3Vr
>>155
しらなんだ!!
0157nobodyさん2014/12/16(火) 17:04:45.60ID:???
なぜ、outerがデフォルトなんだ?w
0158nobodyさん2014/12/16(火) 18:15:37.65ID:???
>>157
innerだと?と思う人がいるからだよ
0159質問�@2014/12/18(木) 00:17:48.32ID:ZHBfn1LO
Console/UxnkoShell.php に対してTeraTermからシェルを実行しているのですが
原因不明のエラーが出ます。

以下のコードを実行したところ投入データに一意成約違反などない筈なのに
エラーが出てしまいます。

気になるのは、エラーメッセージに「'30-1-2014-12-17'」こんな文字列がどうやらSQLで
発行されている様です。

全く原因が分かりません。お助けくださいm(_)m


$insert_data = array(
'tableTests' => array (
'user_id' => $user_id,
'sequence_number' => $sequence_number,
'confirm_date' => $executed_date,
)
);

debugprint($insert_data);
0160質問�A2014/12/18(木) 00:19:48.09ID:ZHBfn1LO
デバッグ出力した結果です。

array(1) {
["tableTests"]=>
array(4) {
["user_id"]=>
string(2) "30"
["sequence_number"]=>
string(1) "1"
["confirm_date"]=>
string(10) "2014-12-17"
}
}



$this->tableTests->create();
$this->tableTests->save($insert_data);


なぜかエラーメッセージが出てしまいます。

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '30-1-2014-12-17' for key 'PRIMARY'
#0 /home/maxnko/cake/lib/Cake/Model/Datasource/DboSource.php(460): PDOStatement->execute(Array)
#1 /home/maxnko/cake/lib/Cake/Model/Datasource/DboSource.php(426): DboSource->_execute('UPDATE `uxnko...', Array)
0161質問�@�A2014/12/18(木) 00:39:30.54ID:ZHBfn1LO
原因が分かりました。
0162nobodyさん2014/12/18(木) 10:51:48.08ID:???
なんだったの?
0163nobodyさん2014/12/18(木) 16:27:33.17ID:IJydX9LX
>>162
アソシエーションのプライマリキーが邪魔してました。
アソシエーション使わない方が小回りが利いて良いですね。
0164nobodyさん2014/12/19(金) 19:52:59.80ID:BHq08Q5j
Ajaxで開発をこれまで行っていましたが
毎度、ブラウザのみならずJSデバッガーを開いてJSを毎度開いてデバッグする必要があり手間なので
全てpostを行い、サーバ側でバリデーションその他を行う様にしました。

開発の生産性はAjaxと比べてどちらが早いですかね?
0165nobodyさん2014/12/19(金) 22:23:30.29ID:???
>>164
サーバー側のがいい
0166nobodyさん2014/12/19(金) 23:20:57.71ID:???
そもそもAjaxだかなんだか関係なく
サーバ側でバリデーションは必須じゃないのか……
0167nobodyさん2014/12/21(日) 15:17:01.54ID:kDlJPF64
>>165 >>166
そもそもだけど、Ajaxで is_post"ajax")って感じで
バリデーションをするとcrome上でデバッガーを開いてやらないといけないでしょ?
それが面倒なんです。


普通にPOSTで全てリクエストを行っていれば
簡単にデバッグ出来るけど、Ajaxにするとサーバからの戻り値をJavaScript側でもデバッグを
する必要があるでしょ?

それが本当に面倒に感じるんです。
0168nobodyさん2014/12/22(月) 22:18:50.23ID:???
>>167
クライアント側でのバリデーションはオマケ
クライアント側でバリデーションをやろうがやるまいが、サーバ側でのバリデーションは必須
0169nobodyさん2014/12/23(火) 21:07:58.32ID:???
composer ってさ、バージョン指定してないと全部アップデートされるじゃん。
バグの原因にならんの?不安で仕方ない。

アップデートしたくないのをjsonで削除するとファイルまで削除されるし。
0170nobodyさん2014/12/23(火) 21:31:44.30ID:???
指定しなよ
0171nobodyさん2014/12/24(水) 01:58:44.52ID:???
>>170
例えばcake2.4使ってて、中身を少し変えるとするじゃん。
で、2.4を指定してcomposerしたらどうなる?

1 同じ2.4なので何も起きない
2 同じ2.4だけどファイルが少し違うので新しい2.4を、上書きする

どっちなんでしょうか?
0172nobodyさん2014/12/24(水) 08:56:59.50ID:???
>>171
composer.jsonにcakephp/cakephpを2.4.*と指定したということでいいかな?
https://packagist.org/packages/cakephp/cakephp
基本的にリポジトリに登録されているバージョン情報を利用するわけなので
開発中のバージョンを指定しなければ問題無いだろう

●composer install
- composer.lockファイルがある → composer.lockファイルに記録されたものと同じバージョン
- composer.lockファイルがない → Packagistに登録されている2.4系の最新バージョン

●composer update
Packagistに登録されている2.4系の最新バージョン


自分で開発していてアップデートしたくないパッケージがあれば
composer.jsonに2.4.8などとバージョンを決め打ちで指定してupdateすれば影響はほぼない
ソースを配布するならcomposer.lockを残しておいてupdateは自己責任でやれよってことで良くないか?
0173nobodyさん2014/12/24(水) 11:20:42.46ID:???
>>172
ありがとうございます!
composer.lock初めて知りました。
見てみます。
0174nobodyさん2014/12/26(金) 14:52:05.09ID:y17exSu4
Cake2.x系でFormヘルパーを使用して以下のようなラジオボタンを出力しています。

<?php echo
  $this->Form->input(
    'Fuga.fuga_id',
       array(
           'label' => false,
           'legend' => false,
           'div' => false,
           'type' => 'radio',
           'options' => $hogeArray,
           'default' => $hogeDefault));
?>

optionsに指定している「$hogeArray」はコントローラ側からセットしている配列。
defaultに指定している「$hogeDefault」はデフォルト選択値。
やりたいことは「$hogeArrayがn個毎に改行を入れて表示」なのですが、上手くいきません。

separatorに例えば「<br />」などを指定すれば項目1つずつ改行されるのですが、
個数指定をしてseparatorを入れるようなことはできたりしないでしょうか?
0175nobodyさん2014/12/26(金) 22:05:31.40ID:???
ただの見た目の問題なんだしCSSでやればよくない?
IE8? 知らないブラウザですね
0176nobodyさん2014/12/26(金) 22:20:14.73ID:???
>>174
そういうのは出来ないと思う。
javascript で挿入するか >>175 の言うように CSS でやるか、
レンダリング結果をパースして変換。
今なら :n-th セレクタ使えるから CSS が一番手っ取り早いだろうね。
0177nobodyさん2014/12/27(土) 09:59:18.74ID:???
>>175-176
レスありがとうございます。
やっぱりできないんですね。

仰る通り、見た目の問題ですのでCSSで制御しようと思います。
ありがとうございました!
0178nobodyさん2014/12/30(火) 14:19:54.96ID:9yoyGP6/
cakePHPで入力フォームを用意して登録ボタン押下時に
サーバにポストした場合、サーバサイドでは

入力項目においてdisabled を付けている項目は $this->request->data で取得出来ない
のは仕様なのでしょうか?
0179nobodyさん2014/12/31(水) 10:07:14.07ID:???
>>178
cakeでなくhtmlの仕様
0180nobodyさん2015/01/01(木) 14:03:44.77ID:qSREffE+
>>179
ありがとうございます。解決しました。
0181nobodyさん2015/01/02(金) 09:29:55.89ID:jgbndoA2
cake2.5.8でfacebookをつかって認証してるのですが、
デバッグモードが2もしくは1の時は問題なくログイン・ログアウトできるのですが、
0にするとできなくなります。
http://www.msng.info/archives/2010/12/cakephp-error-only-when-debug-level-is-0.php
にある$this->autoRender = false;
は入れてあるのですが、他に解決策はありますか?
0182nobodyさん2015/01/06(火) 01:58:05.89ID:???
:n-th知らなかったから試しに使ってみたけど結構便利だね
けどIE8は効かないということなんで、
IE8を対象外にするわけにもいかず結局開発では使えなかった・・・
181はもうちょっと具体的にどんな実装をしたのかとか
どんなエラーが発生しているのかとか報告しないと答えようがないんじゃないかな
■ このスレッドは過去ログ倉庫に格納されています