のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,683,112人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【PHP】フレームワーク CakePHP 13ホール目【v2.0】

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
401 : nobodyさん - 2012/01/03(火) 08:57:05.67 ID:??? (+4,-30,-45)
>>400
半角スペースは投稿時に省略される。

>.2.FormHelperを継承したMyFormHelperを作成
今回はこっちを採用した。html5の input email を使いたくて、FormHelperを継承した。
402 : nobodyさん - 2012/01/03(火) 13:58:48.66 ID:??? (+13,-14,-34)
JavaScript系のヘルパー使うのって普通にjQueryのコード埋め込むのと比べてメリットありますか?
403 : nobodyさん - 2012/01/03(火) 15:17:25.79 ID:??? (-6,-29,-2)
PHPファイルで使える
404 : nobodyさん - 2012/01/04(水) 00:34:45.46 ID:??? (+36,-29,-16)
結局MyFormHelperをビューで$this->Formという変数名で使うことはできないの?
405 : nobodyさん - 2012/01/04(水) 00:43:36.30 ID:??? (-1,-29,-16)
>>404
namespaceでも使えば出来るんじゃないの?
406 : nobodyさん - 2012/01/04(水) 09:38:54.30 ID:??? (+62,+30,+0)
407 : nobodyさん - 2012/01/04(水) 20:46:12.62 ID:??? (+4,-23,-7)
誰かAppModelをオーバーライドして
複合主キーにも対応させてくれないか?
408 : nobodyさん - 2012/01/04(水) 22:17:55.77 ID:??? (+44,+26,+0)
断る
409 : nobodyさん - 2012/01/04(水) 23:27:58.25 ID:??? (+17,-21,-57)
みんなfunctionの頭にpublicってつけてる?
2.0のブログチュートリアルを見るとつけてたりつけてなかったりだけど、
何も書かなければデフォでpublicだから省略していい気がするんだけど、
書いた方が(見栄え的に)お行儀のいいコードだったりする?
http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html
410 : nobodyさん - 2012/01/05(木) 00:24:31.76 ID:??? (+30,-29,-78)
>>409
一応CakepPHPのコーディング規則ではそこまで書いてないので、好きにすればOKかと。
ただし、メソッド名の方に規則があって、protectedの場合はメソッド名の先頭をアンダーバー、
privateの場合はメソッド名の先頭をアンダーバー2つ。

http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html#method-definition
411 : nobodyさん - 2012/01/05(木) 01:57:28.20 ID:??? (+28,-30,-82)
変数は必ずpublic/privateつけて、メソッドはpublicなら省略するのが俺ルール。
つけたほうが一貫性があっていいとは思うんだけど、
public function 関数名
と書くと、public functionが長すぎて、ぱっと見たとき関数名に目が
行きにくいんだよな。変数は常にpublic/private意識しておくけど、
メソッドはほぼpublicで問題ないし。
412 : nobodyさん - 2012/01/05(木) 02:06:02.96 ID:??? (+44,+11,-2)
>>410 >>411
サンクス
見た目すっきりさせたいしpublicは無しで統一するわ
413 : nobodyさん - 2012/01/05(木) 02:32:44.05 ID:??? (+2,-29,-9)
public付けないと気持ち悪くね?
1.3時代からpublic付けてたんだが。
414 : nobodyさん - 2012/01/05(木) 12:39:38.01 ID:6HbHp9Xn (+29,+29,-162)
CakePHPを勉強し、自前のウェブサイトを構築したおかげで、ウェブサービスの企画があっという間できるようになった。
頭の中に、ウェブサービス構築のための常套手段が植え付けられたからだと思う。
CakePHPというよりもフレームワークを使用するメリットと言った方が適切かな。
415 : nobodyさん - 2012/01/05(木) 17:48:11.25 ID:??? (+9,-30,-131)
2.0になって、404吐かせるのがcakeErrorからthrow new NotFoundException()に変わったせいか、
AppControllerのbeforeFilterでsetした値が404の時にビューに反映されないようになった?
全ページでヘッダー部分に表示させてる共通データの部分が、404の時だけundefined variableになってしまう
SQLログ見るとデータ自体は取ってきてるみたいだけどsetしたはずのデータがビューに反映されない
416 : nobodyさん - 2012/01/05(木) 17:52:46.12 ID:??? (-1,-29,-6)
>>413
コア見るとpublicつけてるみたいね
コアと共通表記にしたいのならpublicつけるべきだと思う
417 : nobodyさん - 2012/01/05(木) 21:37:19.55 ID:??? (+38,-30,-180)
>>415
ビューがClassRegistyに登録されなくなったから、ビューの別インスンタンスが生成されて
それが使われる。
あとデフォルトのExceptionRenderer(というか、CakeErrorController)はbeforeFilter()まで実行しない。
beforeFilterで例外飛ばすときもあるじゃん?
というわけでExceptionRendererを継承したクラスを作ってそれを使うのがお勧め。
_getController()でもオーバーライドすればいいじゃないの。
418 : nobodyさん - 2012/01/05(木) 22:25:09.07 ID:??? (+63,+29,-18)
>>417
ありがとう
なんか取り回しが悪くなった気がして仕方ないがw
420 : nobodyさん - 2012/01/06(金) 06:11:17.85 ID:??? (+61,+29,-51)
セッションファイルってどれだけ溜めてもいいもん?
云万になるとlsが遅くなる気がするけど、
PHPがセッションファイルを直接取ってくるんならとくに大丈夫なのかな
421 : nobodyさん - 2012/01/06(金) 07:36:47.81 ID:??? (+40,-29,-32)
>>420
全列挙する必要がある ls には O(N) 必要
それに対して目的のファイルが判っている場合は O(log N) に収まる
古いファイルシステムだとまた話が変わってくるが
422 : nobodyさん - 2012/01/06(金) 07:42:05.08 ID:??? (+63,+29,+0)
>>421
100万あっても無視できる程度になりそうですね
423 : nobodyさん - 2012/01/06(金) 09:12:24.69 ID:??? (+57,+29,-5)
ファイルってインデックス化されるん?
そらされるか…
424 : nobodyさん - 2012/01/06(金) 10:03:42.70 ID:??? (+61,+29,-28)
インデントはスペース派なんだけど、
Cakeはタブだよね?

