【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/
0250nobodyさん
2009/10/14(水) 02:10:30ID:hSMBoxY0出力自体は正しくてブラウザの認識が間違ってるから、たぶんtitleタグの後に文字コード指定してるんじゃね?
0251nobodyさん
2009/10/14(水) 04:41:13ID:???0252nobodyさん
2009/10/14(水) 13:09:20ID:???これは糞仕様としか言いようがない。
0253nobodyさん
2009/10/14(水) 16:04:02ID:???0254nobodyさん
2009/10/14(水) 23:54:42ID:???0256nobodyさん
2009/10/15(木) 10:20:40ID:???入ったことないかどういうシステム化は知らんけど
0257nobodyさん
2009/10/15(木) 15:42:13ID:???0258nobodyさん
2009/10/15(木) 17:50:40ID:???もちろん使える部分はそのまま使うんだろうけど。
どうなんでしょ。教えて下さい。
0259nobodyさん
2009/10/15(木) 18:45:46ID:???cake1.1の上で作ったアプリを1.2にアップグレードする際の話?
どっちにしてもフルスクラッチはない
0260nobodyさん
2009/10/15(木) 18:50:49ID:???2.xはほとんど一からじゃない?
0261nobodyさん
2009/10/15(木) 20:27:44ID:???cakephp フレームワーク自体のこと です。
>>260
拡張なんですかー。
ありがとうございました!
0262nobodyさん
2009/10/16(金) 12:18:40ID:???0263nobodyさん
2009/10/16(金) 12:37:24ID:???0265nobodyさん
2009/10/17(土) 10:33:23ID:???0266nobodyさん
2009/10/17(土) 11:39:57ID:???ちょっと試してみたいな
0270nobodyさん
2009/10/18(日) 01:00:38ID:???定義づけしろと言われると難しいな
セキュリティや負荷問題などに明るい人が、「cake2を導入して開発することによってcake1よりも
開発効率が上がったり運用コストが下がるなどのメリットがある」と判断するレベルということなんだろうか。
俺はセキュリティとか負荷には弱いので他人の意見に頼るしかないんだけど。
セキュアである程度軽い、大きな仕様変更が予測されない、というのが業務レベルと呼べる必須条件な気がする。
0271nobodyさん
2009/10/19(月) 22:33:13ID:???ファイルがたくさん増えて逆に面倒かと思うのですが。
pearとかPECLとか何を使うか習得すべきかわからなくなってきた
0272nobodyさん
2009/10/19(月) 23:09:54ID:???ファイルはたくさんだけど、どうせいじるのはMVCくらいだし。
今は簡単なツールでさえCake使ってるわ。
1から書く手間を考えたら、Cakeの初期設定やった方が早いし簡単。
0273nobodyさん
2009/10/19(月) 23:29:10ID:???ああ、小規模なものは直接自分でちゃちゃっと書いた方がいいことがよくある。
でも時間に余裕があるなら練習としてCakeでやってみるのも悪くない。
0274271
2009/10/20(火) 00:09:35ID:???意外と触るファイルは多くないのですか。
できればライブラリなどは使用したくないのでFWで対応できるなら理想的です。
cakeやってみたいと思います。
0275nobodyさん
2009/10/20(火) 21:43:59ID:RAVGwnC1今「cakephpによる実践webアプリケーション開発」で勉強してるんですけど、
<li><?php echo $html->link(__('Weeky', true), array('controller'=>'schedules', 'action'=>'index', 'id'=>'week', date('Y/m/d',$times['from_time'])));?></li>
<li><?php echo $html->link(__('Monthly', true), array('controller'=>'schedules', 'action'=>'index', 'id'=>'month', date('Y/m/d',$times['from_time'])));?></li>
<li><?php echo $html->link(__('Daily', true), array('controller'=>'schedules', 'action'=>'index', 'id'=>'day', date('Y/m/d',$times['from_time'])));?></li>
っつーところがあるんですが、
link()のarrayの
controller=>・・・
action=>・・・
があるのはいいんですけど、
id=>・・・
って何の為にあるんですか?
こういう場合、どこにid=の指定先があるんですか?
色々ぐぐったりしてもid指定がそもそもわからなかったので、どなたか教えてください。
0276nobodyさん
2009/10/20(火) 22:27:04ID:???Router::urlを使ってるんだけど
/:controller/:action/:id/
っていう文字でわたすか、
array(
'controller'=>':controller',
'action'=>':action',
'id'=>':id'
)
ってわたせる。
で、これでもわかんなかったら何にもわかってないはずだから一からマニュアルよみな
↓こういうのもあるで
http://api.cakephp.org/class/router#method-Routerurl
0277276
2009/10/20(火) 22:30:12ID:???ごめん、
array(
'controller'=>':controller',
'action'=>':action',
'day'
)
で普通渡すような。。。
0278nobodyさん
2009/10/21(水) 12:37:32ID:???0279nobodyさん
2009/10/21(水) 16:53:30ID:+lxCFMv1せめて何ページ目か書いてくれないと、手元にある本でもどこの話なのかわからん
あとその本、入門としてはレベル高いから他の本の方がいいかもよ
0280275
2009/10/21(水) 19:52:23ID:IsADHLgB47p一番下です。
>>277
http://api.cakephp.org/class/router#method-Routerurl
みたけど、すんません、idに関する記述がなくて、ようわからんす。
自分が知りたいのはid=>が、そもそも指定可能なものなのか?
(まあ可能だから使ってるに決まってるんですが、説明がないし・・・)
idの指定先はどこにあるんか?
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1873&forum=5
こっちで聞いてみまーす。
最初からこっちで聞けばよかったね。
皆さん面倒かけてすいません。&レスありがとう。
0281nobodyさん
2009/10/21(水) 19:56:31ID:???0282nobodyさん
2009/10/21(水) 20:23:59ID:???見てみた、確かに書いてあるね>>275の状態になるのはp57みたいだけど
schedules controllerには
functino index ($scope = 'week')
って書いてあるし、>>277のやり方の法が一般的だろうし、なんでidとして渡してるのかわからん
その後idとして利用している様子もないし
何がやりたいのかわからんけど、とりあえずidの存在は気にしなくていいと思うぞ
0284275
2009/10/22(木) 02:01:22ID:cfsY/jT4むちゃくちゃ気になってたんで助かりました!
ほんまありがとうございました★
0285nobodyさん
2009/10/23(金) 11:01:57ID:???一日ハマった。
0286nobodyさん
2009/10/23(金) 13:08:45ID:???countとか
0287nobodyさん
2009/10/23(金) 17:15:32ID:???0288nobodyさん
2009/10/23(金) 22:48:58ID:???1.1から1.2ほどの変化はないと思っていいのかな
クエリーキャッシュに期待
0289nobodyさん
2009/10/24(土) 18:18:01ID:???0290nobodyさん
2009/10/24(土) 20:48:46ID:???0291nobodyさん
2009/10/24(土) 21:54:12ID:???0292nobodyさん
2009/10/24(土) 21:57:08ID:???0293nobodyさん
2009/10/24(土) 22:01:17ID:???使ってます.コードはこんな感じです.
userコントローラ
function edit() {
$this->User->id = $this->Auth->user('id');
if(empty($this->data)) {
} else {
$this->User->set($this->data);
if($this->User->validates()) {
if($this->User->save($this->data, true, array('email', 'password')))
$this->flash('modified', '/');
}
}
}
0294nobodyさん
2009/10/24(土) 22:08:48ID:???$this->data['model']['password'] と $this->data['model']['username'] に値がセットされていないと暗号化されないみたいね
0295nobodyさん
2009/10/24(土) 22:09:52ID:???自前でAuth->hashPasswordだったけか?を通す必要がある
0296nobodyさん
2009/10/24(土) 22:36:24ID:???$this->data[?User?][?username?], $this->data[?User?][?password?]
どちらも設定したけど暗号化されない。どうすればいいんだろう。
function edit() {
$this->User->id = $this->Auth->user(?id?);
if(empty($this->data)) {
} else {
$this->User->set($this->data);
if($this->User->validates()) {
$this->data[?User?][?username?] = $this->Auth->user(?username?);
$this->Auth->hashPasswords($this->data);
pr($this->data);
if($this->User->save($this->data, true, array(?email?, ?password?)))
$this->flash(?modified?, ?/?);
}
}
}
0297nobodyさん
2009/10/24(土) 22:41:13ID:???Auth->password($password)だた
http://api.cakephp.org/class/auth-component#method-AuthComponentpassword
0298295,297
2009/10/24(土) 22:44:12ID:???dataにいれてhashPassword通してみたのね
でも、だったらreturnで戻ってくるからそれ受け取らなきゃ
参照で受け取って書き換えてくれるとかじゃあないよ
http://api.cakephp.org/view_source/auth-component/#line-847
0299nobodyさん
2009/10/24(土) 22:45:11ID:???ありがとう。解決しました
function edit() {
$this->User->id = $this->Auth->user('id');
if(empty($this->data)) {
} else {
$this->data['User']['password'] = $this->Auth->password($this->data['User']['password']);
$this->User->set($this->data);
if($this->User->validates()) {
if($this->User->save($this->data, true, array('email', 'password')))
$this->flash('modified', '/');
}
}
}
0301nobodyさん
2009/10/25(日) 00:02:21ID:???function beforeFilter() {
$this->Security->loginOptions = array('type'=>'basic');
$this->Security->loginUsers = array('id'=>'pass');
$this->Security->requireLogin('index');
parent :: beforeFilter();
}
を書いてるんだけど、ベーシック認証にはなって、IDとパスワードを入れても何度も何度も
入力させられます。ちなみに、parent :: beforeFilter();を消しても同様に入力させられます。
どうしたらよいでしょうか。教えて下さい。お願いします。
0302nobodyさん
2009/10/25(日) 00:08:41ID:???ちなみに、 loginUsers で指定した id と pass を入力しても認証していないようです。
認証をキャンセルすると $this->Security->blackHoleCallback = 'securityError'; に移動します。
そのまま設定した id と pass を入力してもダメなのでしょうか。
0303nobodyさん
2009/10/25(日) 00:13:04ID:???0305nobodyさん
2009/10/25(日) 03:50:22ID:???Cake3をフォークするなんていうドラマチック展開が起こっています。CakeどうなるのCake
0307nobodyさん
2009/10/25(日) 05:27:27ID:???ttp://bakery.cakephp.org/articles/view/the-cake-is-still-rising
ざっと見たところcake3の開発の人がcake3を持って出て行っちゃったって
話みたいだけど、今はcake2に向けて開発が進んでるところだから
問題ないんじゃないの?
0308nobodyさん
2009/10/25(日) 05:45:03ID:???0309nobodyさん
2009/10/25(日) 12:25:34ID:???さくらはPHPはモジュール版とCGI版があるけどどっち使ってる?
CGI版だと、動作しないよ。たしかphp的な仕様で。
0310nobodyさん
2009/10/25(日) 13:02:04ID:???ありがとうございました!見てみたら CGIで動作していました。
他の方法を考えてみます。
ご親切ににありがとうございました。
0311nobodyさん
2009/10/25(日) 14:42:28ID:???困ってます助けて・・・
ショップとジャンルがあって
1つのショップは複数のジャンルが持てて、
ジャンルも複数のショップがもてるので
hamtmに結んでいるんですが、
ジャンルでショップを絞込みすると
$this->ショップ->ジャンル->findAllbyジャンルID($ジャンルID);
とすると、ジャンルと、ジャンルとショップの結合のデータしか入ってきません。
ショップIDまでは取れているのに、ショップIDの内容も取るには
なにが足りないの?(;_;わかんない・・・
0312nobodyさん
2009/10/25(日) 16:40:24ID:???でやってみては?
0313nobodyさん
2009/10/25(日) 18:51:56ID:???おお!
Shop->Genre->
ではなくて
条件で指定するのですね!!
ありがとうございます!
それにジャンルのつづりがすごい!
やっぱり2chねらー尊敬!
0314nobodyさん
2009/10/25(日) 19:11:35ID:???0316nobodyさん
2009/10/27(火) 03:36:59ID:???debug情報をlogに吐かせたいです。$this->log等
方法を知っている方、教えてください。
0317nobodyさん
2009/10/27(火) 04:31:52ID:???公開されているウェブサービスを利用するために、外部のXMLを
$xml = new XML($req);
のように取得しているのですが
相手側のサーバーで503エラーなどが発生すると、404コードを吐いて止まってしまうようです
503コードを吐くようにしたいのですが
XMLクラスが継承しているクラスが多くて、手を入れるにも大変そうです
なにか良い方法ってありますか?
エラー時はXMLクラスが false などを返してくれればよいのですが…
0318nobodyさん
2009/10/27(火) 05:00:04ID:???書いている意味がわからんが、相手サーバーのXMLを読み込んで、自分のページで表示する意味?
だったら、毎回取得せず、キャッシングするのが常識じゃないのか
0319nobodyさん
2009/10/27(火) 05:31:05ID:???すみません
503エラーではなく、自分のコードにミスがありました
ちなみにキャッシングはもちろんしています
でも、たまたまキャッシュ更新のために取得する際に、
相手側のサーバーが落ちている場合もないとは言えませんよね
そういう場合はどうなるのでしょうか?
一応、問題は解決しましたので、もし既に調査済みの方がいれば、
教えていただけるとありがたいです
0320nobodyさん
2009/10/27(火) 07:38:21ID:???$this->log()でええやないか
なにが聞きたいんや
http://book.cakephp.org/ja/view/159/Using-the-log-function
http://api.cakephp.org/class/object#method-Objectlog
>>319
キャッシュがなければ取得
取得できなければエラー表示
取得できればキャッシュにも保存
とか、
キャッシュは相当長くしておく(A)
キャッシュが古ければAよりは短時間のリミットで再取得
取得できなくてもキャッシュを表示
でよくない?
何が聞きたいんや
0321nobodyさん
2009/10/27(火) 12:24:19ID:???0322nobodyさん
2009/10/27(火) 12:57:22ID:???おそらくdebugフラグが0で、
debug情報をlogに吐かせたい、
とエスパー
やり方はオイラも知らんでヤンス
0323nobodyさん
2009/10/27(火) 13:49:04ID:???0324nobodyさん
2009/10/27(火) 18:07:07ID:???・一般ユーザー
・企業
の2種類のユーザーがいる場合のテーブル設計ってどうする?
今は
User テーブルに type 0 or 1
でそのほかに
Normal (一般ユーザー)
Kigyou (企業)
って分けてるんだけど。どうするのがベスト?
0325nobodyさん
2009/10/27(火) 18:12:29ID:???0327nobodyさん
2009/10/27(火) 21:58:12ID:???ご親切にありがとうございます。
ここでACLが出てくるのかー。
今まで聞いたことはあったけど難しそうだったので
見てもなかった。
一度勉強してみます。ありがとう。
0328nobodyさん
2009/10/28(水) 02:05:14ID:z9D0rCNP個人的なアイデアなんですが、ログイン用IDなどの共通項となるアカウント情報はUserモデルで管理して、一般ユーザ・企業はフラグフィールドで識別。
共通ではない、プロフィール情報などはUserProfile. CompanyProfileなど別のフィールド群のモデルに管理させるとか。
0329nobodyさん
2009/10/28(水) 07:43:25ID:???0332nobodyさん
2009/10/28(水) 10:18:17ID:???http://bakery.cakephp.org/articles/view/inheritable-behavior-missing-link-of-cake-model
とか
0334nobodyさん
2009/10/29(木) 20:41:53ID:???0335nobodyさん
2009/10/30(金) 00:34:16ID:???0336nobodyさん
2009/10/30(金) 01:03:28ID:???0337nobodyさん
2009/10/30(金) 15:40:55ID:???社員管理システムみたいなやつの検索画面を作ってます。
検索結果をpaginatorを使って表示していて、$paginator->sort()などでソートしたりできます。
でも、その際に検索条件を覚えていなければならないので、
$paginator->options(aa('url', $condition));
としてURLにパラメータで渡してます。
これで普通の項目はうまくいくのですが、問題は条件が日付のとき、
$form->input()でタイプをdateにして入力欄を作っていると、
各項目が配列になっていて(birthday['year']、['month']、['day']みたく)
単純に上記の方法で渡すと、urlに「birthday:Array」などとなってうまく渡せません。
このような場合はどうやってパラメータを引き継げばいいのでしょうか。
0338nobodyさん
2009/10/30(金) 15:51:04ID:???にすればいいじゃん
たしか日付はその配列形式でも動くし
ハイフンつなぎでも受け取ってくれたはず
0339337
2009/10/30(金) 16:01:21ID:???birthday:2009-10-30
などとurlがなるようにしてみましたが、リンクをクリックすると
Fatal error: Cannot use string offset as an array in (略)../libs/model/model.php on line 843
といったエラーになります。
0340nobodyさん
2009/10/30(金) 16:08:39ID:???つーかよ
だったらよ
ぶんかつすりゃいいだけだろーがよ全部聞くの?
$bunkatsu = explode('-', $hiduke);
$hidukedayooooooo = array(
'year'=>$bunkatsu[0],
'month'=>$bunkatsu[1],
'day'=>$bunkatsu[2],
);
0341337
2009/10/30(金) 16:21:40ID:???何度もありがとうございました。
0342nobodyさん
2009/10/30(金) 16:51:11ID:???普通そこいじらねーよw
0344nobodyさん
2009/10/30(金) 23:04:18ID:???きたく
0345nobodyさん
2009/10/31(土) 02:15:30ID:???もうフリーでは食っていけないだろうな、優秀な営業マンとペア組まない限り
0347nobodyさん
2009/10/31(土) 14:37:22ID:???これからはスキルの高い奴しか生き残れない。
0348nobodyさん
2009/11/01(日) 05:01:59ID:???自分でコンテンツ運営しての2本柱での収入がないとダメだ
■ このスレッドは過去ログ倉庫に格納されています