【PHP】フレームワーク CakePHP 6ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/09(月) 10:55:37ID:3PTy4GqZ※sage推奨
※日本語マニュアルURLを貼るときは、http://book.cakephp.org/ja/view/1/ のようにしましょう(末尾のエンコードされたタイトル部分は不要)
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
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
0176nobodyさん
2009/04/08(水) 17:26:12ID:???○○%は速くても
%○○や
%○○%はシーケンシャルアクセスになりオンデマンドサービスで使えるものじゃない
0177nobodyさん
2009/04/08(水) 17:27:30ID:???レンタル鯖で入れられないならRDB標準のを使えばそれまでだろ。
標準のはテーブル越しのインデックスが作れなかった気がしたがな
0179nobodyさん
2009/04/08(水) 18:11:52ID:???$ret = `find . -type f | xargs grep あああ`;
0180nobodyさん
2009/04/08(水) 18:12:55ID:???質問者はMySQLなんて一言も言ってないのにMySQLの話をし出したから
誰もMySQLとは言ってないという指摘になったわけで
0181nobodyさん
2009/04/08(水) 18:52:51ID:???> >>178
> 質問者はMySQLなんて一言も言ってない
からこそ、RDBMSの具体例としてMySQLを挙げたんじゃないか?
君は集合の概念があまりわかってないみたいだね。
0182nobodyさん
2009/04/08(水) 19:47:21ID:???0183nobodyさん
2009/04/09(木) 00:24:09ID:GNSodjfY0184nobodyさん
2009/04/09(木) 00:50:39ID:???0186nobodyさん
2009/04/09(木) 19:23:23ID:???0187nobodyさん
2009/04/10(金) 01:41:28ID:TR2k1lyd0188nobodyさん
2009/04/10(金) 09:36:51ID:???おすすめ
0189nobodyさん
2009/04/10(金) 21:57:29ID:???コアのクラスでモデル名と衝突しそうな
File、Folder、Page、Configure、
それぞれ、なにか代わりになるいい名前ないかな?
自作CMSに挑戦しようと思ったら、使えないモデル名ばっかりで
いっきにモチベーションが・・・
MyFile、MyFolderなんてのもカッコ悪いしなあ・・・
ConfigureはConfigurationでもいけるか。
PageはContentかな・・・?
0190nobodyさん
2009/04/10(金) 22:15:51ID:???と言うか本家のコアクラスで同じ事ができないのかを考えるべき
継承してAppつけるのも良い
0191189
2009/04/10(金) 22:27:15ID:???いえ、ライブラリじゃなくて、モデル名なんですよ。
フォームに
name="data[MyFile][hoge]"
とか表示されるのは、なんかかっこ悪いので・・・
symfonyはコアのクラスにはsfってついてるのになぁ・・・
0194nobodyさん
2009/04/10(金) 23:18:39ID:???意味的にはっきりしてる
0195nobodyさん
2009/04/11(土) 02:37:51ID:1ZQJOiPgOurとか
0196nobodyさん
2009/04/11(土) 13:10:59ID:???この実践本いいよね。
安い中古商品でたら買う予定。出たら教えてチョ
09/4/8発売「CakePHPによる実践Webアプリケーション開発」3,150円
(264ページ。値段の割にチョイページ数少ない。SimpleTestの項、もう少しページ数を
割いてくれてる事を期待してたのにチョイ少ない。残念!)
09/3/14発売の「CakePHPによるWebアプリケーション開発」2,940円も安い中古商品で出た
ら買チャオ 現在2,690円(2,350+340)あり。どうしようかな?買チャオかな?
0197nobodyさん
2009/04/11(土) 13:12:35ID:???ttp://d.hatena.ne.jp/yandod/
4名のEthna工作員が潜入してんだ。
ttp://d.hatena.ne.jp/sotarok/20090410/1239325405
0198nobodyさん
2009/04/12(日) 08:50:57ID:???わざわざコントローラに
$this->pagenateでパラメータを指定すると行数が増えてしまいますし、
データの取得はなるべくモデルでしたいと思いまして。
0199nobodyさん
2009/04/12(日) 08:57:33ID:???$this->paginateと言うプロパティがあるんだな。
これじゃあ、$this->paginate()の関数ポインタ使う場合どうしたら?とか思ってしまう。
ところでモデルからコントローラを使う手段は無かったと思うから
やるならコンポーネントだと思う
0200nobodyさん
2009/04/12(日) 09:05:50ID:???パラメータのほうは Controller::paginateParam とかにしてほしいね。
ぱっと見、わかりにくいし。
というか、findみたいに、毎回指定する方法じゃだめだったんだろうか?
>>198
モデルからコントローラをインポートすればできそうだけど、
そこまで無理をする必要はないかと。
0201200
2009/04/12(日) 09:25:56ID:???findのfieldsのなかでCountとかSumを使うと
戻り値のモデル名のところが「0」になっちゃうよね。
http://cakephp.blog16.jp/index.php/2009/03/06/p88
このページを参考に、
COUNT(*) AS Post__countみたいに指定してみたんだけど、
うまくPostに入ってくれない・・・
なにか良い方法ないかしら?
0203nobodyさん
2009/04/12(日) 10:27:59ID:???1.app_controllerでmyPaginate()を定義、paginate()をラップ
2.myPaginate()内でModel->paginateParamを取得する
3.各モデルにpaginateParamを定義
ただ、paginateのパラメータはモデル毎じゃなくてコントローラ毎に発生するものだと思うけどね。
もしやりたいというならこういう設計もあると言う事で。
0204nobodyさん
2009/04/12(日) 10:44:26ID:???用意されてるのに、わざわざ自前でやる理由を知りたいなぁ。
もしかして、ログイン処理とかも自前?
>>203
>>paginateのパラメータはモデル毎じゃなくてコントローラ毎に発生するものだと思うけどね。
同意見ですね。
ほかで使いまわすことも少ないだろうし。
0205203
2009/04/12(日) 11:25:52ID:???orderとかlimitが指定されていなかった場合に自動的に補完する、と言う程度が良いと思う。
コントローラ側から上書き可能な形にしておけば、やって損と言う事は無いと思う。
あまりコード量は減らないし構造が複雑化するからお勧めしないけどね。
0206nobodyさん
2009/04/12(日) 14:46:32ID:???ありがとうございます。
paginate用コンポーネントにpaginateのプロパティを書いて
$this->コンポーネント名->メソッドで呼び出すことにしました。
コントローラーがすっきりして良いですね。
0207199
2009/04/12(日) 14:50:45ID:???コントローラではそのままcontroller->paginate()を呼び出すかな
0208nobodyさん
2009/04/12(日) 14:51:35ID:???0209nobodyさん
2009/04/13(月) 07:04:51ID:???202じゃないけどログイン処理は自前でやってるよ。
他は全てライブラリやコンポーネント使うけど、authコンポーネントは苦手。
0210nobodyさん
2009/04/13(月) 07:36:02ID:???0211nobodyさん
2009/04/13(月) 07:47:40ID:???MVCの仕組みだけと言うべきかな
Authは最新版なら有用だと思う
というか自前でセキュリティホールの無い認証機構作るとかめんどくさすぎるから
0212nobodyさん
2009/04/13(月) 09:32:33ID:???それは誰に対していってるの?
全部Cakeの機能で賄おうとしてる人に対して?
私は >>211 に同意です。
0213nobodyさん
2009/04/13(月) 12:58:49ID:???> authコンポーネントは苦手。
その気持ち分かります。
以前、Authコンポを使って、グループ毎にログイン後のアクセス画面を変えるというのを作ったけど、
loginRedirectプロパティを書き換えたページ振り分けが上手くいかなくて苦しんだ。
※最初のユーザをログアウトして、別のユーザでログインすると何故か最初のユーザの画面が表示されてしまう...
結局、loginRedirectのプロパティ値は、Sessionに含まれ続けるという事を知って、
ログアウト毎にセッションをクリアすることで上手くいくと思ったのだが、上手く行かず...
結局、autoRedirectしないようにして、グループ情報を確認後に改めてリダイレクトするようにして対応した...orz
0214nobodyさん
2009/04/13(月) 13:49:00ID:???特にパラメータによって頻繁に情報が変わる検索ページとか。
0215nobodyさん
2009/04/13(月) 16:02:37ID:???fieldsでグループ化のカラムを書くと、なぜかidも出そうとしてSQLエラーになった。
$params = array(
'fields' => array(
'type',
'COUNT(type) AS "Post__count"',
),
'group' => array('type'),
);
しょうがないからquery使った。
0216nobodyさん
2009/04/13(月) 18:04:13ID:wqehV7U5表示されるページにCSSが適用されない。
Apacheのドキュメントルート/cake/ 以下にインストールしたんだが、
ここにアクセスするとHTMLのCSSの読み込み部分が
href="/cake/css/cake.generic.css"
と、なって、
app/webroot/css/cake.generic.css
にも
cake/console/libs/templates/skel/webroot/css/cake.generic.css
にもならない。
baseUrlという変数の中身が鍵らしいというところまでは
分かったんだが、それ以上が何とも。
誰かご教示頼む。
0217216
2009/04/13(月) 18:54:34ID:???.htaccessがコピーされてないだけだった('A`)
0218nobodyさん
2009/04/13(月) 22:52:24ID:???わかる。フレームワークの機能をどうしても利用しようとして、少しのことでもこだわり過ぎて
逆に効率が悪くなるという。
>>213
気持ちわかってくれてうれしい。同じ人もいたんだ。絶対否定されると思ったけど^^
>>214
自分は3つくらいのサイトをcakephpで作ったけど、ひたすらプラグインにまとめてデザイン無しのページを作り、
それを元にして新たなサイトを構築していってる。
プラグインにまとめまくると普通のコントローラーやビューがごちゃつかないのでいいよ。
特にユーザーログイン、画像アップデート、プロフィールアップデートなどをプラグイン化しておくと、
新たなサイト作ったときもその機能を作らなくても良いので楽。
以前このスレで 慣れるとビヘイビアが多くなる って人がいたけど、今は自分もビヘイビアを多く使うようになってきた。
0219nobodyさん
2009/04/13(月) 23:01:54ID:???プラグイン多用しているということで聞きたいのですが、
たとえばユーザー管理の仕組みをUserプラグインにまとめると、
モデル名にプラグイン名がついて、UserUserモデルになってしまって不恰好なのですが、
どうされてますか?
他にもCommentプラグインのCommentCommentモデルなど・・・
とにかくモデル名が長くなってしまって困っているんですが・・・
あと、そのCake製のサイト見てみたいです。
・・・2chで晒すのはアレですかね?
0220nobodyさん
2009/04/14(火) 09:12:22ID:???218じゃないけど、Userみたいなのはプラグイン名にしない。
もうちょっとまとめたもの、例えばMeiboみたいなのを付ける。
0221nobodyさん
2009/04/14(火) 12:23:38ID:???CakePHP 1.2.2.8120とsqlite3を使っています。
インストールには成功したのですが、チュートリアルを
http://book.cakephp.org/ja/view/330/
まで進めた後にインストールの確認ページを見ると、
Cake is NOT able to connect to the database.
というエラーがでてしまい、困っています。
/posts/index を見ても、
Error: Database table posts for model Post was not found.
と出てしまいます。
database.phpの設定は以下の通りです。
var $default = array(
'driver' => 'sqlite'
'connect' => 'sqlite_open',
'persistent' => false,
'host' => 'localhost',
'login' => '',
'password' => '',
'database' => 'cake.db',
'prefix' => '',
'encoding' => 'utf8'
);
どうかよろしくお願いします。
0223nobodyさん
2009/04/14(火) 18:56:14ID:???ug プラグインにしてる。で、あとはroutes.php でルーティング。
これだとパスとか関係ないのでイイと思う。逆にルーティングを使わないと
パス名長すぎてかっこわるくなるね。
0224221
2009/04/14(火) 21:27:15ID:???hostsを空にしてみてもダメでした。
dbファイルが無いときはちゃんとdbファイルが作られて、
インストール確認ページに、
Cake is able to connect to the database.
と表示されるのですが、
このdbファイルにテーブルを手動で作ってやると、
Cake is NOT able to connect to the database.
に変わってしまいます。
ユーザはapacheのユーザですし、試しにdbファイルを
777にしてみてもダメでした。
どうかよろしくお願いします。
0225nobodyさん
2009/04/14(火) 23:39:51ID:b4g3iQJt0226221
2009/04/15(水) 12:57:21ID:???とりあえず去年の2月の時期で未サポートという情報は見つけました。
手を抜かずにmysqlを使うことにします。
お騒がせいたしました。
0227nobodyさん
2009/04/15(水) 13:53:06ID:???0228nobodyさん
2009/04/15(水) 15:27:53ID:???機能をPHPモジュールで実装して
PHPのコンパイルオプションで選ぶようにするとか
あるいはyumのパッケージをAPIごとに分けて欲しいやつだけ入れるとか
そういう方法で対処するのが一番楽で高機能だと思うがな
0229nobodyさん
2009/04/16(木) 14:44:00ID:???話があったと思うんだけど、どうなったの?
0230nobodyさん
2009/04/16(木) 21:11:24ID:???0231nobodyさん
2009/04/16(木) 23:13:26ID:???やり方を知っている方がいたら教えてください?
コントロール内で
$this -> Model -> saveall($data,array('validate' => 'first');
とした後、
$error = $this -> Model -> invalidFields();
としても、バリデートがエラーになっても$errorが空のままです。
saveにすると問題ないのですが、何故なんでしょうか?
saveallでバリデートエラーを拾いたい場合は、やっぱり関連する
各モデルごとにバリデートを繰り返しあてるしかないんでしょうか?
0232nobodyさん
2009/04/17(金) 15:00:20ID:???0233nobodyさん
2009/04/20(月) 22:02:02ID:???こんなのがあったよ。
CakePHP1.2 で sqlite3 を使用するには
ttp://blog1.atcms.jp/chuno/index.php?UID=1236462644
0234nobodyさん
2009/04/21(火) 15:14:47ID:???ちょっと前の勉強会だとbake使ってる人はほとんどいなかったのに、最近は違うのか?
0235nobodyさん
2009/04/21(火) 15:18:56ID:???というかモデル追加するたびに手書きでコントローラとか書いてたのか?
0236nobodyさん
2009/04/21(火) 15:24:47ID:???もちろん読みこめば何をやってるのかわかるんだけどさ。
自分は基本的にコードは手書きだよ。
0237nobodyさん
2009/04/21(火) 15:26:55ID:???0238nobodyさん
2009/04/21(火) 15:31:48ID:???ただ、普段の開発手法と違うから読みにくいというだけで。
普段Linux環境だからWindows環境で書かれてるのがわかりづらいとか、
そういうくらいのレベルの話だよ。
0239nobodyさん
2009/04/21(火) 16:07:29ID:???ぜんぶdefaultで、とにかく作成しちゃうモードがあればいいなとおもう
0240nobodyさん
2009/04/21(火) 16:16:48ID:???0241nobodyさん
2009/04/21(火) 17:49:53ID:JXH2p/YIscaffoldに固執しすぎてバッドハック的な事をしてるのが気になった。
cakeの仕様の変わりっぷりを考えると、後々まで使える手法じゃない可能性が高いし
0242nobodyさん
2009/04/21(火) 17:51:19ID:???0243nobodyさん
2009/04/21(火) 18:53:24ID:???という、scaffoldのままでいいコントローラってあまりないよね。
0244nobodyさん
2009/04/21(火) 21:03:12ID:???そもそもimportで読み込んだコンポーネントってstartup()とか動作するのかな?
単にimportを呼び出したスコープ内でメソッドが使えるだけ?
0245nobodyさん
2009/04/21(火) 21:19:09ID:???0246nobodyさん
2009/04/21(火) 21:38:59ID:???initialize()すら呼ばれないね。
コンポーネント内でApp::importした場合って、
initialize(&$controller)の$controllerにセットされないよね?
コンポーネント内ではimport出来ないの?
0247nobodyさん
2009/04/21(火) 21:45:39ID:???0248nobodyさん
2009/04/21(火) 23:44:48ID:???Amazonで2,740円(=2,400+340)の中古本が出たので即購入。ラッキー
(会社で新品書籍を購入すると10%offという人多いのかなあ?うらやましい)
0249nobodyさん
2009/04/22(水) 00:27:07ID:???協力会社の人も含めて
0250nobodyさん
2009/04/22(水) 04:16:17ID:???10%オフって・・・。
会社通して仕事の本買えば会社は全額経費になるのにひどい話だな。
俺が以前いた会社は全額経費で落としてくれた。
0251nobodyさん
2009/04/22(水) 04:28:09ID:IoF1Kk6A本当にこういう社会人がいたのか
ショックだ。
0254nobodyさん
2009/04/22(水) 15:40:08ID:???会社の本ではなく、自分の本にしたい。
0255nobodyさん
2009/04/22(水) 20:15:15ID:???個人で給与天引きで購入しても10%offだよ。
(書籍は何でもOK、子供の参考書でもOK)
書籍はどちらも職場に届く。
0256nobodyさん
2009/04/22(水) 20:43:15ID:???注文すれば多分エロ本でも10%OFFだと思う
0257nobodyさん
2009/04/22(水) 20:57:55ID:???サラリーマンのスレッドとなります。
0258nobodyさん
2009/04/22(水) 21:15:22ID:???0259nobodyさん
2009/04/23(木) 07:10:35ID:???また大企業だけの特権か?
0260nobodyさん
2009/04/23(木) 13:20:27ID:???0262nobodyさん
2009/04/25(土) 12:06:35ID:???debug=0の時にエラー出さないけど
ファイルにはエラーを出力するってどうやんの?
0263nobodyさん
2009/04/25(土) 12:14:00ID:???http://book.cakephp.org/ja/complete/157/
ログの記録
0265nobodyさん
2009/04/25(土) 17:26:55ID:???デフォルトでSession.startをfalseにして、
コントローラーによってtrueにしたりDBか/tmp保存に
切り分けたいのですが、何か良い方法はありますか?
0266nobodyさん
2009/04/26(日) 00:51:40ID:???frame src に同じコントローラーの別々のアクションを指定したいんですが、
どう書けば良いんでしょうか?
0267nobodyさん
2009/04/26(日) 10:36:52ID:???みんなはどうしてる?
0270nobodyさん
2009/04/26(日) 15:58:15ID:???話があったと思うんだけど、どうなったの?
0271nobodyさん
2009/04/26(日) 17:48:54ID:???果たしてOracleがやってくれるかどうか・・・。
0272nobodyさん
2009/04/26(日) 22:30:08ID:???ヘルパーに追加してる人とかっている?
0273nobodyさん
2009/04/27(月) 01:33:20ID:???'秋田'=>'秋田', '山形'=>'山形', '福島'=>'福島', '茨城'=>'茨城', '栃木'=>'栃木', '群馬'=>'群馬',
'埼玉'=>'埼玉', '千葉'=>'千葉', '東京'=>'東京', '神奈川'=>'神奈川', '新潟'=>'新潟', '富山'=>'富山',
'石川'=>'石川', '福井'=>'福井', '山梨'=>'山梨', '長野'=>'長野', '岐阜'=>'岐阜', '静岡'=>'静岡',
'愛知'=>'愛知', '三重'=>'三重', '滋賀'=>'滋賀', '京都'=>'京都', '大阪'=>'大阪', '兵庫'=>'兵庫',
'奈良'=>'奈良', '和歌山'=>'和歌山', '鳥取'=>'鳥取', '島根'=>'島根', '岡山'=>'岡山', '広島'=>'広島',
'山口'=>'山口', '徳島'=>'徳島', '香川'=>'香川', '愛媛'=>'愛媛', '高知'=>'高知', '福岡'=>'福岡',
'佐賀'=>'佐賀', '長崎'=>'長崎', '熊本'=>'熊本', '大分'=>'大分', '宮崎'=>'宮崎', '鹿児島'=>'鹿児島',
'沖縄'=>'沖縄')
0274nobodyさん
2009/04/27(月) 07:10:46ID:???ttp://ja.wikipedia.org/wiki/JIS_X_0401
■ このスレッドは過去ログ倉庫に格納されています