[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/09 18:15 / Filesize : 230 KB / Number-of Response : 996
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2011/11/09(水) 01:05:10.60 ID:???]
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい

■本家
www.cakephp.org/
APIドキュメント
api.cakephp.org/
the Bakery
bakery.cakephp.org/
CakeQs
cakeqs.org/
CheatSheet (PDF)
cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
github.com/cakephp

■日本語公式
cakephp.jp/
フォーラム
cakephp.jp/modules/newbb/
cookbook(マニュアル)
book.cakephp.org/ja

前スレ
【PHP】フレームワーク CakePHP 12ホール目【笑】
hibari.2ch.net/test/read.cgi/php/1309505626/

419 名前:nobodyさん [2012/01/06(金) 01:07:10.01 ID:yz+Wi1W6]
Model::find('all')のfieldsにサブクエリを使いたいんだけど
どうすればいいですか?

420 名前:nobodyさん mailto:sage [2012/01/06(金) 06:11:17.85 ID:???]
セッションファイルってどれだけ溜めてもいいもん?
云万になるとlsが遅くなる気がするけど、
PHPがセッションファイルを直接取ってくるんならとくに大丈夫なのかな

421 名前:nobodyさん mailto:sage [2012/01/06(金) 07:36:47.81 ID:???]
>>420
全列挙する必要がある ls には O(N) 必要
それに対して目的のファイルが判っている場合は O(log N) に収まる
古いファイルシステムだとまた話が変わってくるが

422 名前:nobodyさん mailto:sage [2012/01/06(金) 07:42:05.08 ID:???]
>>421
100万あっても無視できる程度になりそうですね

423 名前:nobodyさん mailto:sage [2012/01/06(金) 09:12:24.69 ID:???]
ファイルってインデックス化されるん?
そらされるか…

424 名前:nobodyさん mailto:sage [2012/01/06(金) 10:03:42.70 ID:???]
インデントはスペース派なんだけど、
Cakeはタブだよね?

スペース派の人どうしてる?
Cakeに合わせてる?

425 名前:nobodyさん mailto:sage [2012/01/06(金) 11:54:55.28 ID:???]
プロジェクトや会社によってはPEAR規約(っぽいもの)で開発してたりするよ

426 名前:nobodyさん mailto:sage [2012/01/06(金) 14:42:53.01 ID:???]
cakephp2.0を置いてHelloコントローラとindexアクションとhelloビューを作って
localhost/helloにアクセスするとhelloビューの内容が読み込まれましたが
localhost/にアクセスするとcakephpのreadme見たいな感じのページがでてしまいます
localhost/にアクセスした場合のデフォルトのコントローラをhelloにしたいのですがこれはどこのファイルに設定するのでしょうか?

427 名前:nobodyさん mailto:sage [2012/01/06(金) 15:56:30.42 ID:???]
routes.php



428 名前:nobodyさん mailto:sage [2012/01/06(金) 23:03:59.16 ID:???]
>>424
自分で書いたコードはスペースインデント
routes.phpとか既に用意されているファイルはタブインデント
一人プロジェクトだから細かいことは(゚ε゚)キニシナイ!!

429 名前:nobodyさん mailto:sage [2012/01/07(土) 08:27:20.92 ID:???]
携帯からアクセスがあったときは、
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 mailto:sage [2012/01/07(土) 08:33:08.99 ID:???]
大事なことを言い忘れていました。
>>429の現象はさくらの本番サーバにアップしたときにのみ起こります。
開発環境のlocalhostではdebugの値に関係なく、
意図したHTTPヘッダが送られています。

アドバイスいただければ幸いです

431 名前:nobodyさん mailto:sage [2012/01/07(土) 12:27:32.35 ID:???]
一部のアクションでしか使わないコンポーネントを全部ロードするのは無駄ですが
アクションに応じて、ロードするコンポーネントを変更することはできないのでしょうか?