スペース派の人どうしてる?
Cakeに合わせてる?
425 : nobodyさん - 2012/01/06(金) 11:54:55.28 ID:??? (+55,+27,-47)
プロジェクトや会社によってはPEAR規約(っぽいもの)で開発してたりするよ
426 : nobodyさん - 2012/01/06(金) 14:42:53.01 ID:??? (+3,-30,-120)
cakephp2.0を置いてHelloコントローラとindexアクションとhelloビューを作って
http://localhost/helloにアクセスするとhelloビューの内容が読み込まれましたが
http://localhost/にアクセスするとcakephpのreadme見たいな感じのページがでてしまいます
http://localhost/にアクセスした場合のデフォルトのコントローラをhelloにしたいのですがこれはどこのファイルに設定するのでしょうか?
427 : nobodyさん - 2012/01/06(金) 15:56:30.42 ID:??? (-6,-29,+0)
routes.php
428 : nobodyさん - 2012/01/06(金) 23:03:59.16 ID:??? (+6,-29,-15)
>>424
自分で書いたコードはスペースインデント
routes.phpとか既に用意されているファイルはタブインデント
一人プロジェクトだから細かいことは(゚ε゚)キニシナイ!!
429 : nobodyさん - 2012/01/07(土) 08:27:20.92 ID:??? (+26,-30,-269)
携帯からアクセスがあったときは、
app_controller の before_filter で

header('Content-Type: application/xhtml+xml; charset=Shift_JIS');
という風にHTTPヘッダの content-type と charset を設定して、本来

Content-Type: application/xhtml+xml; charset=Shift_JIS
このヘッダが送られるはずが、

Configure::write('debug', N);
この設定を、0(デバッグ無し)に変更すると、

Content-Type: text/html
と、出力されてしまう。
(3 にするとちゃんとxml用のヘッダが送られるのは確認済み)

このケースが逆なら、手動でヘッダを送る前にデバッグ情報が送られているのかなと思うのですが、
デバッグ無しにすると、別のヘッダが送られているのが不思議です・・・。

どのファイルのどこでHTTPヘッダが送られているかって確認できましたっけ?
430 : 429 - 2012/01/07(土) 08:33:08.99 ID:??? (+5,-29,-53)
大事なことを言い忘れていました。
>>429の現象はさくらの本番サーバにアップしたときにのみ起こります。
開発環境のlocalhostではdebugの値に関係なく、
意図したHTTPヘッダが送られています。

アドバイスいただければ幸いです
431 : nobodyさん - 2012/01/07(土) 12:27:32.35 ID:??? (+0,+29,-17)
一部のアクションでしか使わないコンポーネントを全部ロードするのは無駄ですが
アクションに応じて、ロードするコンポーネントを変更することはできないのでしょうか?
432 : nobodyさん - 2012/01/07(土) 13:24:04.51 ID:??? (+0,+0,+0)
>>431
App::importは?

