元スレ【PHP】フレームワーク CakePHP 4ホール目【v1.2】
php覧 / PC版 /みんなの評価 : ○
801 = :
>>699
何というコントローラ&メソッド&ビューに対して
どんなURLでアクセスしたか教えたまえ
802 = :
テーブル:Areas
URL:http://localhost/Areas
MVCはbake allで作ってるからテーブル名から正しく生成されてるはず
804 = :
symfonyより重くはないし、コード生成にしても結局実務で使えないのはsymfonyも同じ。
805 = :
自己解決。
特定の場合に、cake allで生成すると
cakephpが内部で使ってるpublishと言うダミーモデルのデータが残ってしまうらしい。
いくつかモデルを生成した中で、一つだけpublishがはいってしまったものがあった。(Userモデル)
cakephpはデフォルトで全モデルを読み込んでるらしく、どのコントローラにアクセスしようと
publishesテーブルが無いと怒られた。
806 = :
>>805
特定の場合って何だ?
807 = :
そこまでは特定してない
でもcakeのダミーモデルなのは確か
808 = :
教えてほしいことがあるんだけど、いいかな?
2-3個しか入力項目のないフォームがあって、それらの項目に、
hoge, piyo, fuga とか入っているとする。
これを submit したとき、こんなURLに遷移させたい。
http://(base-url)/hoge/piyo/fuga
JavaScriptを使えば簡単だけど、できたらクライアントサイドスクリプトには
依存したくない。
CakePHPに、これを実現するのに便利な仕組みはないんだろうか?
普通に$this->dataからを取得して、implode('/', ...)でつないで redirectす
るしかないのかしら?
809 = :
そんな小さなことまでフレームワークでサポートしたらキリがない
811 = :
>>809
まあそうなんだけど、もし元々あるんなら利用したいと思って。
>>810
え? mod_rewrite って、
base-url/hoge/piyo -> base-url/index.php?param0=hoge¶m1=piyo
という変換だけじゃなくて、
base-url/index.php?param0=hoge¶m1=piyo -> base-url/hoge/piyo
こっちもできるの?
812 = :
正規表現使えばどんなパターンの差し当てでも出来るけど
813 = :
そういうことかー。しかしこういう黒魔術に深入りするのは避けたい。
Apache module mod_rewrite
http://www.net-newbie.com/trans/mod_rewrite.html
> 膨大な設定例やドキュメントがあるにもかかわらず、 mod_rewrite は黒魔
> 術である。かなりイケてるっぽい黒魔術だが、 やっぱり所詮は黒魔術である。
> -- Brian Moore
つうかCake関係ないな。すんません。
814 = :
汎用的なリダイレクトページ作ったら良い
816 = :
多対多のjoinテーブルで
両方のテーブルのフィールドを条件にして片方のテーブルのレコードを抽出したい場合、どうすれば良いですか?
つまりjoinテーブルでつながれた相手側のテーブルのフィールドで自分のレコードを絞り込むと言う事です。
818 = :
>>813
そんなこといったらcakeだって黒魔術(シェア的にww
820 = :
すみませんが、paginatorの設定について教えてください。
http://domain/controller/action/hoge/fuga
みたいな、actionに渡すパラメータが二つ(hoge, fuga)あるページがあります。
これを paginator でめくれるようにしたいのです。
ところがビューのpaginatorヘルパーは、最初の hoge までしか認識してくれな
いようで、生成されたURLは
http://domain/controller/action/hoge/page:1
みたいになってしまいます。(hogeだけが残り、fugaが消えている)
hoge, fuga両方とも paginatorに認識させる設定はないでしょうか?
821 = :
コントローラよりモデルを厚くしたほうがいいっていうけど
それってアソシエーションをモデルにまとめる以外になんかあるの?
822 = :
>>821
これなんてほぼモデルに書いてるよ。
http://www.hideblog.net/nikkis/show/99
コントローラーをプログラムの流れだけといった感じにすると
デバッグも楽だし、何しろ仕様変更の時も対応しやすい。
823 = :
cakephpのモデルに合わせて書いてると
SQLが分割されて遅くならない?
完全に柔軟にテーブル結合とかやれるわけじゃないし
824 = :
今まさに>>823が気になってたんだけどさ。
逆に下手にjoinせずにクエリー投げたほうが、キャッシュが働いてパフォーマンスが良くなったりしてるんじゃないかと。
「Cakeのデフォルトで充分じゃね?」みたいなこと調べた人いないかな?
825 = :
さすがにそれはない
普通、1クエリにまとめた方が速くなる
826 = :
更新の少ないテーブルの場合、ほぼノータイムで返ってきてることが多い
そういう場合、SQLの種類を増やすより、パフォーマンスが良くなるっていう話を聞くよね
829 = :
>>828 ありがとうございます。
バリデーションでエラーになった項目の $form->input で class を指定する、という事
でしょうか?
その場合、バリデーションでエラーになった場合、
その $form-input 項目の css を変更するにはどうしたらいいのでしょう?
何かよい方法があるのでしょうか?
830 = :
>>829
たとえばUser.usernameがvalidation errorの場合、以下のようになる
<div class="input text error">
<label for="UserUsername">ID</label>
<input name="data[User][username]" id="UserUsername" class="form-error" />
<div class="error-message">入力内容を確認してください</div>
</div>
なので、/webroot/css/cake.generic.cssの以下を修正する
.error
.form-error
.error-message
inputの背景色なら
input.form-error { background-color : red } って感じかな
831 = :
唐突ですけど、皆さんにお聞きしたいことがあります。
FORMヘルパーって、DBテーブルと関係の無いフォームを作ることってできます
か?それともそういうのを作るためなら、ただのHTMLを書いたほうが良いので
しょうか?
832 = :
>>830
丁寧にありがとうございます。
バリデーション後の画面にて、class="form-error" が自動で付いている事に
全く気付いていませんでした…。
希望の画面になりました、ありがとうございました。
833 = :
>>831
モデルのところにnull入れてやったらいいんじゃない?
<?php echo $form->text(null, array()); ?>
デフォルトのname属性で足りないなら上書きできる
<?php echo $form->text(null, array('name' => 'title')); ?>
ヘルパのおいしいところを享受できるかはわからん
834 = :
バリデーションのルールで
1. var $validate = array(
2. 'login' => array(
3. 'rule' => array('minLength', '8'),
4. 'message' => 'ユーザ名は8文字以上にしてください。'
5. )
6. );
の
4. 'message' => 'ユーザ名は8文字以上にしてください。'
の 8 の部分を、\config\const.php などに定義してある値でおきかえたいのですが
class Post extends AppModel
{
var $name = 'Posts';
var $validate = array (
のように、クラスのインスタンス変数で定義?するためか、文字列の結合がエラーになって
できなくて困ってますが、対応できる方法はありますか?
835 = :
listが予約語になっててアクションに使えない罠
836 = :
レコードの一覧出すアクションの名前なんにしたらいい?
/コントローラ/
でアクセスする場合、引数って渡せないよね?
837 = :
>>834
貼付けられたソースが切れてるのでよくわかりませんが、
そのケースではクラス定数を使った方がベターだと思います
>>836
ルーティングの設定によりますが、アクションのindexが省略されてるんだと思うんですが・・・
838 = :
省略されてるとして、
本来indexに続けて書くはずの引数をルートから書いても
アクションだと思われて正しく動作しないよね
ルーティング設定で正規表現書けば出来るんだろうけど
841 = :
>>840
例えば、モデル内で定義するバリデーションのメッセージとして、
「既に登録されています」というメッセージは、どのモデル、ビューかに関わらず
サイト内で一意にしたいわけです。
これを、モデルのクラス定数に定義するという事は、存在しているモデルの数だけ、
同様の「既に登録されています」を定義しなければならないわけで。
こういったサイト全体で一意としたいメッセージ的な文字列は、クラス定数よりは
グローバル定数で定義しちゃいたい、と思うのですが、よろしくないでしょうか?
842 = :
つ継承
つconfigクラス
ついっそ後で置き換え
844 = :
>>841
共通といったって、そんな短い単語を共通化してどうすんの?
世界を視野に入れたプログラム作ってるの?
845 = :
>>841
マスタテーブル作れば良いじゃん
大量のグローバル定数であふれる事は避けるべき
846 = :
CakePHP というか、MVC の考え方がいまいちよくわかってない気がするんですが、
アドバイスをお願いできれば…。
User テーブルがあります。ここは、ログインID と、名前、パスワードがあります。
で、その User テーブルの追加/編集/削除ができるように、UsersController, add/edit ビュー、モデルを
作成しました。
これで、Users テーブルへの追加、削除はできるようになりました。
次に、この Users テーブルの内容に基づいてログインするページを作りたいと思います。
その、ログインを管理するコードというのは、別途コントローラを作成するほうがいいのか、
それとも Users テーブルへのアクセス、という事で、作成済の、UsersControlle や、モデルに
ログインするためのコードを追加するのか、どうすべきなのでしょうか?
同じテーブルへのアクセスでも目的が違う場合は、コントローラも別途作成するものなのか、
それとも、テーブルを主体にコントローラ、モデルをふくらませるべきなのか、
混乱しています。
このあたりアドバイスを頂けるととてもうれしいです。
848 = :
質問
聞いた話だが、cakeって、月500円レベルのレンタルサーバーでも
十分、実用的なスピードで動くんだよね?
849 = :
なんとも答えられない
WEBアプリフレームワークとしては重たい部類
WEBアプリフレームワーク自体は今のコンピュータにとって大した重量じゃない
850 = :
値段=スペックじゃないので何とも言えないけど
その500円ってのがさくらのスタンダードなら問題ない
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [98%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [98%] - 2009/3/7 4:53 ☆
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [98%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 10ホール目【v1.3】 (1001) - [92%] - 2011/2/13 8:32
- 【PHP】フレームワーク CakePHP 14ホール目【v2.1】 (1001) - [92%] - 2012/12/3 19:16
- 【PHP】フレームワーク CakePHP 11ホール目【v1.3】 (1001) - [92%] - 2011/6/30 22:32
- 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 (985) - [92%] - 2013/9/7 8:30
- 【PHP】フレームワーク CakePHP 9ホール目【v1.3】 (1001) - [92%] - 2010/11/1 2:53
- 【PHP】フレームワーク CakePHP 19ホール目【v3.3】 (844) - [90%] - 2023/2/2 14:30
- 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 (995) - [90%] - 2012/4/23 21:16 ○
- 【PHP】フレームワーク CakePHP 17ホール目【v2.4】 (984) - [90%] - 2015/1/10 2:45
- 【PHP】フレームワーク CakePHP 16ホール目【v2.4】 (1001) - [90%] - 2014/3/3 3:00
- 【PHP】フレームワーク CakePHP 8ホール目【1.3】 (1001) - [90%] - 2010/7/22 22:16
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [89%] - 2008/6/19 7:19 ○
- 【PHP】フレームワーク CakePHP 17ホール目【v3α】 (955) - [88%] - 2016/11/15 20:45
トップメニューへ / →のくす牧場書庫について