432 名前:nobodyさん mailto:sage [2012/01/07(土) 13:24:04.51 ID:???]
>>431
App::importは?

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さん mailto:sage [2012/01/07(土) 13:52:12.56 ID:???]
>>432
リンク先は違う情報だったけど要は
App::import('Component', 'Mailer');
$Mailer = new MailerComponent();
$Mailer->initialize( $this );
$Mailer->startup( $this );
ってやればいいのかな?


434 名前:ひろみちゃん mailto:sage [2012/01/07(土) 17:28:25.09 ID:???]
>>431
2.0からコアの機能で動的に読めますが、1,x系は拙作のHackプラグインを使うことによって
期待する機能が提供されます。
https://github.com/hiromi2424/hack_plugin
Alias->loadComponent('Mailer');
startupするかは第3引数にtrueを指定すればOKです。
ドキュメントが整備されてないのですが需要があればします。
あとプラグイン名が厨二病臭いですが厨二病なので諦めてください。

435 名前:nobodyさん mailto:sage [2012/01/07(土) 17:52:24.37 ID:???]
>>434
ありがとうございます
拝見しましたが、思ったより長いですね
>>433のやり方じゃ駄目で、このようにきっちりやるべきなんでしょうか

436 名前:ひろみちゃん mailto:sage [2012/01/07(土) 18:00:20.89 ID:???]
>>435
短期的には>>433のやり方でも問題ないです。
メールのマネージャー程度のコンポーネントならまず大きな問題は起こりえないでしょう。
長期的に見れば、2.0で導入されるやり方に近いほうがより良いと思います。

437 名前:nobodyさん mailto:sage [2012/01/07(土) 18:15:00.53 ID:???]
わかりました、ありがとうございます
コードはありがたくいただきます



438 名前:nobodyさん mailto:sage [2012/01/07(土) 21:17:09.01 ID:???]
2.0でこのAdminAuthComponentがちゃんと動いている人いる?
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 mailto:sage [2012/01/07(土) 21:49:27.70 ID:???]
すまん、自己解決
CGI版のPHPだとBasic認証効かないのね

440 名前:nobodyさん mailto:sage [2012/01/07(土) 22:13:13.36 ID:???]
2になってからちょっと軽くなった?
1.xと比べてシャキシャキ動いてる気がする

441 名前:nobodyさん mailto:sage [2012/01/07(土) 22:51:46.73 ID:???]
2.0.5ぐらいになってるけど、バグは減った?

442 名前:nobodyさん mailto:sage [2012/01/07(土) 23:02:34.52 ID:???]
なに、動きが軽くなるなら乗り換えたいが

443 名前:nobodyさん mailto:sage [2012/01/08(日) 01:17:09.40 ID:???]
何となく軽いと言うだけでベンチを取ったわけじゃないので話半分に聞いてくれ

444 名前:nobodyさん mailto:sage [2012/01/08(日) 03:29:35.66 ID:???]
そうか、ベンチ取った人とかいないのかな

445 名前:nobodyさん mailto:sage [2012/01/08(日) 14:39:21.96 ID:???]
doophp.com/files/benchmark.png
dev版だけど、多少軽くなってるみたいだな

446 名前:nobodyさん [2012/01/09(月) 00:29:39.74 ID:pfm1AGOc]
controllerでfindするときのorderを
'order' => array('Person.secondname ASC')
のようにしているんですが、複数のorder条件をつけるのはどうしたらいいですか?

具体的には苗字順に並べるようにしてるんですが、苗字がない人は下の名前(Person.firstname)を参照して五十音で並べたいです

447 名前:nobodyさん mailto:sage [2012/01/09(月) 00:37:51.69 ID:???]
自己解決しました
$options['order'] = array(
'Person.secondname, Person.firstname ASC'
);
で$optionsをうしろにくっつければいけました



448 名前:nobodyさん mailto:sage [2012/01/09(月) 00:53:14.64 ID:???]
>>446です>>447では解決してませんでした。。