http://book.cakephp.org/1.3/ja/view/876/%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB#!/1.3/ja/view/936/%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9-%E3%83%A2%E3%83%87%E3%83%AB-%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88
433 : nobodyさん - 2012/01/07(土) 13:52:12.56 ID:??? (+0,-30,-66)
>>432
リンク先は違う情報だったけど要は
App::import('Component', 'Mailer');
$Mailer = new MailerComponent();
$Mailer->initialize( $this );
$Mailer->startup( $this );
ってやればいいのかな?
434 : ひろみちゃん - 2012/01/07(土) 17:28:25.09 ID:??? (+0,-30,-145)
>>431
2.0からコアの機能で動的に読めますが、1,x系は拙作のHackプラグインを使うことによって
期待する機能が提供されます。
http://github.com/hiromi2424/hack_plugin
Alias->loadComponent('Mailer');
startupするかは第3引数にtrueを指定すればOKです。
ドキュメントが整備されてないのですが需要があればします。
あとプラグイン名が厨二病臭いですが厨二病なので諦めてください。
435 : nobodyさん - 2012/01/07(土) 17:52:24.37 ID:??? (+0,+29,-11)
>>434
ありがとうございます
拝見しましたが、思ったより長いですね
>>433のやり方じゃ駄目で、このようにきっちりやるべきなんでしょうか
436 : ひろみちゃん - 2012/01/07(土) 18:00:20.89 ID:??? (+0,+29,-38)
>>435
短期的には>>433のやり方でも問題ないです。
メールのマネージャー程度のコンポーネントならまず大きな問題は起こりえないでしょう。
長期的に見れば、2.0で導入されるやり方に近いほうがより良いと思います。
437 : nobodyさん - 2012/01/07(土) 18:15:00.53 ID:??? (+57,+29,+0)
わかりました、ありがとうございます
コードはありがたくいただきます
438 : nobodyさん - 2012/01/07(土) 21:17:09.01 ID:??? (+16,-30,-291)
2.0でこのAdminAuthComponentがちゃんと動いている人いる?
http://www.1x1.jp/blog/2008/01/cakephp_adminauthcomponent.html

開発環境では問題なかったんだけれども、レンタルサーバーに上げてみたら
> header("WWW-Authenticate: Basic realm=\"Please Enter Your Password\"");
のところが効いてないのか、Basic認証のダイヤログが出ずにAuthorization Requiredと表示されてしまう。

HTTPヘッダーを見てみたところ、開発環境(正しく動いている環境)では
>HTTP/1.1 401 Authorization Required
となっているのが、本番(正しく動かない環境)では
>HTTP/1.1 200 OK
が出てしまっている。

ちょっと>>429の状況に近いかも知れないけど、自分の方はdebugの値に関係なくheaderがちゃんと送信されてない感じ
439 : 438 - 2012/01/07(土) 21:49:27.70 ID:??? (-1,-29,-19)
すまん、自己解決
CGI版のPHPだとBasic認証効かないのね
440 : nobodyさん - 2012/01/07(土) 22:13:13.36 ID:??? (+34,+6,-32)
2になってからちょっと軽くなった?
1.xと比べてシャキシャキ動いてる気がする
441 : nobodyさん - 2012/01/07(土) 22:51:46.73 ID:??? (-1,-29,-8)
2.0.5ぐらいになってるけど、バグは減った?
442 : nobodyさん - 2012/01/07(土) 23:02:34.52 ID:??? (+57,+29,-27)
なに、動きが軽くなるなら乗り換えたいが
443 : nobodyさん - 2012/01/08(日) 01:17:09.40 ID:??? (+57,+29,-4)
何となく軽いと言うだけでベンチを取ったわけじゃないので話半分に聞いてくれ
444 : nobodyさん - 2012/01/08(日) 03:29:35.66 ID:??? (+57,+29,-1)
そうか、ベンチ取った人とかいないのかな
445 : nobodyさん - 2012/01/08(日) 14:39:21.96 ID:??? (+97,+19,+0)
dev版だけど、多少軽くなってるみたいだな
447 : nobodyさん - 2012/01/09(月) 00:37:51.69 ID:??? (+34,-30,-33)
自己解決しました
$options['order'] = array(
'Person.secondname, Person.firstname ASC'
);
で$optionsをうしろにくっつければいけました
448 : nobodyさん - 2012/01/09(月) 00:53:14.64 ID:??? (+55,+28,+0)
>>446です>>447では解決してませんでした。。
449 : nobodyさん - 2012/01/09(月) 01:58:03.73 ID:??? (-1,-29,-18)
orderがarrayになってるんだから分かるだろ?
450 : nobodyさん - 2012/01/09(月) 06:19:15.24 ID:??? (+9,-30,-85)
コントローラーで
function index($param){
とアクションを作っていて、URLで
コントローラー名/index/パラメータ
と呼ばすに
コントローラー名/パラメータ
とやっても動くようにするにはどうすればよいでしょうか
ぐぐるとRoutesを使う例が出てきましたが、それだと他のアクションが使えなくなるようでした
アクションとして存在しない時のみ、indexのパラメータとして扱うことはできないでしょうか
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について