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/
925 名前:nobodyさん mailto:sage [2012/04/14(土) 10:52:00.00 ID:???] アホか。URLエンコード するときの 文字コードは何だよ。言ってみろ
926 名前:nobodyさん mailto:sage [2012/04/14(土) 12:26:15.35 ID:???] cakePHP2.1.1を使用してコントローラの中からモデル内に定義した ファンクションをコールしようとしているのですが 下記の様なエラーが出てしまいます。 どこに間違いがあるのでしょうか? [model] class Test extends AppModel { var $name = 'Test'; function Testxxx(){echo "Test!";} } [controller] var $uses = array('Test'); $this->Test->Testxxx(); [error] Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Testxxx' at line 1
927 名前:nobodyさん mailto:sage [2012/04/14(土) 13:43:48.92 ID:???] Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Testxxx' at line 1
928 名前:nobodyさん mailto:sage [2012/04/14(土) 13:50:12.49 ID:???] エラーメッセージを繰り返したら誰かが答えるとでも?
929 名前:nobodyさん mailto:sage [2012/04/14(土) 14:11:27.02 ID:???] >>926 と >>927 は別人だろうが。 >>928 お前はミサイルで頭を破壊した方がいいよ。どうせまともなルックスしていない下種野郎だろうしな。
930 名前:nobodyさん mailto:sage [2012/04/14(土) 15:09:22.75 ID:???] で?それが質問者の態度?
931 名前:nobodyさん mailto:sage [2012/04/14(土) 18:06:38.12 ID:???] cakePHP で特定のコントローラ 例) denyController.php へのアクセスを禁止するには一般的にどうしますか? .htaccess or cakePHPでなにがしかの設定が可能?
932 名前:nobodyさん mailto:sage [2012/04/14(土) 18:42:11.68 ID:???] cakePHPでdeleteAllに削除条件を指定しても無効なのでしょうか? 下記コードを実行すると、全レコードが削除されてしまいます><; $deleteCondition = array("hoge_id" => 3333); $this->Hoge->deleteAll( $deleteCondition );
933 名前:nobodyさん mailto:sage [2012/04/14(土) 18:52:06.84 ID:???] >>932 条件の与え方はfindと同じだよ。 その条件でfindしたら検索されるの?
934 名前:nobodyさん [2012/04/14(土) 19:34:52.76 ID:V2giXwsG] >>931 俺ならコントローラー全てのアクションにprefixつけてprefixルーティング&アクセス制御って感じかな
935 名前:nobodyさん mailto:sage [2012/04/14(土) 19:38:18.38 ID:???] >>933 自己解決しました。 英語のドキュメントを見たところ cake2.1.1 になってから呼出し方が微妙に変わっていました。
936 名前:nobodyさん mailto:sage [2012/04/14(土) 19:55:02.70 ID:???] >>935 一応、どう変わったのか書いてほしいな
937 名前:nobodyさん mailto:sage [2012/04/14(土) 20:25:02.13 ID:???] >>936 実際には delete は変わってませんでした。 findについては、 findAll → find('all') といった感じです。 しかし、なぜ同じコードで>>932 が今度は正常に削除出来たか不明。
938 名前:nobodyさん mailto:sage [2012/04/14(土) 20:33:32.07 ID:???] controllersの下にサブフォルダを作ってコントローラーを置くと認識されますが、view以下で同じことをやるとエラーになります。 viewsのパスを任意に追加するにはどうすればいいのでしょうか? ソース見たらApp::path('views')でパスは取れるみたいだけど追加の関数がない。
939 名前:nobodyさん mailto:sage [2012/04/15(日) 02:11:36.29 ID:???] なれると cakePHP むっちゃ便利やんかぁ。
940 名前:nobodyさん mailto:sage [2012/04/15(日) 08:46:03.26 ID:???] cakePHP と Pear って一緒に使える?
941 名前:nobodyさん mailto:sage [2012/04/15(日) 19:57:59.30 ID:???] はい
942 名前:nobodyさん mailto:sage [2012/04/15(日) 20:19:36.67 ID:???] cakePHP で hogehoge.com?age=17 じゃなくて hogehoge.com/age/17 として処理を行うにはどうしたら良いでしょうか?
943 名前:nobodyさん mailto:sage [2012/04/15(日) 20:27:24.52 ID:???] >>942 ブログチュートリアルでもやればやり方わかるだろう
944 名前:nobodyさん mailto:sage [2012/04/16(月) 13:39:36.79 ID:???] cakePHP(2.1.1) で AController / Hoge() 内の処理で AController / Hage() や BController / Chabin() を呼び出すにはどうすれば良いでしょうか?
945 名前:nobodyさん mailto:sage [2012/04/16(月) 13:50:55.75 ID:???] >>944 異なるコントローラ間で同じ処理をやらせないなら、コンポーネントを使うといい。
946 名前:nobodyさん mailto:sage [2012/04/16(月) 14:00:58.75 ID:???] >>945 ありがとうございます。 どうしても重複処理があり使いまわしたと思ってました。
947 名前:nobodyさん mailto:sage [2012/04/16(月) 19:03:36.34 ID:???] cake2.1.1(サクラ) でcronでcakePHPを実行させる為に、まずコマンドラインから 正常にキック出来る事の確認をしているのですがうまくいきません。 1.x系と2.xとでは記述方法が異なっている事を考慮に入れ 下記コードを記述しているのですがなぜかシェルクラスが認識されないです。 【作成したシェルクラス】 Console/Command/TestHelloShell.php <?php class TestHelloShell extends AppShell { public function main() { $this->log('[Shell]main() が実行されました。', LOG_DEBUG); } } ?> 【コマンドライン】 %/usr/local/bin/php /home/{my_account}/cake/lib/Cake/Console/cake.php test_hello -app /home/{my_account}/www/{my_directory}/app Error: Shell class TestHelloShell could not be found. #0 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(167): ShellDispatcher->_getShell('test_hello') #1 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(69): ShellDispatcher->dispatch() #2 /home/{my_account}/cake/lib/Cake/Console/cake.php(41): ShellDispatcher::run(Array) #3 {main}
948 名前:nobodyさん mailto:sage [2012/04/16(月) 23:25:38.33 ID:???] >>947 ドキュメントをよめ
949 名前:nobodyさん mailto:sage [2012/04/19(木) 01:38:53.63 ID:???] cakePHP ってなんでこんなに便利なんだ。楽しすぎる
950 名前:nobodyさん [2012/04/19(木) 16:26:48.17 ID:GZ2gdGu2] ログイン認証とかの制御をいれたいんですけど お勧めの方法はありますか?
951 名前:nobodyさん mailto:sage [2012/04/19(木) 17:13:57.30 ID:???] Auth使えば
952 名前:nobodyさん mailto:sage [2012/04/19(木) 17:14:15.72 ID:???] Authコンポーネント
953 名前:nobodyさん mailto:sage [2012/04/19(木) 17:29:14.82 ID:???] 良く使用する変数(サイトのURLなど)をDBで管理して 設定ファイルに出力したいのですが、良い方法は無いでしょうか? 考えたのは、モデルキャッシュして設定ファイルが必要な時に そのキャッシュを読み込むパターンです。
954 名前:nobodyさん mailto:sage [2012/04/19(木) 19:06:23.24 ID:???] >>953 bootstrap.phpでDBから設定データを読み込んでConfigure::Storeでキャッシュ。 …でもいいんだけど、 Cake2からは ConfigReaderInterfaceっつうのがついたからね。 Readerを書けばモデルから直接Configureに読み込むができるようになった。 Configureファイルに書いた時と同じようにConfigure::read()でどこでも読めるから便利よ
955 名前:nobodyさん mailto:sage [2012/04/19(木) 21:31:47.54 ID:???] あと、Sanitize::escape() でサニタイズしたデータを復元するときって みなさんどんな感じでやってますか?
956 名前:nobodyさん mailto:sage [2012/04/19(木) 22:16:25.42 ID:???] サニタイズいうな
957 名前:nobodyさん mailto:sage [2012/04/19(木) 22:18:18.29 ID:???] サニタイズ時々
958 名前:nobodyさん mailto:sage [2012/04/20(金) 00:36:04.30 ID:???] >>956 本当はなんていうの? マジレス希望。
959 名前:nobodyさん mailto:sage [2012/04/20(金) 00:54:10.36 ID:???] サニタイズが正しいよ verbだからな。 >>958 つまり >>956 は英語が出来ないばか
960 名前:nobodyさん mailto:sage [2012/04/20(金) 01:41:15.34 ID:???] >>951 >>952 ありがとう
961 名前:nobodyさん mailto:sage [2012/04/20(金) 04:26:48.64 ID:???] サニタイズ言うなを知らない方が馬鹿
962 名前:nobodyさん mailto:sage [2012/04/20(金) 11:16:59.61 ID:???] 英語の出来ない >>961 はもっとバカ
963 名前:nobodyさん [2012/04/20(金) 12:22:03.72 ID:PezrE8Wt] うんごぶりぶりんこ!!!!ドビュビュビュビュドバババババブッ!!! ドリュルリュルウリュリィブブブブブブッッ!!!!あへあへうんこまん!!!ぶりっちょ!!! ケツの穴からドババババババババッバwwwwwwwwwwwwWWWW wwwwwwwwwwww WWWwwwwwwwwwww??? ? ? ? ? ? ? ????? ????????wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww なお、まにあわんもよう
964 名前:nobodyさん mailto:sage [2012/04/20(金) 12:25:44.92 ID:???] ↑サニタイズよろしく
965 名前:nobodyさん mailto:sage [2012/04/20(金) 12:32:52.78 ID:???] アホが露呈して ファビョル >>963 低能乙w いまどき英語なんて小学生でもペラペラなのにwww
966 名前:nobodyさん mailto:sage [2012/04/20(金) 13:43:18.88 ID:???] >>954 1.3系使ってるので、Configure::storeを使うパターンで行きます。 これってfindした配列を保存して、loadで読み込んでreadで参照 出来るから便利ですよね。参考になりました。ありがとうございます。
967 名前:nobodyさん mailto:sage [2012/04/20(金) 23:58:00.96 ID:???] 俺がバカなら、お前もバカぁ〜 バカを承知でなぜ惚れた〜
968 名前:nobodyさん mailto:sage [2012/04/21(土) 11:00:21.04 ID:???] cakeでは当たり前だと思うのですが、 example.com/about とかexample.com/sitemap というようにアクション名だけ指定したい場合、 ルーティングでアクション名を追加する必要がありますよね? example.com/ のコントローラがhomeであり、 /views/home/内にアクション用のファイルがあれば routes.phpに記載しなくてもアクション名だけで アクセスできないかと思い、質問しました。
969 名前:nobodyさん mailto:sage [2012/04/21(土) 14:00:03.01 ID:???] >>968 一行書くことになるけど Router::connect('/:action', array('controller' => 'home')); とかでいけるんじゃない
970 名前:nobodyさん mailto:sage [2012/04/21(土) 14:43:21.86 ID:???] >>969 この方法だと、コントローラにアクションを追加しないとアクセスできません。 pagesを使うように、アクション名を書かずにビューファイルを追加するだけで アクセスできるようにしたいのですが・・・
971 名前:nobodyさん mailto:sage [2012/04/21(土) 17:21:29.95 ID:???] リモートデバッグについて質問なんですけど Eclipseでレンタルサーバ上に展開したPHPファイルを ローカルのEclipseにてデバッグ実行って出来ますか? ※ブレークポイントが正常に止まるか。
972 名前:nobodyさん mailto:sage [2012/04/21(土) 22:21:07.57 ID:???] >>970 アクション追加せずにビューだけ表示したいのならpagesでいいんじゃないの? アクションが無いのだから特定のコントローラーを介する理由も無いし Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
973 名前:nobodyさん [2012/04/22(日) 10:29:18.10 ID:L2FF/0Tg] >>971 リモートデバッグは、サーバー側のデバッグ用ポートにコネクトしてする感じ そのレンタルサーバとやらに聞いてみて、デバッグ用ポートが開いていないのなら無理 まぁ、普通のレンタルサーバでデバッグポート開いている事はたぶん無いんじゃないかな
974 名前:nobodyさん mailto:sage [2012/04/22(日) 11:01:45.48 ID:???] >>973 ありがとうございます。 鯖屋に確認してみます。 ローカル環境に開発環境を作ると重たいので 全てレンタルサーバ上でやりたいなぁー、なんて考えてました。
975 名前:nobodyさん [2012/04/22(日) 11:32:49.43 ID:L2FF/0Tg] >>ローカル環境に開発環境を作ると重たいので 重いのはたぶんEclipseだよ 他のエディタとか使う事あるのなら、XAMPP+エディタで試してみるといい ただ、GUIのデバッグ環境は無いと思うが。
976 名前:nobodyさん mailto:sage [2012/04/22(日) 15:41:01.67 ID:???] debugレベルを 0 にしても 適当なURLを入力すると次の様にサイトがcakePHPを使用している事がわかる様な エラーメッセージが出てしまいます。 これを消す方法とかってありますか? CakePHP: the rapid development php framework
977 名前:nobodyさん mailto:sage [2012/04/22(日) 15:57:27.32 ID:???] バカはしね
978 名前:nobodyさん mailto:sage [2012/04/22(日) 18:19:37.02 ID:???] >>976 default.ctpとかテンプレートのどっかに書かれてるんだろ どこから出力されてるか突き止めてそれを消せ
979 名前:nobodyさん mailto:sage [2012/04/22(日) 19:19:39.84 ID:???] 今どきデバッガの力を借りないとデバッグできないなんて
980 名前:nobodyさん mailto:sage [2012/04/22(日) 19:53:54.59 ID:???] デバッガすら使えない誰かさん >>979 w
981 名前:nobodyさん mailto:sage [2012/04/22(日) 20:33:38.25 ID:???] HTMLでいうと <li><input type="checkbox" name="data[Post][]"></li> <li><input type="checkbox" name="data[Post][]"></li> <li><input type="checkbox" name="data[Post][]"></li> みたいな出力にしたい時、フォームヘルパーを使って出来ますか?
982 名前:nobodyさん [2012/04/23(月) 16:08:34.29 ID:3JcMmxsm] cakePHPでブラウザからアクセスがあった場合に 次の様に解釈させ、処理を実現をしたいのですがどうすれば良いでしょうか? @アクセスされる際のURL unnko.com/prin/food/rice/333 @Controllerに定義した内容 class PrinController extends AppController { function food($menu,$id) { echo $menu."<br>"; // ← rice を表示したい。 echo $id."<br>; // ← 333 を表示したい。 } }
983 名前:nobodyさん mailto:sage [2012/04/23(月) 16:13:23.70 ID:???] バカはしね
984 名前:nobodyさん mailto:sage [2012/04/23(月) 17:14:29.71 ID:???] いつものウンコ野郎はスルー 頭の中にウンコがぎっしり詰まってるんだろ
985 名前:nobodyさん mailto:sage [2012/04/23(月) 20:52:22.44 ID:???] Lithium安定版でねーなぁ
986 名前:nobodyさん mailto:sage [2012/04/23(月) 22:52:36.10 ID:???] >>982 それで実現できてないか?
987 名前:nobodyさん mailto:sage [2012/04/24(火) 11:09:19.41 ID:???] >>981 <li>$this->Form->checkbox('post.xxx');</li>
988 名前:nobodyさん mailto:sage [2012/04/24(火) 11:12:03.63 ID:???] モデルでクッキーを読みに行きたい場合、皆どうしてる? DB登録時に、クッキーからログインユーザーの情報吸い上げて登録しにいくフローって多くない? モデル内でApp::usesでクッキーコンポーネント呼ぶのは邪道?
989 名前:nobodyさん mailto:sage [2012/04/24(火) 11:24:40.31 ID:???] モデルでくっきーを読もうってのがそもそも設計としてゴキブリレベル
990 名前:nobodyさん mailto:sage [2012/04/24(火) 11:28:43.67 ID:???] いや蛆虫だろう
991 名前:nobodyさん mailto:sage [2012/04/24(火) 11:58:40.78 ID:???] ああ、そうやっぱモデルでクッキー読むのは邪道なのね。サンクス
992 名前:nobodyさん mailto:sage [2012/04/24(火) 11:59:56.14 ID:???] >>982 View フォルダの下にPrinフォルダつくってfood.ctp作ったか?
993 名前:nobodyさん mailto:sage [2012/04/24(火) 12:59:47.43 ID:???] >>992 Thank you!
994 名前:981 mailto:sage [2012/04/24(火) 14:05:37.49 ID:???] ↓こんな感じでやってみたのですが、エラー時など同じビューを表示した時、 チェックした項目がチェックされていません。どうすればいいのでしょうか? <li><?php echo $form->checkbox('Post.xxx', array('value' => 1)); ?></li> <li><?php echo $form->checkbox('Post.xxx', array('value' => 2)); ?></li> <li><?php echo $form->checkbox('Post.xxx', array('value' => 3)); ?></li>
995 名前:nobodyさん mailto:sage [2012/04/24(火) 15:11:46.26 ID:???] 2.0のAuthがsessionKeyをself::$sessionKeyとしてるもんだから コントローラーからモデル名に変えようにも $this->Auth->sessionKey = 'Auth.Hoge'; じゃだめで AuthComponent::$sessionKey = 'Auth.Hoge'; って市内とダメなんだけどそもそもいじっちゃマズイのかな?