【PHP】フレームワーク CakePHP 14ホール目【v2.1】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/01(火) 16:58:44.53ID:fVBzm1/ACakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい には無いかも
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0482nobodyさん
2012/08/03(金) 18:12:50.67ID:S+tv8I6e0483nobodyさん
2012/08/03(金) 18:13:45.87ID:S+tv8I6e自作ライブラリを使った方が
あらゆる機能を把握出来るから
カスタマイズもスムーズに行くと思うんだよね。
>>480
あたりまえだのくらっかー
今回の案件は、オレオレFWで行きますぜ。
0484nobodyさん
2012/08/03(金) 19:08:06.08ID:???渋々Cake使ってる
まあ確かに開発は速い、動作は遅い
0485nobodyさん
2012/08/03(金) 19:36:57.12ID:???>と言う情報のみを記録するデータでしょうか?
>それとも、ソース毎管理するのでしょうか?
そんなことは好きにやればいいじゃん。
CakePHPのコアから見れば全く関係ない。
テンプレートファイルのパスさえ渡してくれたらちゃんと処理してくれる。
分かってるとは思うけど、やろうとしていることはどっちかっていうと、
Cakeが本来想定していない使用方法という意味において応用レベルだよ。
少なくともコアの通常のロジックを一通り理解していないと対応できないんじゃないかなぁ
なんとなく質問のレベルと目指す目標が離れすぎてる気がする。。。
まぁ発想としては面白いんで頑張ってw
あと、WPの更新履歴に関しては勘違いしていた。実際には履歴は保存されていなかった。
でも、それを実装したいならさっき書いたようにDBで保存すればいいんじゃない?
0486nobodyさん
2012/08/03(金) 19:51:51.79ID:???ちなみに
>それとも、ソース毎管理するのでしょうか?
は、俺の脳内ではソースを丸ごと保存するイメージ
0488nobodyさん
2012/08/05(日) 01:21:49.66ID:R26XMbHJ嘘っぱちの情報を公開しているブログのせいで苦戦したぜw
0489nobodyさん
2012/08/05(日) 19:11:15.04ID:R26XMbHJこのファイルって弄ってもよいものなのでしょうか?
0490nobodyさん
2012/08/05(日) 19:33:36.03ID:???0491nobodyさん
2012/08/05(日) 19:43:03.99ID:R26XMbHJしっかしcakePHP2.0の設定ってメンドクサイね。
もっと手軽にならないものか。
0492nobodyさん
2012/08/05(日) 22:12:43.47ID:R26XMbHJhttp://weble.org/2012/03/22/cakephp-2x-auth
ページに記載されている内容を一通り設定し
テストしようと /admin/add にアクセスしようとするとエラーが出てしまいます。
http://hogehoge.com/admin/add
※tmp/logs/error.log を確認しましたが
エラーに関係しそうなログはありませんでした。
< アクセス時にブラウザに表示される内容 >
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected]
and inform them of the time the error occurred,
and anything you might have done that may have caused the error.
どこに問題があるのでしょうか?
0493492
2012/08/05(日) 22:28:47.42ID:R26XMbHJコントローラ+アクションを作成したにも関わらずブラウザにURLを指定するとInternal Server Errorが起きてます。
助けてぇええええ
★関連する各種ソース
【Config/routes.php】
Router::connect('/', array('controller' => 'tops', 'action' => 'index'));
【TopsController.php】
<?php
class TopsController extends AppController
{
public function index()
{
//デフォルトレイアウト
$this->layout = "ps-default";
}
}
?>
★アクセスパターン�@
http://hogehoge.com/
→正常にアクセス出来てます。
★アクセスパターン�A
http://hogehoge.com/tops/index/
→ Internal Serve Error が表示されてしまいます。
0494nobodyさん
2012/08/05(日) 23:00:58.57ID:???0495nobodyさん
2012/08/05(日) 23:04:47.87ID:???ディレクトリの配置、各種パスの設定をもう一度見直してみたら?
0496nobodyさん
2012/08/06(月) 00:51:05.79ID:sAYEX+TSデフォルトの侭でも�@は正常に動作していましたので
.htaccessへの修正は、 ファイル指定が無い場合には index.php にアクセスさせる様にしただけです。
rewritebase等は全てそのままです。
>>495
うーん。。。
設置ミスですかぁー。
ちなみに実は以前、 cakePHP2.0を別のサクラ鯖に入れた時には
一応動作していました。
実は若干気がかりな点がありまして、cakePHPをDLして解凍した中身※
※cakephp-cakephp-e0b6f86\app\webroot ← この中身
の配置なんですが、現在は�Cに入れてます。(マルチドメインの中に丸ごと突っ込んでます。)
以前さくらに入れた際には�Bで正常に動作していましたが
webrootの正しい配置場所はやはり�Bなのでしょうか?
�B /home/www/{user_name}/{domain_name}/app/webroot/{favicon.ico や index.php...etc}
�C /home/www/{user_name}/{domain_name}/{favicon.ico や index.php ...etc}
実は、�Bへの配置が本当は正しく無かったと思い、今回は�Cに配置しました。
それが仇となったのかな?
0497nobodyさん
2012/08/06(月) 02:18:43.07ID:???っていうか、ほぼどんなパターンも間違いではない。
ブラウザの要求が webroot の index.php に渡せて、
なおかつ webroot/index.php がアプリケーションを実行できて、
tempディレクトリ内に書き込み権限があれば
どんなパターンでも動く。
で、そういう柔軟な配置に対応させうるために、index.php とかにパスの指定をするようになっている。
中にはデフォルトではコメントアウトしてるのもあったりするので、
量はそう多くないから実行するファイルの順に一度目を通したらいいと思う。
いずれにせよ、それらを逐一順にきっちり設定すれば動くように設計されてる。
むしろ、動かないパターンを見つけて報告すれば話題になるかもしれんよ。
コメントは英語だけど簡単だから絶対読める。
0498nobodyさん
2012/08/06(月) 02:31:25.59ID:???補足すると、公開するWebページの設定だけなら webroot/index.php の設定
Shell を実行するときは App/Console/cake.php の設定
Webページのテストするときは webroot/test.php の設定
で OK だったと思う。
1.3に比べたらかなり設定は楽になってる。
0499nobodyさん
2012/08/06(月) 14:34:51.02ID:???今その後継のサイトを作る話が出てるんだけど、
やっぱ最新版を使うべきだよね?
噂では3が出るとかでないとかって話もあるんだけど、それは時期尚早かな?
まだ企画段階で、実際に制作に入るのは10月頃だと思うんだけど。
ちなみにうちは基本、デザインの会社なんで
フレームワーク触れる人間が俺しかいないという惨状 orz...
0500nobodyさん
2012/08/06(月) 14:51:40.29ID:???0501nobodyさん
2012/08/06(月) 15:12:00.57ID:???0502nobodyさん
2012/08/06(月) 15:38:20.73ID:???0504nobodyさん
2012/08/06(月) 15:57:02.65ID:???これから始めるならそうだけど、1.3で作ったものがあるんでしょ?
普通使い回すだろうし、そうしないならそれなりの理由があるだろう
0505nobodyさん
2012/08/06(月) 15:57:49.75ID:???正式版は来年以降だろうし、使えるようになるのは再来年だと思う。
つまり、まだまだ2系で良いと思うよ。
0506499
2012/08/06(月) 18:34:12.11ID:???やっぱりやばいですかねぇ。自分自身、いつもいつもスクリプト触ってるわけじゃないんで。
>>501
いや、ただなんとなくです。
前のサイトのサーバーはPHP4だったのですが、今度のは最新の環境で出来るので、せっかくなら新しい方が楽しいかなと(^^)
>>502
まだまだ見たいでしたね。ちょっと今回は関係なさそうです。
>>503
モデル周りが変わるということは、今までの作り方とは大きく変わるんでしょうかね。
そうなるとまた勉強することが増えて大変です(汗
>>504
前のサイトはそのままにして、兄弟サイトのようなものの作成になるのですが、
クライアント様は機能的には今のままで満足されてて、
デザイン重視の要求ですので、どうやら2系の方がビューが扱いやすいような書き込みを見ましたので
一応新規で作成する予定ではありました。
ただ、使いまわせるとは思うので、検討してみます。
>>505
そうですね、3は全く手を出せる時期ではないんですね。
皆さんアドバイスありがとうございました。
時間を見つけて一度2系でプロトタイプ的なものを作ってみたいと思います。
0507492
2012/08/07(火) 00:30:47.68ID:???さくらのエラーログを確認してみたところ次のエラー出ています。
[Tue Aug 07 00:23:12 2012] [error] [client 222.222.222.222]
Request exceeded the limit of 10 internal redirects due to
probable configuration error.
Use 'LimitInternalRecursion' to increase the limit if
necessary. Use 'LogLevel debug' to get a backtrace.
>>493 で記載したURLのうち �A でアクセスするとダメです。
はやくこんな環境設定部分はクリアして開発したいのですが。。。まいった。
0508492
2012/08/07(火) 00:35:25.67ID:???なるほど。一応ここさへ指定をしっかりしてあげればどんなディレクトリ階層でも
動きそうですね。
cakePHPって素敵w
0510nobodyさん
2012/08/07(火) 03:22:44.25ID:???cakePHP って素敵だわ!!
0511nobodyさん
2012/08/07(火) 23:00:42.56ID:VIyBwqSFecho $this->Form->input('email',Array('label' => false,'class' => 'cb','style' => 'width:200px;'));
↓
<div class="input text required"> ←この<div>タグに cssやstyle を設定するにはどうすれば良いでしょうか?
<input name="data[User][email]" class="cb" style="width:200px;"
maxlength="120" type="text" id="UserEmail">
</div>
0512511
2012/08/07(火) 23:03:59.17ID:VIyBwqSF0513nobodyさん
2012/08/08(水) 01:47:43.67ID:???0514nobodyさん
2012/08/08(水) 18:28:34.00ID:LAYqfGos画面よりログインボタンを押下し
期待している動作としては、ログインに失敗した場合
ユーザ名もしくはパスワードに誤りがあります
というメッセージが画面に出る事を期待しているのですが
setFlashの方が優先されてしまいます。
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->loginError = 'ユーザ名もしくはパスワードに誤りがあります';
}
public function login()
{
//認証NGの場合
$this->Session->setFlash(__('残念!'), 'default', array(), 'auth');
}
0515nobodyさん
2012/08/09(木) 18:05:47.44ID:DMpFXPo0そこで↓を参考にしてアカウントの作成まで行う事が出来る様になったのですが
cake_sessions とusers
テーブル上のレコードを全て削除した上でアカウントを作成しても
常に
http://weble.org/2012/03/22/cakephp-2x-auth
users.id の値がインクリメントされた状態で入ってしまいます。
例)
users.id = 15 の状態でこのレコードを削除し
再び登録処理を行った場合には
users.id = 1 が入って欲しいのですが
users.id = 16 が入ってしまいます。
原因をご存じの方がいらっしゃいましたらお教え下さい。
0516nobodyさん
2012/08/09(木) 18:16:09.26ID:DMpFXPo0おススメサイトがあったら教えて下さい。
0517nobodyさん
2012/08/09(木) 20:07:01.62ID:???調べろカス
0518nobodyさん
2012/08/09(木) 20:25:01.28ID:DMpFXPo00519nobodyさん
2012/08/09(木) 20:35:28.78ID:???書き込むなかす
0522nobodyさん
2012/08/09(木) 21:53:08.28ID:DMpFXPo0Ou!! サンキュー
>>521
なぜまずいのでしょうか?
true と判定されちゃう?とか?
0523nobodyさん
2012/08/09(木) 21:54:01.87ID:???>テーブル上のレコードを全て削除した上で
オートインクリメント値を戻せよ
それなんですか?とかまた聞くなよ?調べろ
0524nobodyさん
2012/08/09(木) 22:40:10.77ID:/OApl7of0525nobodyさん
2012/08/10(金) 00:50:06.97ID:???0528nobodyさん
2012/08/10(金) 03:20:41.62ID:???延々質問してるわけだけど
0529nobodyさん
2012/08/11(土) 02:22:52.66ID:???DBに登録した設定で管理したいのですが。
0530nobodyさん
2012/08/11(土) 11:13:49.63ID:???タイミングによりますよ
普通は routes.php に記載しますから、その時点で独自にDB接続することになります。
routes.php よりも後で設定できますか?って質問なら、分からないけど多分CakePHPの想定外なのでやめた方が良いのと違う?ってことになります
0531nobodyさん
2012/08/11(土) 13:25:15.29ID:???亀レスだけど、CakePHP2ではAPIが変わってるからドキュメント読み直した方が良いよ。
loginError っていうプロパティは無くなってます。
0532nobodyさん
2012/08/11(土) 13:51:30.91ID:???そうですか・・。Wordpressにあるように
ユーザがルーティングパターンを選択できたらいいと思ってたんです。
無理と言うことなら諦めます。
0533nobodyさん
2012/08/11(土) 13:58:26.18ID:???0534nobodyさん
2012/08/11(土) 20:59:09.76ID:nk3X9t5Y$this->paginate = array(
'limit' => 3,
'order' => array('Foo.bar' => 'asc');
)
$this->set('foo',$this->Paginate());
としてもFoo.barのasc順になりません
数字を書き換えると1ページの上限がかわるので、1行目での設定が無視されてるわけではなさそうなんですが
どうすれば順番の指定ができますでしょうか?
ご教示お願いいたします
0535nobodyさん
2012/08/11(土) 22:14:02.92ID:???0536534
2012/08/11(土) 22:33:59.62ID:nk3X9t5Y念のため
'order' => array('Foo.bar' => 'asc');
を
'order' => array('Foo.bar asc');
に書き換えてみましたが順にならなかったです
よろしくお願いいたします
0537nobodyさん
2012/08/11(土) 22:41:47.17ID:???0538534
2012/08/11(土) 22:46:39.98ID:nk3X9t5Yありがとうございます
それでも順になりませんでした
念のため他にpaginateを指定してる個所がないかスクリプトにpaginateで検索をかけたところ、
$this->paginate = array(
と
$this->set('foo',$this->Paginate());
しかヒットしなかったので、どこかで指定しちゃってたってことでもないようです
0539nobodyさん
2012/08/12(日) 15:50:49.77ID:???Usersテーブルを認証用のテーブルとして使用しています。
id / email / password / created
イメージとしては下の感じで取れそうだったんですが。
$this->Auth->id
0540539
2012/08/12(日) 15:52:15.00ID:???0541534
2012/08/13(月) 03:34:01.92ID:DBWlC9mqと
$this->set('foo',$this->Paginate());
の第三引数にorderを設定したらいけました
0542nobodyさん
2012/08/14(火) 15:24:43.09ID:Gol/k/SD$this->Article->read(); // reads a third record
$record = $this->Article->data // stores the third record in $record
↑これでレコード取得できるんだけど、
$this->Article->id = 3;
$reacord = $this->Article->read();
↑これでも取得できなかったっけ?あれ?俺の勘違い??
今やってみるとNULLが帰ってきてる
$this->Article->data
ってやるとちゃんと取得できてる
今までのコードずっと
$reacord = $this->Article->read();
で取得してるコード書いてて、
それで確認できてるはずなんだけどな、、、??
0543nobodyさん
2012/08/14(火) 17:20:28.09ID:???後者の書き方でも問題ないはず。
そしてコアのModel::read()メソッド自体は1.2から特に変わっていない。
となると、考えられる原因は
1)自前で書いたbeforeFind()でしくじっている
2)ビヘイビアで何やら起こっている
3)AppModel.phpかArticle.phpでread()メソッドをオーバーライドしていて
コアのread()挙動が変わってしまっている
なんにせよ、debug()祭りで原因箇所を探すべし
0545nobodyさん
2012/08/15(水) 02:43:01.91ID:???PHP】下らねぇ質問はID出して書き込みやがれ 122
http://kohada.2ch.net/test/read.cgi/php/1344963135/
0546nobodyさん
2012/08/16(木) 04:28:57.25ID:4Ld1R7VY0547nobodyさん
2012/08/26(日) 17:18:00.39ID:???0548nobodyさん
2012/08/26(日) 18:14:00.41ID:+ThJuMom他フレームワークはSymfony, Ethnaあたりを少々
さて、CakePHP1.3+PHP5.3.3で質問です。
1. 実行中のControllerオブジェクトをViewで取得するにはどうしたらよいですか?
Controller::getInstance()とかないのかな?
View->set('controller', $this)とかを試したんですが、
DebugKitとの相性が悪く、な手を模索中です。
2. AuthコンポーネントをViewで呼び出すにはどうしたらよいですか?
Session('Auth.XXX')でも参照できるけど
なんかプライベート変数を盗み見ているようで気持ちが悪い。
ご存知の方がいらっしゃたらよろしくおねがいしますです。
0549nobodyさん
2012/08/26(日) 18:17:02.43ID:???0550548
2012/08/26(日) 18:22:47.13ID:+ThJuMom0551nobodyさん
2012/08/26(日) 18:40:22.53ID:lL3DBKkv0552548
2012/08/26(日) 18:46:51.19ID:+ThJuMom知名度の低さと日本語リソースの少なさでCakeに勝てなかったんだよ。
環境さえ整えばYiiはよい選択肢だよね。
0553nobodyさん
2012/08/30(木) 10:00:09.56ID:/uv7B1Aqなぜか下のプログラムも読み込みにいって困ってるんですがどなたか理由わかりませんか?
ちゃんと動いて止まってくれるところもあるけどなぜか動き続けるところもあって違いがわからないです。
0554nobodyさん
2012/08/30(木) 11:50:06.98ID:???ひょっとして afterRender とかのコールバック系じゃないの?
そもそもプロセスの終了はControllerでは制御しない。
Controller そのものを動かしている Despatcher がいろいろやってる。
0555nobodyさん
2012/08/30(木) 11:50:58.51ID:???(o)Dispatcer
0556553
2012/08/30(木) 12:27:23.14ID:/uv7B1Aq例えば、
if(!$this->Model>save($this->data))$this->flash("保存失敗",/index);
という感じに保存に失敗したら、真っ白の画面に「保存失敗」とだけ表示して数秒後に指定ページへ飛ばしたいのですが
実際はViewまで読み込んでしまう現状です。
exit()てきな動きをすると思ってたのですが、ひょっとして勘違いですか?
0557nobodyさん
2012/08/30(木) 13:58:28.85ID:???0558nobodyさん
2012/08/31(金) 11:00:18.38ID:???そういうときは2系だと Controller::redirect を使うんだけど、
その書き方だと1.3なのかな?
0559nobodyさん
2012/08/31(金) 13:18:33.55ID:???>>558
redirectとflashは別物だよー
0560nobodyさん
2012/09/07(金) 23:58:12.87ID:???cakephp2本も出るというのに
0561nobodyさん
2012/09/08(土) 00:41:43.49ID:???0562nobodyさん
2012/09/08(土) 01:18:50.89ID:???2chで情報交換する時代じゃなくなったよな
0564nobodyさん
2012/09/08(土) 02:31:39.98ID:???かといって公式コミュニティはなんかお堅い感じがするし、ブログに書いても反応があるかわからないし
でもcodeなにがしが転けたりしているのを見ると技術者向けコミュニティっていうのは本当に運用が難しいんだろうな
>>563
29日だとか
執筆陣から期待が高いぜ
http://www.amazon.co.jp/dp/4774153249
0565nobodyさん
2012/09/08(土) 09:50:55.77ID:???2chがオワコンなのが原因
最近どこのスレでも会話が成立しなくなってきてて困る
0566nobodyさん
2012/09/08(土) 11:04:20.78ID:???ブラウザの「最近読み込んだスレ」のほとんどが、俺の書き込みで止まってる
内容は普通だから、俺が悪いんじゃないぞ
0567nobodyさん
2012/09/08(土) 12:32:12.69ID:???専門板が過疎ってるだけ
なぜなら未だにsage進行にこだわったり
質問したらテンプレ嫁、みたいな10年前から進歩してないオッサンが
幅きかせてうざいから
0568nobodyさん
2012/09/08(土) 12:52:04.55ID:???auひかりとか使ってたらほぼ書き込めないだろ?
0569nobodyさん
2012/09/08(土) 13:21:35.98ID:???公式フォーラムとかその辺がかわりに賑わっているわけでもないし
0570nobodyさん
2012/09/08(土) 14:40:44.18ID:???もう1.x系のリリースはないだろう
しかし2.x系のリリースはバージョンアップが激しくて手が出しにくいな
2.0、2.1、2.2と4ヶ月スパンくらいで出てないか?
1.2から1.3までは1年半くらいかかったのに
0571nobodyさん
2012/09/08(土) 14:57:41.60ID:???対応めんどくさいから新規案件もガンガン1.3使い回して作ってる
うちみたいな零細には余計な手間かける余裕が一切ないからな
0572nobodyさん
2012/09/08(土) 15:32:24.19ID:???ツイッターで独り言つぶやき続けてる印象
あいつらマジで非コミュだな、匿名掲示板で議論もできないのかよ
0575nobodyさん
2012/09/08(土) 16:36:12.19ID:???更新はともかく、新規案件なら2系で作ってもメリットはあると思う。
0576nobodyさん
2012/09/09(日) 19:53:39.13ID:???ちょうどcakeで作ろうと思ってたのに…
今なら変えられるけど代わりのいいフレワないのだろうか…
0577nobodyさん
2012/09/09(日) 20:05:22.24ID:???使ったことないけど
0578nobodyさん
2012/09/09(日) 20:19:59.28ID:???0579nobodyさん
2012/09/09(日) 20:26:41.47ID:???一回お試しで簡単に触ってみるか
なんかcakeと似てるらしいし
どうもです
0580nobodyさん
2012/09/09(日) 20:41:24.37ID:???2009年あたり以降、日本ではあまり使われていない気がするが
0581nobodyさん
2012/09/09(日) 20:50:36.97ID:???1.Xのとか情報が古くても
0582nobodyさん
2012/09/10(月) 15:53:53.54ID:???まぁ、PHP自体があれかもしれんがな
■ このスレッドは過去ログ倉庫に格納されています