449 名前:nobodyさん mailto:sage [2012/01/09(月) 01:58:03.73 ID:???]
orderがarrayになってるんだから分かるだろ?

450 名前:nobodyさん mailto:sage [2012/01/09(月) 06:19:15.24 ID:???]
コントローラーで
function index($param){
とアクションを作っていて、URLで
コントローラー名/index/パラメータ
と呼ばすに
コントローラー名/パラメータ
とやっても動くようにするにはどうすればよいでしょうか
ぐぐるとRoutesを使う例が出てきましたが、それだと他のアクションが使えなくなるようでした
アクションとして存在しない時のみ、indexのパラメータとして扱うことはできないでしょうか

451 名前:nobodyさん mailto:sage [2012/01/09(月) 08:57:47.96 ID:???]
>>450
$paramが数値なら、ルーティング規則でその部分に(数値であることの)正規表現を書けば
いける。詳しくはぐぐって。
だめだったらカスタムルートオブジェクトを作成してひーこらするしかない。頑張って。

452 名前:nobodyさん mailto:sage [2012/01/09(月) 08:58:56.35 ID:???]
その部分にってのは紛らわしいなごめん
Router::connect()の第3引数で指定するってこと。

453 名前:nobodyさん mailto:sage [2012/01/09(月) 09:04:31.25 ID:???]
調べ中ですがまだうまくいっていません
ちなみに$paramは文字列で、複数ある場合もありますが大丈夫でしょうか

454 名前:nobodyさん mailto:sage [2012/01/09(月) 09:46:49.44 ID:???]
数値ならってわざわざ書いたのはなんでだと思う?

455 名前:nobodyさん mailto:sage [2012/01/09(月) 23:29:06.48 ID:???]
cakephpのサイトだけ紹介してるサイトないかな

456 名前:nobodyさん [2012/01/09(月) 23:34:27.49 ID:SU3KFcHv]
2になって、AuthComponentがかなり洗練されたね

457 名前:nobodyさん mailto:sage [2012/01/09(月) 23:37:13.69 ID:???]
CakePHPでページを表示すると下の方にsqlを200件だしているような表示になります
これは実際に200件実行してるということでしょうか
すると問題ありますかね



458 名前:nobodyさん mailto:sage [2012/01/09(月) 23:43:44.32 ID:???]
件数取得してるだけじゃないのか?
sqlを200回実行してるわけねーだろ


459 名前:nobodyさん mailto:sage [2012/01/09(月) 23:49:11.21 ID:???]
>>458
ありがとうございます。
(default) 262 queries took 46 ms こう表示されてました。

460 名前:nobodyさん mailto:sage [2012/01/09(月) 23:55:34.73 ID:???]
>>459
262回クエリ投げてるな
どんなページだか知らないがさすがに多すぎると思う
っていうか、自分で実装したコードなんだろうからクエリ回数くらい検討つくだろう
アソシエーションで勝手にいっぱい持ってきているのならcontainableで引っ張ってくるデータを厳選すればいいぞ

461 名前:nobodyさん mailto:sage [2012/01/09(月) 23:58:51.05 ID:???]
>>460
ありがとうございます。
containable調べてみます


462 名前:nobodyさん mailto:sage [2012/01/10(火) 01:48:35.15 ID:???]
containつかったら88 queriesまで減らせませした


463 名前:nobodyさん [2012/01/10(火) 03:05:48.92 ID:Rzgwr3Tg]
CakePHP2.1alpha を早速いれて試してみたが、エラーメッセージ(スタックトレース)がかなり見やすくなってる

464 名前:nobodyさん mailto:sage [2012/01/10(火) 05:46:55.61 ID:???]
Cakeって気付くとめちゃめちゃクエリ投げてるよね
遅い原因の一つはこれか?

465 名前:nobodyさん mailto:sage [2012/01/10(火) 10:19:59.29 ID:???]
今頃気づいたのか
Yiiにしとけ
CakePHPはオワコン

466 名前:nobodyさん [2012/01/10(火) 12:07:44.08 ID:+4VQFJJn]
v1.2の話なんだけど
aテーブル
bテーブル
a_bテーブル
があるとして
a にhasAndBelongsToManyを設定して
a_b にbelongsToを設定したら、このbelongsToがスルーされる。なぜだかわかる?
削除用に設定したいんだけど、毎回bindModelするしかないのかな。


467 名前:nobodyさん mailto:sage [2012/01/10(火) 12:11:35.74 ID:???]
Yiiってほとんどのレンタルサーバーで使えないじゃんw



468 名前:nobodyさん mailto:sage [2012/01/10(火) 13:05:20.54 ID:???]
PDO使うからか?

469 名前:nobodyさん mailto:sage [2012/01/10(火) 13:14:52.36 ID:???]
Yiiっていいの?

470 名前:nobodyさん mailto:sage [2012/01/10(火) 13:32:02.30 ID:???]
>>466
recursive設定するのはどうかな

471 名前:nobodyさん mailto:sage [2012/01/10(火) 19:50:56.57 ID:???]
最近2.0使ってるんだけど、本番環境時に/foos/barとか適当なURLにアクセスすると
表向きは404返してくれるんだけど、error.logにmissing controllerが記録されるようになった気がする
テスト環境時はmissing controllerエラーを表示してくれてOKだけど、本番でそれがerror.logに記録されるのはなんか変じゃないか?
/robots.txtとか/favicon.icoとかにアクセスがあったら、ひたすらerror.logに記録されちゃってるし(ファイルがない場合)

472 名前:nobodyさん mailto:sage [2012/01/10(火) 21:31:38.90 ID:???]
それ、php.iniの設定では?

473 名前:471 mailto:sage [2012/01/10(火) 22:52:12.56 ID:???]
>>471
説明不足ですまぬ
/app/tmp/error.logに記録されまくって困っている

474 名前:nobodyさん mailto:sage [2012/01/11(水) 09:07:32.93 ID:???]
>>471
.htaccessでなんでもかんでもCakePHPに渡すようになってる事が問題

475 名前:nobodyさん mailto:sage [2012/01/11(水) 16:35:42.80 ID:???]
設定でExceptionHandlerがログを取るかどうかが指定できたような気がする
今再インストール中で確認できないが

476 名前:471 mailto:sage [2012/01/11(水) 19:36:53.02 ID:???]
>>474
1.3の頃はそんなことなかったんだけどなあ

>>475
サンクス
ちょいと調べてみる

477 名前:nobodyさん mailto:sage [2012/01/12(木) 06:51:34.68 ID:???]
2.0ではController::cakeError()の代わりにどうやってエラー画面出すの?



478 名前:nobodyさん mailto:sage [2012/01/12(木) 13:41:50.62 ID:???]
>>477
c-brains.jp/blog/wsg/11/12/08-114554.php

479 名前:nobodyさん [2012/01/12(木) 20:06:56.05 ID:srRhUW1K]
>>470
返信サンクス
解決方法探し当てた。
d.hatena.ne.jp/cakephper/20100826/1282798441

480 名前:nobodyさん [2012/01/13(金) 01:39:04.98 ID:ayVGOPQu]
通常セッションの有効期限はcore.phpで設定すると思いますが、
コントローラーの中で動的に変更したい場合どうすればいいですか?

481 名前:nobodyさん mailto:sage [2012/01/13(金) 17:22:59.89 ID:???]
Cakeで作られたサイトのフォーム見ると、

<input name="data[Post][title]"
じゃなくて
<input name="title"

になっている場合があるのですが、
これって単にフォームヘルパーを使ってないだけですかね?
それともフォームヘルパーでnameを配列にしない方法があるのでしょうか?

482 名前:nobodyさん mailto:sage [2012/01/13(金) 18:28:21.82 ID:???]
Cakeのヘルパーは使えないことで有名だからな


483 名前:nobodyさん mailto:sage [2012/01/14(土) 21:18:17.06 ID:???]
関数で帰ってきた配列を代入せずに、
そのまま添字付けることって可能?

test()['test']

みたいな

484 名前:nobodyさん mailto:sage [2012/01/14(土) 21:28:07.86 ID:???]
やってみりゃいいじゃん

485 名前:nobodyさん mailto:sage [2012/01/14(土) 21:47:35.89 ID:???]
できなかったから他の方法ないかなぁと思って
内部的に戻ってきた配列に添字つけて参照するだけだし、
難しそうではないんだけどなぁ

486 名前:nobodyさん mailto:sage [2012/01/14(土) 21:55:23.06 ID:???]
あーよく俺もそれできたらいいなと思う
つーかCake関係ないやんそれ

487 名前:nobodyさん mailto:sage [2012/01/15(日) 00:09:42.08 ID:???]
function getValueFromFunc($func,$key) {
$a = $func();
return $a[$key];
}



488 名前:nobodyさん mailto:sage [2012/01/15(日) 15:39:15.61 ID:???]
blog.s21g.com/articles/20
こんな感じでURLを丸ごとパラメータとして渡したいんですが
Cakeでやる方法があったら教えてほしいです

489 名前:nobodyさん mailto:sage [2012/01/15(日) 16:40:34.32 ID:???]
cakeってパラメータにメタ文字使えないんじゃ

490 名前:nobodyさん [2012/01/16(月) 17:55:18.55 ID:l7Fd5fgU]
.NET interoperability overview of Phalanger 3.0
www.php-compiler.net/blog/2012/net-interoperability-overview-of-phalanger-3-0

491 名前:nobodyさん mailto:sage [2012/01/16(月) 19:49:38.62 ID:???]
>>485
PHPの公式コミュニティ行って頼んでこいよハゲ

492 名前:nobodyさん mailto:sage [2012/01/17(火) 00:47:37.68 ID:???]
1.3.10使ってるんだけど、cccが3のレコードのaaaとbbbを更新したくて

$this->updateAll(array('aaa' => 1, 'bbb' => 2), array('ccc' => 3));

だと失敗して

$data = $this->find('first', array('conditions' => array('ccc' => 3), 'field' => array('id')));
$data['ModelName']['aaa'] = 1;
$data['ModelName']['bbb'] = 2;
$this->save($data);

だと成功する。今まで2年ぐらいCake使っててこういうの初めてで、何故だかわからないんだけど
わかる人いる?

493 名前:nobodyさん mailto:sage [2012/01/17(火) 01:07:49.33 ID:???]
>>492
1個目の例で失敗しそうにないけど、何て出て失敗するの?

494 名前:nobodyさん mailto:sage [2012/01/17(火) 01:37:40.29 ID:???]
事故解決。これでした
stackoverflow.com/questions/4488945/cakephp-updateall-not-working

495 名前:nobodyさん mailto:sage [2012/01/17(火) 02:50:02.37 ID:???]
Cake2.0を使ってます。モデル内でコンポーネントを使っていて
PHPUnitでそのモデルをテストすると
Fatal error: Class 'Component' not found in /path/to/Controller/Component/HogeComponent.php on line xx
と怒られる。

ちなみにモデル内でのコンポーネントの呼出はこんな感じ。
App::uses('HogeComponent', 'Controller/Component');
$hoge = new HogeComponent(new ComponentCollection());

Call Stackの最後にはinclude( '/path/to/Controller/Component/HogeComponent.php' )とあるんだけど
これはコンポーネントのインクルードでなにか問題があったということかな?

コンポーネントが見つかりませんというエラーメッセージについて分かる人いたら教えてください。


496 名前:nobodyさん [2012/01/17(火) 02:58:24.75 ID:7jQnUKTc]
斜め読みだけど、その HugeComponent の冒頭に
App::uses('Component', 'Controller');
と付け加えればよいのでは?

497 名前:nobodyさん mailto:sage [2012/01/17(火) 04:10:42.74 ID:???]
それならテストコードにつけるべきだな。
モデルでコンポーネント使う設計についてはもはや何も言うまい



498 名前:nobodyさん mailto:sage [2012/01/17(火) 08:53:23.17 ID:???]
>>496
斜め読みすげえ!
エラーが消えてテストできるようになったよ。サンクス!

499 名前:nobodyさん [2012/01/17(火) 11:04:16.23 ID:7jQnUKTc]
>>498
CakePHPは、2になってクラス階層を意識する場面が多くなったと思う。
2.1ではさらにその傾向が強くなっている。
2で開発しているのだったら、今のうちに2.1にアップグレードしておくのをおすすめする。

500 名前:nobodyさん mailto:sage [2012/01/17(火) 15:19:00.74 ID:???]
2.1ってそんなに変わるのか?
リリースによれば2.0と完全後方互換があるらしいけど

501 名前:nobodyさん mailto:sage [2012/01/17(火) 16:07:54.57 ID:???]
1.3で開発してるけど、後々問題になりますか?

502 名前:nobodyさん mailto:sage [2012/01/17(火) 17:59:13.26 ID:???]
>>501
1.3→2系の移行は結構な手間になるから
新しく作るなら2にしといた方がいいんじゃないすかね。

503 名前:nobodyさん mailto:sage [2012/01/17(火) 20:03:02.72 ID:???]
フレームワークのほうが面倒になるとか本末転倒だな

504 名前:nobodyさん mailto:sage [2012/01/17(火) 20:24:27.94 ID:???]
Phalanger 3.0 (2012年1月) をリリースしました。
awabi.2ch.net/test/read.cgi/poverty/1326781620/


505 名前:nobodyさん mailto:sage [2012/01/17(火) 20:36:02.54 ID:???]
>>501
ディレクトリ階層がかなり変わったので、別物と考えた方がいい。

506 名前:nobodyさん mailto:sage [2012/01/17(火) 21:29:13.39 ID:???]
みんなはもう2系で開発してるの?情報少なくないか?

507 名前:nobodyさん mailto:sage [2012/01/17(火) 23:25:43.99 ID:???]
ゼロから始める人には入門情報が少なくて厳しい状況かも知れないね
でも1.x系の開発経験あれば、マイグレーションガイドを見つつ書いていけば何とかなる
何とかならなかったときにはこのスレがある



508 名前:nobodyさん [2012/01/18(水) 11:54:09.09 ID:1MLy4CWB]
v2のメリットは、実行速度の向上につきると思う。
問題は、既存の資産が直接使えなくなったこと。
特にAuthまわりは、完全に変わってしまっている。
これまで、直接 Auth コンポーネントをオーバーライドして機能拡張していたんだけど、すべて書き直して、プラグイン化した。
*機能拡張の内容は、「ユーザ登録確認メールの送信」「オートログイン」「SSL対応」「権限チェック」。
しんどかったけど、今後のプロジェクト間での使い回しと拡張性が確保できた点では、それなりのメリットが見込めそう。
メール送信も大きく変更された部分だが、これはすばらしい出来。

509 名前:nobodyさん mailto:sage [2012/01/18(水) 14:59:56.52 ID:???]
Authが異なるのは辛いな・・。
メール送信や画像アップロードはライブラリ作ってるけど、
Authはフレームワーク全体に関わることだからな

510 名前:nobodyさん [2012/01/22(日) 17:25:08.97 ID:MxKFDdQF]
1.3系での話しですが、日本語メールを送る場合
EmailComponent::templateで指定したファイルの文字コードは
UTF-8もしくはShift-JIS、どちらが正しいのでしょうか?

511 名前:nobodyさん mailto:sage [2012/01/22(日) 22:16:15.47 ID:???]
文字コードで迷ったらutf-8がいいですよ。
あとあと楽です。

512 名前:nobodyさん mailto:sage [2012/01/23(月) 00:38:44.40 ID:???]
全角含まないで保存すると元に戻るのが煩わしい

513 名前:nobodyさん mailto:sage [2012/01/23(月) 06:06:15.69 ID:???]
function add() {} // 保存アクション
function edit() {} // 編集アクション
↑8割方同じ処理をしているアクションがあるときどうしてる?
俺はaddに同一処理かいて、
エラーや編集のときの個別処理だけeditに書いてるんだけど、
アクションのURLが違うからエラーでの書き込みフォームに戻る処理などが難しい
editでreturn;するとeditビューが呼ばれてしまう

514 名前:nobodyさん [2012/01/23(月) 11:36:23.68 ID:Vo1w/brb]
echo $form->select('Order.prefectures', array(
'北海道' => '北海道',
'青森県' => '青森県',
'岩手県' => '岩手県',
'宮城県' => '宮城県',
'秋田県' => '秋田県',
'山形県' => '山形県',
'福島県' => '福島県',
'茨城県' => '茨城県',
(中略)
'鹿児島県' => '鹿児島県',
'沖縄県' => '沖縄県'
), 1, array('empty' => null, 'class' => 'orderform')) . PHP_EOL;
と書いたんですが、出力をみると一つ目の北海道にselectedがついてなくて、

<option value="福島県">福島県</option>
option value="茨城県">茨城県</option>

と茨城県だけ頭の<が出ないです
茨城の項目を削除すると、次の栃木の頭の<が消えるので福島が原因かと思ったんですが
福島を消しても栃木が消えるので8個目が消えるという感じかも知れないんですが
解消する方法ご存知でしたらお教えくださいますようよろしくお願いいたします



515 名前:nobodyさん mailto:sage [2012/01/23(月) 12:43:46.65 ID:???]
日本語文字コードじゃね?

516 名前:nobodyさん mailto:sage [2012/01/23(月) 15:21:45.11 ID:???]
>>515
ありがとうございました
google chrome の問題だったみたいです

517 名前:nobodyさん mailto:sage [2012/01/23(月) 16:49:13.48 ID:???]
>>513
俺はaddとeditは一緒にaddの中に書いて、idがあるかどうかで条件分岐してるわ
アクション分けたいならfunction _addOrEdit()みたいなのをつくって、共通処理はそこに突っ込めば?



518 名前:nobodyさん mailto:sage [2012/01/24(火) 16:24:41.34 ID:???]
cake2.0でdatetimeのフォームから送信した年月日が,配列のままDBに格納されようとしてエラーが出ます。
deconstructが効いていない理由がわかりません…助けて。

view:
echo $this->Form->label('birthday', '生年月日');
$minY = date('Y')-100;
$maxY = date('Y')-18;
echo $this->Form->datetime('birthday', 'YMD', null, array('monthNames' => false, 'minYear' => $minY, 'maxYear' => $maxY, 'separator' => array('年', '月', '日')));

コントローラ:
if(!$this->Hoge->save($this->request->data)) {
$this->Session->setFlash('データの登録に失敗しました。');
}

Formヘルパー(separatorの配列対応):
//$opt = implode($separator, $selects);
$opt = "";
$i = 0;
if (is_array($separator)) {
foreach($selects as $select) {
$opt .= $select.$separator[$i];
$i++;
}
} else {
$opt = implode($separator, $selects);
}

519 名前:nobodyさん mailto:sage [2012/01/24(火) 22:58:24.14 ID:???]
>>518

手元で検証してみたら、確かにModel::deconstruct()が仕事しなかった。
んで、最新版落っことしてきて、コアの部分をすげ替えたら動いたよ。
cake2最初期版はなんか問題があったんかもしれんね。

ついでにもうひとつ。
FormHelper::dateTime()だけど、引数の取り方変わってるよ。
その書き方でほんとにプルダウン生成されてるかい?

book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html#formhelper






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef