【PHP】フレームワーク CakePHP 12ホール目【笑】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/07/01(金) 16:33:46.28ID:???CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>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 11ホール目【v1.3】
http://hibari.2ch.net/test/read.cgi/php/1297860755/
0201nobodyさん
2011/08/04(木) 02:51:02.47ID:???みんな必要なくてもhasManyとかでひっぱってくるがままにやってるのかな。
パフォーマンスとか気にし過ぎなのだろうか。
気になるのはモデルにhasManyを1つ追加しただけで、
既存のfind呼び出しの挙動が変わる可能性があるということ。
本番運用してると結構怖い気がするのだけど・・・
0202nobodyさん
2011/08/04(木) 11:13:12.20ID:???できないところはbindModel, unbindModelかな。
それでもだめなときは、joins使うな。おいらなら。
0205nobodyさん
2011/08/05(金) 12:21:21.48ID:???必要な時のみ自分でJOINする
結局手間暇考える時間トータルでこれは一番効率良かった
0206nobodyさん
2011/08/05(金) 13:41:03.54ID:???Call to a member function event() on a non-object
どこがおかしいのでしょうか。
<?php echo $html->script('prototype',array('inline'=>false)); ?>
<?php
$script =<<< EOL
function testFunc(str){
alert("you clicked \""+str+"\"!");
}
EOL;
echo $html->scriptBlock($script,array('inline'=>false));
echo $html->div(null,'Event Test!',
array('id'=>'click_div','style'=>
'background-color:#aaffaa'));
echo $javascript->event('click_div','click',
'testFunc("click_div")',array('inline'=>true));
?>
0207nobodyさん
2011/08/05(金) 14:13:35.15ID:???まずエラーメッセージを読もう。
「メンバ関数event()とか呼べねえよ」
関数event()が無いの?
スペルミスで呼び出せない?
それともオブジェクト(のインスタンス)が無いの?
というように調べて行って下さい。
ここまではPHPの基礎的な事。
じゃあ、この場面でオブジェクトを使えるようにするのはどうするの?
てのがcakePHPの話。
せっかくの夏休みだからちょっと考えてみて。
0208nobodyさん
2011/08/06(土) 01:09:49.78ID:???function testFunc(str){
alert("you clicked \""+str+"\"!");
}
EOL;
それより、このコーディング思想てどうなの?
0209nobodyさん
2011/08/06(土) 02:23:15.19ID:???つってももうdeprecatedだけど。
0210nobodyさん
2011/08/09(火) 09:53:22.94ID:???ビヘイビアとかでやってくるのないかな。
0211nobodyさん
2011/08/09(火) 10:51:41.99ID:???動かしてないけど
function save($data = null, $validate = true, $fieldList = array()) {
if (parent::save($data, $validate, $fieldList)) {
return $this->id;
}
return false;
}
0212nobodyさん
2011/08/09(火) 11:27:51.56ID:???<?php
class InsertIdBehavior extends ModelBeavior {
public function afterSave($model, created = false) {
if ($created) {
$model->data[$model->alias][$model->primaryKey] = $model->getInsertID();
}
}
}
これぐらい自作しなさいよ。
0213nobodyさん
2011/08/09(火) 23:18:40.82ID:???すみません・・・助かります。
まだソースハックしきれてなくて、そういう小回り聞いたコードが書けないので。
0214nobodyさん
2011/08/12(金) 14:33:38.57ID:???コントローラの共通関数はコンポーネント
モデルの共通関数はビヘイビア
じゃあビューとコントローラとモデル全部共通で使いたい関数はどこに置けばおkですか?
0216nobodyさん
2011/08/12(金) 17:56:38.23ID:???0219nobodyさん
2011/08/13(土) 01:45:59.40ID:???0220nobodyさん
2011/08/13(土) 13:46:17.52ID:???0221nobodyさん
2011/08/13(土) 13:56:23.30ID:???/ \
/ ─ ─\
/ ,(●) (●)、\
| (__人__) | はい、マニュアルは全然読みません。
\ ` ⌒´ / わからないことは、もっぱら2ちゃんで聞きます。
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
0222nobodyさん
2011/08/13(土) 20:11:45.63ID:???0223nobodyさん
2011/08/14(日) 03:29:42.89ID:???マニュアル読んでなかったら「マニュアルに書いてるよ」
って言えば良いだけだろ。コミュ力0かよ
0224nobodyさん
2011/08/14(日) 06:40:19.56ID:???仕事は効率良くやるべきもの
0225nobodyさん
2011/08/14(日) 08:17:24.45ID:???0226nobodyさん
2011/08/14(日) 10:03:58.34ID:???そんなこたぁないぜ。
基本が出来てないと、同じようなことを何度も聞く事になる。
仕事を頼んでる方からすると、同じような事を何度もお願いしてるのに、その度に同じことを掲示板で聞いてるような奴には頼みたくないと思うが。
0227nobodyさん
2011/08/14(日) 13:25:29.62ID:???お前、会社で部下を持った事無いだろ?
それは単にお前が「教えてるだけ」だからだ。
だから教えられた方も身になってないし、自分も何も得られない。
普通、何度も同じ質問してこないような教え方をするし、
質問してきたという事はその事が「わかりづらい・難しい」わけだから、
どうやって伝えたら相手は理解するのか?という自分自身の勉強にも成り。
仕事でやってるならお客さんに対する説明の時とかな。
そこまで考えずに単に「教えてるだけ」なら、お互い何も得る物ねーわ
0228nobodyさん
2011/08/14(日) 13:28:16.97ID:???そいつは同じ質問されるのが面倒だという思いもあるだろうが、
スレを始めて見た人にわかりやすく解説するためにそうしてるんだろ。
それでも質問してくる奴がいるのは確かだが、
その時は、「>>1に書いてるよ」とひと言いえば良いだけ。
それがコミュニケーションだろ。>>226みたいなのは自分よがりすぎる。
0229nobodyさん
2011/08/14(日) 13:41:30.80ID:???0230225
2011/08/14(日) 13:50:36.60ID:???よくわからんな・・・
0231nobodyさん
2011/08/14(日) 14:01:53.48ID:???つまり、「マニュアルに書いてあるよ」とひと言いえば言いだけか。
0232nobodyさん
2011/08/14(日) 17:19:29.07ID:???お前何で「マニュアルに書いてる」って前提で話してるんだ?
それはお前が書いてるのを知ってるからわかるわけで、
それを知らない奴にとっては、書かれている事はわからないだろ。
で、マニュアルに書いてないと思った・あるいは見てないから質問するわけで、
だったら「マニュアルに書いてるよ」と、ひと言いえば済むだけ。
何をそんな疑問に思うか全く分からん。
0233nobodyさん
2011/08/14(日) 17:35:54.78ID:???じゃぁ、お前はなんで「>>1に書いてある」って前提で話してるんだ?
それはお前が書いてるのを知ってるからわかるわけで、
それを知らない奴にとっては、書かれている事はわからないだろ。
で、>>1に書いてないと思った・あるいは見てないから質問するわけで、
だったら「>>1に書いてるよ」と、ひと言いえば済むだけ。
何をそんな疑問に思うか全く分からん。
0234nobodyさん
2011/08/14(日) 17:45:10.43ID:???FWの作法・流儀にそった実装をして、共通認識を崩さないよう開発をするもんでしょ。。
あと読み流すだけでいいからクラス一覧も。
元主は質問してくれたんだから俺的にはセーフです。
0235nobodyさん
2011/08/14(日) 18:16:49.08ID:???質問に分かる奴がいれば答えれば良いし、分からなければ無視しろ。
マニュアルや>>1にあるなら教えればいいし、そうじゃなければggrksでいい。
なにを数レスまでごちゃごちゃ言ってるか俺には理解できない
0237nobodyさん
2011/08/15(月) 12:20:35.84ID:???/ \
/ ─ ─\
/ ,(●) (●)、\
| (__人__) | 仕事って教えてもらうものですよね。
\ ` ⌒´ / 自分で勉強しろとか上司の役割果たして無いと思うんです。
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
教えて下さい。
簡単なフォームを作って確認の上、DBに登録
させる仕組みを作ったのですが、layoutデータ
の画像がリンク切れを起こします。
フォームのあるviewフォルダの中には、index、
kakunin、touroku、kanryouの4つのファイルが
あり、controllerで毎回layoutを再読み込みする
のですが、layoutのデータがちゃんと適用
されるのがindexのみでした。
他のファイルは/〇〇/kakuninのようにルートが
変わってしまうので、Router::url()を使って
変更するのだろうと思い試してみたのですが
上手くいきません。
とりあえず、Routerクラスあたりをあたって
いますが、詳しい方、どうか、無知な私に
教えていただけないでしょうか?
cakephpは、1.3を使っております。
よろしくお願い致します。
0239nobodyさん
2011/08/15(月) 21:47:16.16ID:???HTMLヘルパー使っての話しか?試しに↓したらどうだ?
<img src="<?php echo Router::url('/img/test.jpg');?>" />
今、試してみました!
出来ました!
有難うございます!
有難うございます!
今日一日、一体、何をやってたんだと情けない
ほど凹んでました。
本当に有難うございます!
リンクも同様に出来ました!
本当に、本当に、有難うございました!
0241nobodyさん
2011/08/16(火) 00:21:57.18ID:???悩んだら何でも最小限にして試してみる事だよ。
どこが問題になっているか分かりやすいからな。
0242nobodyさん
2011/08/18(木) 15:52:24.92ID:???ログインのフラグとして利用してるんだけど、すぐ切れる(無くなる)
core.phpの設定いじりまくってるが改善されん
0243nobodyさん
2011/08/18(木) 18:30:10.59ID:???知らないと使おうとしちゃうよね、結局皆自作してる
0244nobodyさん
2011/08/18(木) 19:03:38.07ID:???0245nobodyさん
2011/08/18(木) 20:01:04.63ID:???ブラウザを閉じたら、セッションも切れて欲しい
0246nobodyさん
2011/08/18(木) 21:23:39.00ID:???サーバのセッションデータが消えているのか切り分けないと。
たぶんサーバ側と思われ。
前スレだったかにもあったんじゃないかな。
http://pentan.info/php/session_gc.html
0247nobodyさん
2011/08/22(月) 12:06:04.64ID:???誰かくれませんかね?
0248nobodyさん
2011/08/22(月) 17:21:34.40ID:???https://github.com/hidetora23/hg_smarty_for_cakephp
これが動くかも。
0249nobodyさん
2011/08/22(月) 18:00:06.79ID:???0250nobodyさん
2011/08/22(月) 18:23:05.36ID:???0251nobodyさん
2011/08/22(月) 18:33:38.79ID:???0252nobodyさん
2011/08/22(月) 18:46:11.57ID:???0253nobodyさん
2011/08/22(月) 19:12:26.94ID:???Smartyだと禁止できる、というだけの話。
あと、これは自分の知識不足かもだけど、
CakePHPのデフォルトのテンプレートだと文字力出力すべてに
自動でHTMLエスケープとかできないような?
0254nobodyさん
2011/08/22(月) 20:18:34.47ID:???まあ有名だけど使う理由あるか?
0256nobodyさん
2011/08/22(月) 20:55:58.11ID:???<h1><?= $title ?></h1>
<?php endif; ?>
こういうテンプレートがある
0257nobodyさん
2011/08/22(月) 21:31:07.23ID:???フレームワークを使っているにもかかわらず
わざわざHTML内にPHPタグを書く面倒臭さを解消する程度の
知識も技術力もありませんっていう自己紹介ですか?w
0258nobodyさん
2011/08/22(月) 21:41:09.85ID:???ってのも立派な採用理由だと思うが。
0260nobodyさん
2011/08/22(月) 23:16:08.46ID:???まぁ、JavascriptはSmarty使ったところで一緒だがな。
デザイナでも受け入れられるテンプレートっつーと、PHPTalとかKwartsくらいか。
プログラマの方が一歩譲ってデザイン分かるようにしとるんだから、デザイナの方もPHPくらい分かれよ、って話は無い事も無いとは思うが。
0262nobodyさん
2011/08/23(火) 00:30:20.72ID:???情報も多いし。
0263nobodyさん
2011/08/23(火) 00:54:15.02ID:???それはプラスだけど、決定的な理由にはならんだろ
0264nobodyさん
2011/08/23(火) 00:55:46.48ID:???採用理由の一つにはなるだろ?ならない?
0265nobodyさん
2011/08/23(火) 01:06:12.97ID:???基本的にviwsの中身は触ってほしくないと思ってる。
単純に、例えば記事を$kiji配列でviewに渡して
viewの中で$kiji['tilte']とかを配置してく程度のお仕事ならいいけどさ。
cakeの機能を使えば使うほど、それだけでは無理が出てくる。
helperの仕様や中身まで熟知してもらわなきゃならなくなるからね。
0266nobodyさん
2011/08/23(火) 05:48:58.87ID:???プログラマにもデザイナにも使いにくい。
重さは許容範囲なんだが…。
0267nobodyさん
2011/08/23(火) 12:34:16.08ID:???問題は、CakeにSMarty使う事だ。
Cakeのテンプレや書き方があるんだから。
だから、Cake採用しているシステムは
PG以外にテンプレ触らせないようにすればいい。
0268nobodyさん
2011/08/23(火) 12:44:45.66ID:???0269nobodyさん
2011/08/23(火) 14:20:07.00ID:???Smarty以外にもテンプレは沢山あるんだから。PHPにはすげえ沢山あるぞ。
何故か>>255なんかは知らないみたいだけど。
情弱にはなりたくないもんだな。
せっかくMVCと分けてんのに、Vをデザイナ(HTMLコーダー)に振れないって意味わかんないw
0270nobodyさん
2011/08/23(火) 15:35:06.98ID:???言ってることには同意なんだけど、
じゃあ実際に何を使ってるのか具体的に名前を上げて欲しい
確かに個人製作みたいなライブラリがPHPにはすげえ沢山あるけど、
そのうちのほとんどがクソ品質だと思うんだが、使えそうなものっていくつあるの?
0271nobodyさん
2011/08/23(火) 16:03:36.46ID:???俺はHTML_Template_Sigmaを使ってるよ。
これのいいところは形式がほぼhtmlそのままであること。
ブロックの指定は
<!-- BEGIN AAA_BLOCK -->
xxxxxx
<!-- END AAA_BLOCK -->
にようにコメントで行うので、そのままブラウザで開いても(PHPを実行しなくても)ある程度表示確認ができる。
変数には$がつかず、{hage}などと挿入するだけ。
複雑な関数はいくらでも自作でき、html内にfunc_xxxx(引数)
これでなんでもできる。
テンプレ内にPHPのコードが一切出てこないため、プログラマ以外でも編集しやすい。
パフォーマンスも悪くない(Smartyと同程度)のでオススメ。
0272nobodyさん
2011/08/23(火) 18:26:21.68ID:???ループがプログラム側に来ているのが気に入らんかったかな。
といってもまぁ、Smartyに慣れる前はSmartyのテンプレート側でループしちまうってのが気持ち悪かったもんだから、そこは慣れなんだろうな。
0273nobodyさん
2011/08/24(水) 02:25:13.34ID:???>パフォーマンスも悪くない(Smartyと同程度)のでオススメ。
ならSmartyで良いんじゃないか?
無名のテンプレなんてオレオレと変わらんだろ。
そもそもテンプレートエンジン使うのが
「他人がわかりやすく編集するため」なんだし。
0274nobodyさん
2011/08/24(水) 14:36:43.09ID:???Smartyが使いにくいから嫌だって言って、他のを進めてるんじゃないの。
なのに重さが同じならSmartyでいいじゃんってw
あとお前が知らなければ無名なのかwどうせ他に1つも知らないんだろ?
0275nobodyさん
2011/08/24(水) 14:45:29.44ID:???0276nobodyさん
2011/08/24(水) 15:24:39.56ID:???0277nobodyさん
2011/08/24(水) 15:30:25.84ID:???だから狭い範囲で語るなってw
よっぽどSmartyに恨みあるのか知らんが
お前がこの世の中心じゃねーんだよ
0278nobodyさん
2011/08/24(水) 15:35:48.21ID:???0279nobodyさん
2011/08/24(水) 22:19:19.91ID:???0280nobodyさん
2011/08/24(水) 22:30:37.30ID:???0281nobodyさん
2011/08/25(木) 04:07:10.99ID:???・Smartyを使う理由はない派
・Smartyを使う理由はあるけど他にもっといいのあるよ派
・Smartyはいいものだ
0282nobodyさん
2011/08/25(木) 13:16:21.16ID:???0283nobodyさん
2011/08/25(木) 16:30:21.20ID:???0284nobodyさん
2011/08/25(木) 22:31:51.21ID:???1.3ではバージョンファイルの削除は
プラグイン側ではやってくれないようになったのでしょうか?
0.6ではbeforeDeleteでtransferとバージョンファイル両方消してくれてましたが、
1.3ではtransferしか消してくれてないようなんですが。
0285nobodyさん
2011/08/26(金) 13:13:17.82ID:???0286nobodyさん
2011/08/26(金) 13:40:06.61ID:???左に各ページに飛ぶボタン、右に各ページを作ってるわけさー
で、ログイン処理行ってて、左にログアウトボタンをつけて
echo $form->create('MUser',array('action'=>'logout','target'=>'_top'));
echo $form->end('logout');
でちゃんとログイン画面に戻るんだけど
タイムアウトの場合、左のボタンを押したら
右側だけがログイン画面にいっちゃう
で、ログインしようとすると、フレームが増える(左左右みたいに)
タイムアウトの場合も1画面のログイン画面に戻したいんだけど
何か良い案はないですかね?
0287nobodyさん
2011/08/26(金) 16:47:07.40ID:???0288nobodyさん
2011/08/26(金) 17:08:32.51ID:???どうやってんのかサッパリだわ。
0289nobodyさん
2011/08/26(金) 17:40:48.03ID:???0290nobodyさん
2011/08/26(金) 17:41:53.24ID:???使ってそうだな
0291nobodyさん
2011/08/26(金) 18:56:15.61ID:???tableでレイアウト作るような奴とは仕事したくないけど、
表を作るならtableタグを使うべきだと思うけど。
0292nobodyさん
2011/08/26(金) 21:34:55.48ID:???0294nobodyさん
2011/08/26(金) 23:42:06.60ID:???ヘッダー、左サイドバー、右本ページ
サイドバーでのセッションの挙動でちょっと迷ったけど、
普通にCake側のpage_name/1で仕様を満たした。
0295nobodyさん
2011/08/27(土) 00:30:53.03ID:???無理やりなんとかするならJavaScriptで状況解析して全画面リロードかな。
うちもメニュー固定ならフレーム使うことあるけどな。
ページ遷移ないから操作楽だし。
そのウィンドウからシステムの外に出ない限りは何の問題もない。
0297296
2011/08/27(土) 14:23:23.85ID:???0298nobodyさん
2011/08/28(日) 02:02:37.91ID:???ログイン画面にjavascriptで左フレームの中身見て適宜リロードさせるとかそんな感じでおk
0299nobodyさん
2011/09/02(金) 13:07:38.22ID:???HTML的に良くないけど、みんなどうしてる?
サーチとかログインフォームなんかは、1ページ上に2カ所以上で表示させる必要があることがあると思うんだけど。
0300nobodyさん
2011/09/02(金) 14:08:53.98ID:???form1、form2とか
■ このスレッドは過去ログ倉庫に格納されています