▼ 2008/02/05(火) CakePHP追加コントローラー。ローカルはOK、でもレンタルサーバーでNG。の現象解明
Error: The requested address '' was not found on this server.ずいぶん悩んで時間がかかったけど、なんのことはない。
layout指定の最初の文字を大文字にしていました。。。。 (& デバッグモードdebug 0 の時)
- var $layout= 'infl…';
- var $layout= 'Infl…';
はい、私が悪いです。
確かにウィンドウズ(windows)環境では、大文字小文字を区別しませんでしたね。。。そんなの忘れてたし、まさかこんなことでつまずくなんて。。。。だから、CamelCaseとか複数形とか大嫌いだ。
ローカルはウィンドウズ、リモートはunix/linux系という人は多いかと思うので、覚書。
リモートは、Configure::write('debug', 0);にしているので、こうなったわけですな。
ここでデバックモードを1以上にすると以下のエラーがでて、間違いに気づきます。
Error: The layout file /home/hogehoge/hoge/cake/hoge/app/views/layouts/Inf….ctp can not be found or does not exist.
リモートで、あれっという現象にであったら、とりあえずデバッグモードを1にしてみると手がかりあるかも。
なお、アメリカのgoogleディスカッションをみると、似たような現象で、新たにアップしたモデルなどが動作しない場合は、キャッシュをクリアすると動いた事例もあるようです。お試しあれ。
cake1.2bのお話。
- TB-URL http://www.cpa-lab.com/tech/058/tb/
▼ CakePHP規約ワードメーカー WordMaker for CakePHP Conventions
しかし日本人にとっては、複数形だの、CamelCase*1など、全然なじみがありません。私なんぞ、womanの複数形をwomansにしてしまうような英語オンチです*2。
なので、サイト構築しながら、命名にものすごく悩むわけです。プログラミングしながら、とてもよく間違えるわけです。
なので、それをサポートするページを作りました。私自身が必要なものです。
CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions
これで、作りたい単語を入力すれば、テーブル名からクラス名から、自動的に作ってくれます。
もちろんCakePHPのinflector(語尾変化)クラスを使っていますので、Cakeウェイです。
ただ、これを作ったおかげで、CakePHPの単語変化にちょっとおかしな部分をみつけました。日本人からみておかしいだけで、英語圏の人にとっては普通なのかもしれません。また時間のあるときに書きたいと思います。
おまけですが、AJAXも勉強したかったので、AJAX化してあります。若干レスポンスが悪いかもしれませんが、ご容赦を。というか私以外には要のないサイトかもしれない。
CakeのAjaxヘルパーは優秀ですな~。あっというまにAjaxになっちゃったよ。
Javascriptなんて、全然知らないのに。
さらについでに、「この単語じゃないですか?」という
こことリアルタイムで通信するので、若干レスポンスが重たいです。
しかし、もうちょっとたくさんのサジェストをしてくれるといいのだけれど、かなり字数を打ち込まないと、「~じゃないですか」がでてこない。
もっといい辞書APIをご存じの方がいれば、ぜひお教え下さい。
1: 2010年01月31日(日) 深夜1時23分
最近CakePHPを勉強し始めて、いろいろGoogleで調べていたら「規約ワードメーカー」にたどり着きました。
便利に使わせてもらっています。
ありがとう!
2: 2010年05月05日(水) 午後2時11分
CakePHPをはじめたばかりなので、本当に助かります。
ちなみに、CakePHP 1.3.0では仕様変更があったみたいです。
「Information」の複数形は「Information」なのですが・・・
テーブルを「Information」で作ったらbakeで怒られました。
どうやら、テーブルを「Informations」で作らないとダメみたいです。
テーブルを「Informations」にしたらbakeが問題なく出来ました。
実際の動きも問題ないですので、大丈夫かと思います。
なお、コントローラーやビューも「Informations」で生成されました。
他の単語は確認していませんが、変更されている可能性がありそうです。
3: 2012年02月17日(金) 午後5時38分
ありがたく利用しております。
今さらながら、ビューファイル名は「アクション名.ctp」かもしれませんよね~
4: 2013年04月23日(火) 午後11時34分
モデルのファイル名ってUpperCamelCase,singleじゃなかったでしたっけ?
たとえばこの例だとIngredient.phpになってますよね。
http://book.cakephp.org/2.0/ja/models.html
- TB-URL http://www.cpa-lab.com/tech/060/tb/
-
▼
cakePHP規約に沿ったファイル名・クラス名を教えてくれるジェネレータ
わすれないように.CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions CakePHP規約ワードメーカー WordMaker for CakePHP Conventions> CPA-LABテクニカ...