【PHP】フレームワーク CakePHP 7ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/01(火) 16:12:06ID:XVdxsVut※sage推奨
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
thechaw
http://thechaw.com/projects
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
CakeMatsuriTokyo2009
http://matsuri.cakephp.jp/
0495nobodyさん
2009/11/24(火) 00:32:34ID:???0496nobodyさん
2009/11/24(火) 01:50:47ID:???どうなるんだ
俺はDonateしたけど。
0497nobodyさん
2009/11/24(火) 23:14:47ID:???DB設計などの地味?な分野はサッパリわからん!
という人の比率が高いんじゃね、Web屋には。
0498nobodyさん
2009/11/25(水) 02:33:33ID:???なんか解決法あるんでしょうか?
0499498
2009/11/25(水) 02:41:14ID:???>Currently, callbacks in behaviors are not triggered on recursive finds.
>This is done by design, but changing it is something to consider in the future.
だそうで・・・なんでじゃー
0500nobodyさん
2009/11/25(水) 02:51:15ID:???0501498
2009/11/25(水) 02:59:58ID:???そうみたいですね。すいません。
とりあえずモデルに書いてやり過ごします。
0502nobodyさん
2009/11/25(水) 23:32:21ID:???目次は「http://domain.com/tables/index/1」のようなURLで、
「動物」「植物」などのジャンル別に同じようなリンク群を用意します。
各リンク群の差異は、テーブル名だけになります。
んで抽象的な質問なんですが
ポリシー?として、このリンク群にも毎回Htmlヘルパーのリンク出力メソッドを使うべきでしょうか?
リンク群をベタで一つだけ書いて、str_replaceでテーブル名をジャンルごとに置換出力するほうが
ソース的にすっきりするので、そうしようとしているんですが…
フレームワークのお作法と言うか、ある関数は使うべきと言うか、
そう言う点で多少無理があってもヘルパー使うべきですか?
変な質問でスミマセン
0503nobodyさん
2009/11/25(水) 23:45:15ID:???気になるならヘルパー作ればいいし
elementを利用するもよし
0505nobodyさん
2009/11/27(金) 08:36:18ID:???って出てるんですが、Testsってコントローラーは作ってもTestというモデルは作ってません。
なんでこういうエラーがでるんでしょうか?
0507nobodyさん
2009/11/27(金) 13:24:00ID:???どういうことですか?
0508nobodyさん
2009/11/27(金) 13:53:50ID:???0509nobodyさん
2009/11/27(金) 21:18:25ID:???authComponentを使っているのですが
firefoxやgoogle chromeだとうまいことログインできるのですが
IE6だとログイン→リダイレクト先のログインチェックではじかれる→ログインということで
ログイン画面がループしますが、原因が不明です。
ご教授お願い致します。
0511nobodyさん
2009/11/29(日) 00:08:36ID:???第6回(http://gihyo.jp/dev/serial/01/cakephp/0006)をやってみたところ
タスクの追加は正常に行えるのですが、タスクの内容が表示されません。
というか入力フォームに入力した内容がデータベースのcontentに格納されていないようで
contentのtextが空になっています。
何か原因が思い当たるケースはありますでしょうか
0512nobodyさん
2009/11/29(日) 07:36:33ID:???DBの文字コードをチェックし
app/config/database.php の encoding を指定する utf8 とか
でどう?
0513nobodyさん
2009/11/29(日) 11:49:13ID:???レスありがとうございます。
照合順序もutf8ですし、encodingもutf8に指定してあります。
良くないんですけど解決しないまま
第7回(http://gihyo.jp/dev/serial/01/cakephp/0007)をやってみたところ
editで内容を編集した場合にはcontentに正常に格納されています。
0514nobodyさん
2009/11/29(日) 16:26:57ID:???いちいちダウンロードして見るもの面倒だし。
良い方法ないかな。
0515nobodyさん
2009/11/29(日) 16:50:36ID:???管理画面からそのページ開いてる
開発権限でログインしたときのみ見れる。
うちはShellからの軌道をよく使うからこういうのないときつい
0516nobodyさん
2009/11/29(日) 20:41:32ID:???echo $form->create("Task",array("url"=>array('action' => 'add')));
echo $form->inputs(array("content"));
echo $form->end("add");
ver.1.2以上だったら$form使ったほうがいい。
0517nobodyさん
2009/11/29(日) 23:02:58ID:???解決しました。
ありがとうございます。
formには書き換えてたんですがinputの箇所が正しく書けていなかったようです
0518nobodyさん
2009/11/30(月) 11:50:29ID:???どのようにすべきでしょうか?良いライブラリなどありましたらお教えください。
0520nobodyさん
2009/11/30(月) 16:10:47ID:???これって変更できないんでしょうか?
idをauto incrementで付与せず手動で付与するテーブルの管理にscaffoldが使いたいのです。
0523nobodyさん
2009/11/30(月) 20:13:43ID:VRbng4qphttp://exmaple.com/test
にアクセスすると、app/views/layouts/test.ctpがちゃんとヘッダ、フッタが反映され
思い通りに表示されます。
一方、http://example.com/にアクセスされて表示させるには
どこのどのファイルをいじればいいのでしょうか?
つまり、HTTPのルート直下のページを作りたいのです。
これはアクションなしと言うことなのでしょうか?
0524nobodyさん
2009/11/30(月) 20:25:10ID:???一回部ログチュートリアルとかこなしてから来てね
ばいばい
0525nobodyさん
2009/11/30(月) 20:46:11ID:???0526523
2009/11/30(月) 22:01:31ID:???0528nobodyさん
2009/12/01(火) 05:46:31ID:iKHu3fPbapp_controller に Cookie コンポーネントを使っています
hoges コントローラーの beforeFilter メソッドで app_controller の beforeFilter メソッドを呼んでいて
beforeFilter(app) のメソッド内で Cookie->write でクッキーに保存した値を
hoges コントローラーの index アクション内で Cookie->read をして先ほどのクッキーを読み出すことは可能なんですが
beforeFilter(app) のメソッド内で Cookie->name のクッキー名を変更するとなぜか読み出せないんですよね
でもブラウザに保存されてるクッキーを確認すると、変更後のクッキー名でクッキーが保存されてるんで読み出せるはずなんですがロード出来ません
荒技で cookie コンポーネントのPHPファイルの var $name を 最初から 'CakeCookie' から任意の名前に変更してみてもロード出来なくて絶望しました
$_COOKIE 使って実装するのは暗号化も行ってるし何よりフレームワーク使ってる観点から保守性が低いのでそれ以外で誰かお願いします
0529nobodyさん
2009/12/01(火) 09:41:32ID:???http://api.cakephp.org/view_source/cookie-component/#line-236
Optional [Name.], reguired key
$this->Cookie->read(Name.key);
0530nobodyさん
2009/12/01(火) 17:52:30ID:???read 出来るときと出来ない時のコードの変更が beforeFilter(app) のメソッド内で Cookie->name のメソッドの追加の有無だけなんで
引数が間違ってるっていうのは無いです
一応自己解決(完結?)したので…
質問してから CookieComponent 調べていくと write 後、$_COOKIE で書き込んだ値を取得してみるとなぜか取得出来なくて
でもブラウザにはクッキーが保存されてるので 2回目以降のアクセスだとクッキーが読み込まれるんですよね
それで Cookie->name でクッキー名を変更しなければ、write してから read すると読み込まれているからどうやってクッキーを取得してるのかと思って調べてみると
write すると CookieComponent のメンバ変数の $__values に値を保存して read 時はその変数から取得していて
結局 CookieComponent のメンバ変数にクッキーを保存して取得してた流れみたいでした…
で、Cookie->name でクッキー名を変更を行わないと上のような処理になって、write 後 read しても読み取れるんですが
変更しちゃうと hoges_controller の beforeFilter が終わると $__values に変更後のクッキー名のクッキーを読み込んで write した値が消える事が原因だったみたいです
write しているタイミングが app_controller の beforeFilter メソッド内でやっているので Cookie->name を追加すると必ず $__values の値はリセットされるので
hoges_controller のアクションメソッドで read しないで、beforeFilter 内で read してapp_controller のメンバ変数に入れた後で
hoges_controller のアクションメソッドで変数を参照するということで完結しました…
CookieComponent って万能じゃ無いんだね…
なんで write 後、$_COOKIE で取得出来ないのかわけ判らんのですが長文でごめんなさい
0532nobodyさん
2009/12/01(火) 20:27:49ID:???ksg
0533nobodyさん
2009/12/01(火) 20:29:33ID:???くそが?
0534nobodyさん
2009/12/01(火) 21:09:47ID:???0535nobodyさん
2009/12/01(火) 22:56:59ID:???0536nobodyさん
2009/12/02(水) 00:42:54ID:???0537nobodyさん
2009/12/02(水) 01:02:04ID:???0539nobodyさん
2009/12/02(水) 13:04:05ID:???高速型
0541nobodyさん
2009/12/02(水) 19:45:19ID:???ソース読めばいいんじゃね?
いやダジャレじゃなくてまじで
まあその前にmdbファイルとやらの仕様調べてこいって話だが
0542nobodyさん
2009/12/03(木) 20:35:05ID:???0543nobodyさん
2009/12/04(金) 00:15:22ID:???http://localhost/hello/bye/
ってアドレスがあったら、まず
DefaultControllerのhello actionを探して、有ったら、
それを実行。
なかったらHelloControllerのbye actionを探して実行
ってなカスタマイズしたいのですけど、よくかわりません
だれかおしえてぽ
というかそのようなことが可能かどうか
というかオープンソースだから不可能はないだろうけど・・・
とはいっても、cakeのcoreに本格的にメスを入れるほど技量はないかも。
0544nobodyさん
2009/12/04(金) 07:38:54ID:???Routingでは対応できないから一旦振り分け用のaction呼んでそこからrequestActionすればできるけど
でもそもそもそんなことするシーンが分からん
具体的な例をおくれ
0545nobodyさん
2009/12/04(金) 09:52:00ID:???routingで出来ないとわかっただけでも有り難いわ。でないと、その辺の資料あさり続けていたし。でもそれをやってしまうとケーキの良いところがそげてしまうねえ。そうするしかないか
カテゴリーに分別して表示する情報サイトみたいなの作ろうとしてて、そのカテゴリー自体はウェブ上で可変なんだけど、URLはカテゴリーを全面に使いやすくしたいので、いきなり、
http://localhost/category1/category2/
ってアクセスで、category1に属するcategory2に属する情報を表示させたいの。でも、登録画面は、
http://localhost/regist/
だったり管理者画面が
http://localhost/admin/hogehoge/
とかっていうのもあるので、
http://localhost/category1/category2/
があったら、まず、
class Category1のCategory2アクションを探して、
なかったら、
class DefaultController extends AppController {
function showCategory() {
$mainCate = $this->param['pass'][0]
$subCate = $this->param['pass'][1]
echo "あんたは、$mainCateの$subCateにいるぜ!";
}
}
って感じのデフォルトコントローラに制御を移行してページを表示。
http://localhost/regist/
みたいのでアクセスしたら、同じようにclass Registのindexアクションを探して、実行。って感じ。
なんか、実際整理して書いてみたら、昨日書いたのと話が変わってしまったwwほんとはやりたいのはこれ。
0547nobodyさん
2009/12/05(土) 02:07:06ID:???でも俺も546に同じ
0548545
2009/12/05(土) 15:35:56ID:???でもapacheでどう書き換えるのかイメージが沸かない
ああぁ
0549nobodyさん
2009/12/05(土) 16:23:04ID:???「外部からのアクセス禁止でcronからのみ叩けるアクション」
を作るにはどうしたらいいですかね。
0550nobodyさん
2009/12/05(土) 16:38:05ID:???0551nobodyさん
2009/12/05(土) 17:01:27ID:???ありがとう。
function _test(){
}
だとだめだった。
レンタルサーバーだからローカルからってのもよくわからなくて。
0552nobodyさん
2009/12/05(土) 17:02:56ID:???0553nobodyさん
2009/12/05(土) 17:16:25ID:???0556nobodyさん
2009/12/05(土) 18:31:24ID:???0557nobodyさん
2009/12/05(土) 18:32:47ID:???ごめん。よく読み直した。
正攻法は、既定のControllerを列挙してRoutingで、それぞれのControllerに飛ばし、マッチしなかったらCategoriesControllerに飛ばす
(ちなみにResistControllerではなく、UsersControllerのregist アクションかな)
ただ、それだと、category登録時にURLとかぶってないかチェックする必要があると思うので、/a/regist のように固定のサブディレクトリを用意しておいたほうが良いかも
0559nobodyさん
2009/12/05(土) 18:56:21ID:???ありがとう。でも、rhacoがいいの。conveyor使ってみたくて。
http://conveyor.rhaco-users.jp/
0560nobodyさん
2009/12/05(土) 23:11:46ID:???0561nobodyさん
2009/12/06(日) 00:01:20ID:???0562nobodyさん
2009/12/06(日) 00:25:38ID:???0563nobodyさん
2009/12/06(日) 01:13:24ID:???0565nobodyさん
2009/12/06(日) 17:58:06ID:???adminで作ったら
admin用フィルター
admin_beforeFilter
普通用フィルター
beforeFilter
みたいに実行してくれないのですか?
自分で呼ばれたurlを解析して
beforeFilterの中で分岐させないと無理?
0566nobodyさん
2009/12/06(日) 18:15:52ID:???admin_beforeFilter の発想は無かったわ
でもurlを解析する必要はない
debug( $this->params ) せよ
0567nobodyさん
2009/12/06(日) 19:20:01ID:???なるほどっっっ!
$this->params['prefix']
で、取れるのねっ!!
でも、appをできるだけシンプルにしたいから、
cakeのdispatcherに
$controller->beforeFilter();
↓
$prefix = isset($controller->params['prefix']) ? $controller->params['prefix'] . '_' : '';
$controller->dispatchMethod($prefix . 'beforeFilter', null);
ってしてみちゃった!
どうなんだろうなぁ。
cakeに手を加えるのは・・・
自分の使いやすいようにcakeが進化していくのはいいけど、
cakeが新しくなったときに、大変だよなぁ。。。
0568nobodyさん
2009/12/06(日) 19:47:35ID:???[Message] => Array
(
[auth] => Array
(
[message] => ログインできません
[layout] => default
[params] => Array
(
)
)
)
が入るんですけど携帯用URLでログインNGの時は上記メッセージが入りません。
どうすればよいでしょうか。
0570ホクホクバカ ◆YMCgTirJag
2009/12/07(月) 01:15:39ID:???おれはmixi踏襲版
0572nobodyさん
2009/12/07(月) 12:42:06ID:???0573nobodyさん
2009/12/07(月) 13:35:03ID:???姉歯みたいにならないようにきっちり作り込んでおけばあとはそれをコピペで
サイト大量に作れて便利。
0574ホクホクバカ ◆YMCgTirJag
2009/12/07(月) 21:00:08ID:???これ作って意味があるのだろうか・・って
0575nobodyさん
2009/12/07(月) 21:19:56ID:???0576nobodyさん
2009/12/08(火) 00:35:07ID:???勉強になるよ。
完全オリジナルで作りたいのは技術者として当然だけど、
人のものをまねることにより、学ぶものが大きい。
0577nobodyさん
2009/12/08(火) 00:37:50ID:???業務でもそこそこ使われてるから、いいんじゃね
0578nobodyさん
2009/12/08(火) 00:38:19ID:???まぁ、フレームを踏襲しても中身がオリジナルだったらいいんじゃないか
0579nobodyさん
2009/12/08(火) 01:12:56ID:???irc#cakephp(注:英語)でどんなにコアな質問してみても答えが大抵1分以内に返ってくる。
あそこはヤバい
0580nobodyさん
2009/12/08(火) 01:22:23ID:???0581nobodyさん
2009/12/08(火) 01:34:37ID:???viewのエレメントからrequestActionするのが考え方としては一番スッキリするんだけど、
重くなっちゃいますかね?
0582579
2009/12/08(火) 01:35:24ID:???そんなの書けるわけねーだろ!英語だぜ、英語!
中一の英語を読むことすらできねーのによ!!
ニューホライズンは一冊目で挫折したよ!!
ちょっと格好つけたかっただけだよ!空気嫁!!ったくよ!!
0585nobodyさん
2009/12/08(火) 02:02:11ID:???なんでjoinモデルはAppModelのインスタンスで生成されるん?とか
とりあえずコアライブラリに突っ込んだ内容でも余裕。
0587nobodyさん
2009/12/08(火) 02:06:12ID:???http://www.google.co.jp/search?q=YMCgTirJag&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
だれ?
0588nobodyさん
2009/12/08(火) 02:10:21ID:???tyuushakusかな。
0589nobodyさん
2009/12/08(火) 03:27:02ID:???俺はrequestaction。ちょうど今、ブログ作ってます。
にしてもカレンダーがネックだね。
ライブラリがいいのがない。
0590nobodyさん
2009/12/08(火) 21:19:18ID:???アップロードするディレクトリをドキュメントルート外にしたりできるのかな?
0591nobodyさん
2009/12/09(水) 04:13:39ID:???0592nobodyさん
2009/12/09(水) 11:53:52ID:???プログラムを通すのかな?
画像を大量に表示するときなんか、
すごい負荷かかりそうだけど・・・
0593nobodyさん
2009/12/09(水) 12:15:39ID:???馬鹿か?
死ぬか?
0594nobodyさん
2009/12/09(水) 12:21:34ID:???> 画像を大量に表示するときなんか、
> すごい負荷かかりそうだけど・・・
大量って、どのくらいの数を言っているのか?
0595nobodyさん
2009/12/09(水) 12:27:26ID:???何をそんなに怒ってるのかわからないけど・・・
初回はプログラム通して、画像表示+キャッシュ生成
二回目からは直接表示、とか
mod_rewrite使えばできるでしょ。
>>594
アマゾンとかの検索結果くらい?
■ このスレッドは過去ログ倉庫に格納されています