【PHP】フレームワーク CakePHP 5ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/19(金) 15:52:19ID:ylogT+7chttp://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
cookbook(マニュアル)
http://book.cakephp.org/ja
the Bakery
http://bakery.cakephp.org/
■日本語フォーラム
http://cakephp.jp/
■過去スレ
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0759nobodyさん
2009/02/16(月) 21:54:17ID:???つ http://book.cakephp.org/ja/view/18/
0760nobodyさん
2009/02/16(月) 21:58:13ID:???>739で教えて頂いたのはFormHelperの拡張だったけど、
同じ機能を、
class DateFormHelper extends AppHelper {
var $helpers = array('Form');
でもほぼ同じで実現できる。できるんだけど・・・
FormHelperの拡張の方がいいのか?
FormHelperを読込む方がいいのか?
パフォーマンスに違いって出る??
0762nobodyさん
2009/02/16(月) 22:24:43ID:???0764nobodyさん
2009/02/17(火) 00:34:45ID:???あんた天才。
email や name っていうよく使う奴だったら validation behaviour を作って、
それにまとめてかいて actas で読み込むってことか。
ナイス、アイデア!
0765nobodyさん
2009/02/17(火) 06:29:15ID:???最近のフレームワークはみんな、バリデーションをモデルに書くものなのかな?
0766nobodyさん
2009/02/17(火) 09:56:53ID:???何のためのapp_modelだと思っているのだ、キミは。
>>763-764
複数のappで共有するためにbehaviorを使うということかな?
具体的にどうするんだろうか?
setupで、$model->validateを書き換え、ってことかな?それとも、beforeSaveを利用するの?
0767nobodyさん
2009/02/17(火) 10:00:17ID:???0768nobodyさん
2009/02/17(火) 17:55:44ID:???それともURLパラメータにセットすべきなの?
0770nobodyさん
2009/02/17(火) 21:53:41ID:???0771560
2009/02/18(水) 10:11:30ID:???0772nobodyさん
2009/02/18(水) 10:25:52ID:???つ http://pc11.2ch.net/test/read.cgi/php/1229960175/
0773nobodyさん
2009/02/18(水) 12:03:42ID:???0774nobodyさん
2009/02/18(水) 16:57:38ID:???フォームのname属性見るだけで
データベースのスキーマが手に取るようにわかっちゃうのがなんか嫌。
0775nobodyさん
2009/02/18(水) 17:04:35ID:???0776nobodyさん
2009/02/18(水) 19:23:15ID:???0777nobodyさん
2009/02/18(水) 19:27:16ID:???もともとスキーマが分かれば攻撃できちゃうような
駄目システムがさらに弱くなるってことか?
0778nobodyさん
2009/02/18(水) 19:31:09ID:???脆弱性が見つかった後の防御が落ちる
0779nobodyさん
2009/02/18(水) 20:25:48ID:???0780nobodyさん
2009/02/18(水) 20:45:10ID:???商用でもOKってことですか?
0781nobodyさん
2009/02/18(水) 20:47:06ID:???0782nobodyさん
2009/02/18(水) 20:47:11ID:???要するにフィールド名がすぐにわかるようではセキュリティに問題があるということね。
なら、君は今から、
「脆弱性対策のために安易に推測できるフィールド名を使わないようにする。」
というルールを提唱するべきだ。
例
商品名のフィールド名を product_name にしてはいいけない。
値段のフィールド名を price にしてはいけない。
0783nobodyさん
2009/02/18(水) 23:04:31ID:???ttp://blog.livedoor.jp/coelacanth_blog/archives/55093835.html
0784nobodyさん
2009/02/19(木) 00:14:13ID:???落ち着けよ。
「出さなくて済む情報は可能な限り出さない」
はセキュリティの基礎の基礎でしょうが。
>商品名のフィールド名を product_name にしてはいいけない。
product_nameだろうとfooだろうとbarだろうと
「公開されているのは、公開されていないより、
セキュリティ的には望ましくない」
あとは生産性その他との
トレードオフでどう考えるかという話。
(でもスキーマが判るのはcakeに限らないんじゃないか?
よく知らんけど)
0786nobodyさん
2009/02/19(木) 09:54:12ID:???つまり、HtmlHelper で足りないものをTextHelperで補うイメージかと。
本来のbehaviorのあり方からいくと、役割が違うというのは、今まで類似のものがない(よね?)ことからも窺い知れるが。
0787nobodyさん
2009/02/19(木) 11:24:36ID:???しても、なかなか1回で全ての関連テーブルを
認識してくれないのって、そのうち直るのかなぁ。
今は、何回かbake allすると、少しずつ認識される感じ。
0788nobodyさん
2009/02/19(木) 12:06:46ID:???layout で <body id="bodyContainer"> とかいてあるものを使っているのですが、
いくつかの view だけ body の onload を書きたいのですが、
onload のために layout がどんどん増えるのは嫌なので、
view から body に onload を足す事できないかなぁ、と。
何かよい方法ないでしょうか?
0791nobodyさん
2009/02/19(木) 12:47:55ID:???0792nobodyさん
2009/02/19(木) 12:54:43ID:???view\layouts\default.ctp には
<body id="bodyContainer">
<?php e($content_for_layout); ?>
</body>
とあって、コントローラからは
var $layout = "default";
としてレイアウトを利用しています。
ここで、あるビューだけ、レイアウトは default.ctp を使いつつ
body タグの内容を
<body id="bodyContainer"> → <body id="bodyContainer" onload="hoge();">
にかきかえたいですが、コントローラでどのようにセットすればいいんでしょうか?
0793nobodyさん
2009/02/19(木) 13:42:29ID:???setした内容は$content_for_layoutの中身だけで使えるわけじゃないです。どこでも使えます。
0794nobodyさん
2009/02/19(木) 14:09:58ID:???もしかして、コントローラで、
$this->set("body", '<body id="bodyContainer" onload="hoge();">');
して、view\layouts\default.ctp の中で、
<?php e($body); ?>
こうするって事?
もしそうなら、(わがままかもしれませんが)
そのレイアウトを使う全てで body を set しないといけなくなるので、
まるごと出力じゃなくて、場合によって
追記、もしくは置換できるといいんですけど…。
いくらなんでもそこまでは無理でしょうか。。。
0795nobodyさん
2009/02/19(木) 14:22:39ID:???0797nobodyさん
2009/02/19(木) 14:45:31ID:???そうか…そうですね…。
頭カチカチだったようです…。
情けない…。
大変ありがとうございました。
0798nobodyさん
2009/02/19(木) 17:11:58ID:???0799nobodyさん
2009/02/19(木) 17:50:53ID:???0800nobodyさん
2009/02/19(木) 18:53:52ID:???0801nobodyさん
2009/02/19(木) 18:54:22ID:???0802nobodyさん
2009/02/19(木) 19:47:50ID:???0803nobodyさん
2009/02/19(木) 19:57:34ID:???そういった場合はフォームヘルパー使えないよね?
0804nobodyさん
2009/02/19(木) 20:01:14ID:???キミがやろうとすることは大体できると思って良い
http://book.cakephp.org/ja/view/547/
http://book.cakephp.org/ja/view/75/
0805nobodyさん
2009/02/19(木) 20:09:14ID:???Cakeで構築されたサイトは表示してないですけど
どうでしょ?
0808nobodyさん
2009/02/19(木) 20:22:31ID:???ライセンスの事は気にして
無かったけど。
アクセスして来る人にも
ライセンスを見せないといかんの?
0809nobodyさん
2009/02/19(木) 20:26:56ID:???0810nobodyさん
2009/02/19(木) 20:36:35ID:???formヘルパーのcreateメソッドの$modelには何を入れるべき?nullでいい?
0812nobodyさん
2009/02/19(木) 20:45:25ID:???0815nobodyさん
2009/02/19(木) 21:05:17ID:???HABTMにしてる。memberが1,2,3、projectがA,Bとする。
・project Aにmember 1,2が関わり、
・project Bにmember 2,3が関わる。
この状態で、project Aのmemberを1,3にすると、
project Bに関わるmemberから、member 2が消えてしまう。
たぶん自分が悪いんだろうと思うのだけど、
素朴なHABTMモデルなので、理由が分からず。。。
0816nobodyさん
2009/02/19(木) 21:12:05ID:???0817nobodyさん
2009/02/19(木) 21:56:13ID:???0819nobodyさん
2009/02/19(木) 22:05:03ID:???0820nobodyさん
2009/02/19(木) 22:12:17ID:???0821nobodyさん
2009/02/19(木) 22:21:22ID:???「Cakeで作ってます」って表示する方が
セキュリティのリスクが高くなるじゃん。
0822nobodyさん
2009/02/20(金) 00:20:06ID:???0823nobodyさん
2009/02/20(金) 00:40:30ID:???0824nobodyさん
2009/02/20(金) 00:45:27ID:???0825nobodyさん
2009/02/20(金) 00:52:40ID:???0826nobodyさん
2009/02/20(金) 01:01:35ID:???815です。まさにそれでした。
'unique'=>false、とすると、大丈夫なんですね。
助かりました。ありがとう。
# trueがデフォルトらしいけど、trueの使い方が分からない。。。
0827nobodyさん
2009/02/20(金) 01:07:11ID:???この流れは秀逸。
そーっすねというありきたりな発言から、最終的には村上ジョージになってしまうという。
0828nobodyさん
2009/02/20(金) 01:39:48ID:???if (!empty($this->data))...
みたいに判定するのがなんか気持ち悪いんですが、
みなさんどうしてます?
RequestHandlerとか使えばいいのかな?
0829nobodyさん
2009/02/20(金) 03:22:14ID:???0830nobodyさん
2009/02/20(金) 10:08:57ID:???思いつきだけど
オレオレComponent(かapp_controller)でチェックするのもよいかも
if ( $this->Ore->isPost() ) ...
入力補完が効く分、良いかな?
0831nobodyさん
2009/02/20(金) 10:22:41ID:???・・・って今更か。
0832nobodyさん
2009/02/20(金) 15:23:39ID:???0833nobodyさん
2009/02/20(金) 18:16:44ID:???reserfにされた。あほー
これ、どうしたらいいと思う?
1)複数形のルールを書いてbakeし直す
2)reserf→reserveに自分で全部書き直す
3)そのまま使う
0835nobodyさん
2009/02/20(金) 19:15:41ID:???0836nobodyさん
2009/02/20(金) 19:16:04ID:???0838nobodyさん
2009/02/20(金) 19:29:22ID:???RoRはあんまり触ったことがないんだよね。
チュートリアルやってみた感じだと、cakePHPと似てるみたいだけど。
0840nobodyさん
2009/02/20(金) 21:11:09ID:???0841nobodyさん
2009/02/20(金) 22:04:37ID:???0842nobodyさん
2009/02/21(土) 00:44:11ID:???1.1は重すぎる。
0843nobodyさん
2009/02/21(土) 00:56:54ID:YnbiMze9PHPのメモリーリミット(8M)に引っかかってエラーになってしまいます。
ローカル環境ならPHPのメモリー設定すれば使えるんですが、
本鯖は設定がいじれないので困ってます。
Qdmail使ってる方はそんなにメモリー食いませんか?
なんか軽く使えるような設定あるんでしょうか?
0844nobodyさん
2009/02/21(土) 01:29:06ID:???用心のためのリミット。
ソフトウェアから簡単に上限を変更できる。
まあ共有サーバーでしょうから節度を守った使い方をするように。
0845nobodyさん
2009/02/21(土) 02:30:33ID:YnbiMze9レンタル鯖で、php.iniや.htaccessではダメだったんですが、
phpの中からメモリ設定してやればOKでした。ヒントどうもありがとう。
0846nobodyさん
2009/02/21(土) 08:15:24ID:???Qdmail使っているけどひっかかったことはないし、Qdmailというより、そこまでの処理だとかメールの内容とかの問題のように思うが。
0847nobodyさん
2009/02/21(土) 11:34:41ID:???メール本文は当然、タイトル(見出し)、送信者名の日本語が絶対文字化けしない。
CakePHPで安心して日本語メールが送れる。
Qdmailの使い方 CakePHPでのメール送信
http://hal456.net/qdmail/cakebase#c
※CakePHP1.2から「Emailコンポーネント」が標準装備されたが、日本語メール送信
には少々難あり。残念!
0848nobodyさん
2009/02/21(土) 15:29:15ID:???問題ある部分の文字コードなどを変換して送信とかしてる。
必要な部分しか対応していないけど。
0849nobodyさん
2009/02/21(土) 17:11:38ID:???問題のある部分ってどこなの?
to , from , subject であってる?他もある?bodyとか
結局Qdmail使ってるんだけど、本当はMailComponent使いたいんだよね。
0850nobodyさん
2009/02/21(土) 17:37:44ID:???0851843
2009/02/21(土) 17:49:16ID:???そうですか。使い方はいたって普通というか、Qdmailのサイトに乗っている通りの使い方です。
例えば、users_controllerで登録したユーザーにメールを出すという感じの使い方で、
var components = array('Qdmail'); として、
function _sendusermail() みたいに関数にして作ってます。
でも、users/index みたいにQdmailを使わないアクションを呼び出しても、
メモリエラーが出ます。var components からQdmailを外すとエラーは出ません。
ので、Qdmailを読み込んだ時点でメモリを凄く食ってるのかな。と思ってるのですが。
とりあえず、ini_set("memory_limit", "-1"); とやって制限を外すことで動きました。
0852nobodyさん
2009/02/21(土) 18:00:40ID:???CakePHP1.2のEmailコンポーネントは、
ファイル添付で、日本語ファイル名もNGじゃなかったかな?
Qdmail使っとく方が悩まなくて良いと思うけどなあ?
なぜ、EmailComponent使いたいの?
0853nobodyさん
2009/02/21(土) 18:14:23ID:???CakePHP 1.2.0.6311-betaの08/02/21のEmail Componentの調査報告
p.19〜p.28に日本語メールの事が書いてある。
http://handsout.jp/slide/225
0854nobodyさん
2009/02/21(土) 23:31:08ID:???他の、例えばpagenatorの変数と干渉せずに、追加して、
取得するには、どうしたら良い?
0856nobodyさん
2009/02/22(日) 00:50:22ID:???当たり前かもしれませんが・・・
アクションに渡すパラメータが先で、
namedに入れるのはurlの最後ですよね?
■ このスレッドは過去ログ倉庫に格納されています