【PHP】フレームワーク CakePHP 7ホール目【v1.2】
レス数が1000を超えています。これ以上書き込みはできません。
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/
0002nobodyさん
2009/09/01(火) 16:12:35ID:???【PHP】フレームワーク CakePHP 6ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1236563737/
【PHP】フレームワーク CakePHP 5ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1229669539/
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0003nobodyさん
2009/09/01(火) 16:13:00ID:???連載:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/cakephp
CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions
ttp://www.cpa-lab.com/tech2/inflects/
Free CakePHP Book (Matt Curry and Mark Story)
http://www.pseudocoder.com/free-cakephp-book/
あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
CakePHP Note
http://www.garacter.com/notes/CakePHP+Note/ni:5
CakePHPを使ったMVC設計のベストプラクティス - Sooey
ttp://www.sooey.com/journal/2008/03/26/717/
Qdmail(日本語メールコンポーネントとして利用可能なライブラリ)
ttp://hal456.net/qdmail/
10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
CakePHPカンファレンス東京(2008)
http://conference.cakephp.jp/
0004nobodyさん
2009/09/01(火) 16:13:21ID:???CakePHP プログラマーズ リファレンスガイド
http://cakephp.jp/doc/
CakePHPフレームワークによる快速WEB開発 |codezine
http://codezine.jp/a/article/aid/670.aspx
■関連書籍
・ver1.2系
CakePHP1.2ガイドブック
http://www.amazon.co.jp/dp/4839932468/
CakePHPによる実践Webアプリケーション開発
http://www.amazon.co.jp/dp/4839930651/
オープンソース徹底活用 CakePHPによるWebアプリケーション開発
http://www.amazon.co.jp/dp/4798022225/
CakePHP ポケットリファレンス※ver1.2beta
http://www.amazon.co.jp/dp/4774135038
CakePHP徹底入門
http://www.amazon.co.jp/dp/479811717X
・ver1.1系
CakePHPガイドブック
http://www.amazon.co.jp/dp/4839924317
Fast CakePHP
http://www.amazon.co.jp/dp/4774133418
■関連スレ
【PHP】フレームワークについて語るスレ13【総合】
http://pc11.2ch.net/test/read.cgi/php/1237825268/
0005nobodyさん
2009/09/01(火) 16:13:48ID:???補足があればどうぞ
Have a Nice Cooking !
0006nobodyさん
2009/09/01(火) 17:42:35ID:???0007nobodyさん
2009/09/01(火) 18:15:29ID:???0008nobodyさん
2009/09/01(火) 18:16:13ID:???0009nobodyさん
2009/09/02(水) 13:12:39ID:???0010nobodyさん
2009/09/02(水) 15:49:16ID:???まとめて削除とかしたいんだけども。
0011nobodyさん
2009/09/03(木) 12:27:23ID:???0012sage
2009/09/03(木) 12:29:16ID:6RTv1eVYテーブルに日付データを持たせてdatetime型で作成し、その後bake実行し、
ふんふんと眺めてみました。
新規作成のadd画面ではその日付データはドロップダウンリストになっているのですが、
そこに選択肢として、冒頭に「空白」(選択しない)を持たせたいと思っています。
現在、bakeされたソースコードは
echo $form->input('enddate',array('dateFormat'=>'YMD','monthNames'=>false,'timeFormat'=>'NONE'));
こんな感じでかかれているのですが、上記のようなことをしたい場合は
$form->selectの形で全体を書き換えなくてはいけないのでしょうか。
日付選択なので、現状の年月を取得するためのロジックはあえて書きたくないので、ピンポイントで
修正できる方法がないかと思っています。
それともbakeは本当に枠組みだけなので詳細なオプション等は書き換えが前提なのでしょうか。
よろしくお願いします。
0013nobodyさん
2009/09/03(木) 13:58:34ID:???オプションに
'empty' => '選択してちょ'
だったと思う
select 使う場合は、'showEmpty' => 'select me'
0015nobodyさん
2009/09/03(木) 14:45:27ID:???ファイルベースでやるなら
rmコマンド使ってまとめて消せるからいいんだけど
memcacheとか使うと出来ないじゃん。
001612
2009/09/03(木) 18:07:45ID:???ありがとうございます!!
無事に
echo $form->input('enddate',array('dateFormat'=>'YMD','monthNames'=>false,'timeFormat'=>'NONE','empty' => '選択してちょ' ));
こう書くことで一番初めの選択肢に追加することができました!
これを読んだあと、
http://book.cakephp.org/ja/view/189/Automagic-Form-Elements
こちらに同じことがかいてありました・・、すいません。
inputの第一引数の値によって、表示するタイプが違うので勝手にドロップダウンリストになるのですね。
実際、ビューに自作で手を入れるときはinputではなくselectを使用するほうがいいのかな、とは
思っているのですが(見た目で何が表示されるのかわかりづらい気がしました)
ありがとうございました。
ガイドブックにはここらへんの説明があまりかかれてないので、助かりました、ありがとうございます。
0017nobodyさん
2009/09/03(木) 22:56:22ID:l9lqLow/どういたしまして。がんばりや。
0018nobodyさん
2009/09/04(金) 13:12:26ID:???1つの検索フォームに「ユーザー」「日記」の2つのラジオボタンを置いてラジオボタン別に検索内容を出し分けたい。
この場合フォームの送り先のControllerはどうするのが適切なのかな?
1. UsersControllerに送信してラジオボタンが「日記」だった場合はDiaryControllerにリダイレクトする
2. SearchesControllerみたいなのを作ってそこに送信。その中でどちらかのモデルから検索結果を取得
3. 根本的に頭の中がおかしい
アドバイスお願いします。
0019nobodyさん
2009/09/04(金) 13:12:50ID:???Cookieの発行がおかしい
⇒チケット出てるみたいだけど、Cookieの仕様書どおりに作ったと言い張ってる?
リダイレクト
⇒3xxのリダイレクトを追跡してくれない。まぁ自分で追跡すればいいんだけど面倒
すなおにPear::HTTP_Clientつかった
0020nobodyさん
2009/09/04(金) 14:40:43ID:???PCならJavascriptで切り替えればいいと思うけどそれをしないなら
俺は2を使うな。
>>19
複数クッキーに対応してないだけでしょ。
書き直したら使えたよ。
0021nobodyさん
2009/09/04(金) 14:55:30ID:???継承したクラス・・・めんどい
0022nobodyさん
2009/09/04(金) 15:32:52ID:???0023nobodyさん
2009/09/04(金) 19:30:20ID:???じゃあさ普通毎回配列の中身変わるじゃん?変わんないの。
なんでなん?shuffleって確か中身はrandだからsrandが固定されてんのかなって思って
コアライブラリにgrep掛けて探したら居るわけ。
cake\libs\security.php
********************************************
if (!defined('CIPHER_SEED')) {
//This is temporary will change later
define('CIPHER_SEED', '76859309657453542496749683645');
}
srand(CIPHER_SEED);
********************************************
まぁsrandちゃんとしない俺が悪いけどさ、
76859309657453542496749683645ってなんなのさ
誰か教えてよ!
0024nobodyさん
2009/09/04(金) 19:43:31ID:???みなさんは、認証が必要なページと不要なページが混在している場合ってどうしてますか?
1.AppControllerでauthコンポーネントを読ませて、認証が不要なページでAuth::allow()を呼ぶ
2.認証が必要なページでのみauthコンポーネントを読ませる
3.authコンポーネントを使用しない
どれもスマートさに欠ける気がするのだが、何か他に良い方法があったら教えて欲しい。
002624
2009/09/04(金) 20:19:56ID:???データの更新が可能なページ
参照系のページは、認証(ログイン)不要にしたい。
ゲストアカウント作っても良いのだが、一々ログインさせるのは面倒かなと思っています。
自動的にゲストアカウントでログインさせる様な巧い手があれば、それもアリかな?とも思っています。
ちなみにaclコンポーネントは自前で書いて、Auth->autherise=array('object'=>'HogeAcl');しようと画策してます。
※autherise:スペル違うカモ…手元にPC無いので確認出来ない
002824
2009/09/05(土) 00:34:22ID:???やっぱり、それがスタンダードですか。
とりあえず、今は↓みたいな感じでやってみようかと妄想してます。
・AppControllerでauthコンポーネントを読ませる
・beforeFilter()内で、未認証だった場合に Auth->login($dummy_user) を呼び出してダミーアカウントで認証
・afterFilter()又はbefore/afterRender()内で、ダミーアカウントで認証されていた場合にログアウト処理を呼び出す
0029nobodyさん
2009/09/05(土) 11:21:53ID:4jU9VbTXbeforeFilter()内で
$this->Auth->allow()
$this->Auth->deny()
使ってやるのはダメなの?
003024
2009/09/05(土) 18:13:26ID:???あ、、、
確かに、>>28みたいにするくらいならbeforeFilter()内で自前のACL用コンポーネントのチェックメソッド呼んでallow()、deny() する方がスマートですね。
いつの間にか、Auth->authorize を使用する事に固執してしまっていたようです。
003112
2009/09/05(土) 18:43:41ID:???(もしごらんになっていたらすいません)
・ユーザー登録(認証いらない)
・ブックマーク登録(認証必要)
みたいなケースの場合
app/app_controller.phpに認証必要フラグ$needAuthをfalseにし、trueの場合は
認証が正しくない場合は、エラーをだす。falseのときは何もしない。
というような処理をさせておいて
各コントローラーに、その認証必要フラグをいちいち
true,falseに切り替えることで処理していました。
userのコントローラーはneedAuthフラグをfalseにし
bookmarkコントローラーはneedAuthフラグをtrueにすると上位の
コントローラーでログイン情報の有無を確認する、という感じでしょうか。
まだ私がneedAuthコンポーネント使ってないので参考にならないかもしれません。
0032nobodyさん
2009/09/07(月) 12:31:03ID:???CakeでLDAP認証制御できたら、
フォルダのパーミッション毎に認証のON, OFFの切り分けできるのになぁと夢想したりする。
0033nobodyさん
2009/09/07(月) 17:12:43ID:???0034nobodyさん
2009/09/08(火) 00:46:21ID:xTRWhMD60035nobodyさん
2009/09/08(火) 00:53:44ID:???ある程度コントローラが固まった段階で入れてます。
0036nobodyさん
2009/09/08(火) 06:26:04ID:???0037nobodyさん
2009/09/08(火) 10:31:43ID:???MySQLもない格安レンタルサーバーでCakeが動くかどうかわからないぞ。
もしPHPのメモリが足りたとしても、
大人しくCodeIgniterあたりでも使った方が良い。
0039nobodyさん
2009/09/08(火) 12:10:55ID:???DB無しの環境で動くのかどうか判らないなぁ
0041nobodyさん
2009/09/08(火) 13:22:21ID:???$uses = false;
とか書けばいいだけじゃないの?
modelのCRUDを全てファイル操作にマップするビヘイビアとか探せばありそう。
いろいろ制限はされるし動作は遅いだろうけど
0042nobodyさん
2009/09/08(火) 14:04:23ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2061&forum=6
004336
2009/09/08(火) 22:15:21ID:???軽いフレームワークなんですね。>CodeIgniter
なかなか良さげなので調べてみます。
>>42
Posqlいいですね!pure PHPのデータベースでCakePHP対応してるなんて、まさに求めてた物です。
早速使ってみようかな。速度とか、安定性とかちょっと心配ですが…
0044nobodyさん
2009/09/09(水) 00:40:18ID:???アップロードされたファイルを確かめて、
ファイルの種類によって処理を分けて(例えば画像だったらExifを解析したりサムネイルをつくるとか)
データを登録・・・っていう流れなんですけど、
そのまま直線的に書くと、コントローラーがどどーっと長くなってしまいます。
どの辺からモデルの仕事と分けるべきでしょうか?
0045nobodyさん
2009/09/09(水) 00:43:12ID:???0046nobodyさん
2009/09/09(水) 00:44:11ID:???みたいな既存のライブラリをベンダーで読み込むとか
コンポーネント使うとか
0047nobodyさん
2009/09/09(水) 01:01:21ID:rQurxkXZつMedia Plugin
004844
2009/09/09(水) 02:17:00ID:???確かに >>46 さんの言うようにコンポーネントかなあとも思ったりしたんだけど、
コンポーネントでいろいろやってDB保存用のデータを出してくるんだったら、
最初からモデルなのかなあ。とも悩んでみたところでした。
Media Pluginつうのを調べてみたらビヘイビアで処理してるんですね。
これをちょっと試してみます。
0049nobodyさん
2009/09/09(水) 03:01:54ID:???処理を分ける部分。if文と各種呼び出しのみ。
if文が連なって長くなってもそれは仕方が無い。
コンポーネント
アップロードされたファイルの処理の部分
モデル
その他
0050nobodyさん
2009/09/09(水) 10:37:42ID:???0051nobodyさん
2009/09/09(水) 18:58:34ID:rQurxkXZ0052nobodyさん
2009/09/10(木) 15:07:21ID:???hoge.com/users/login
としたいんですが
hoge.com/app/users/login になってしまいます><
app不要なんですがどこを弄ればいいですか?
0053nobodyさん
2009/09/10(木) 16:28:33ID:???ウェブルート/app/index.php
を読み込むからだろ。
ウェブルート直下にindex.php置けや。
0054nobodyさん
2009/09/10(木) 16:45:19ID:???できました><
0058nobodyさん
2009/09/10(木) 18:24:29ID:???0060nobodyさん
2009/09/10(木) 20:09:26ID:???0061nobodyさん
2009/09/10(木) 20:19:38ID:???怒るでしかしw
0062nobodyさん
2009/09/10(木) 20:30:45ID:???006358
2009/09/10(木) 20:34:14ID:???0064nobodyさん
2009/09/10(木) 20:34:54ID:???0065nobodyさん
2009/09/10(木) 21:29:59ID:vjF96vcKとかどうすればいいん?
$this->Table->find('all',array('fields'=>'Table.created + INTERVAL 1
HOUR AS hoge'));
だと
SELECT `Took`.`created + INTERVAL 1 HOUR` AS `hoge` FROM `tables` AS `Table`
とかになってエラーになる
$this->Table->query('SELECT tables.created + INTERVAL 1 HOUR AS hoge
FROM books');
$this->Table->{'SELECT tables.created + INTERVAL 1 HOUR AS hoge FROM books'}();
しかないの?
0066nobodyさん
2009/09/10(木) 22:51:58ID:???DATE_ADD( Table.created, INTERVAL 1 HOUR) as hoge
ではどうでしょ?
0067nobodyさん
2009/09/10(木) 22:57:56ID:???パフォーマンス上問題が無いのであれば、
PHP側で実装する。
そうするとデータベース変更しても使えるしね。
E○-○UBEみたいに、ifでDB判断して
実行するSQLを切り替えなくてすむぞw
0068nobodyさん
2009/09/11(金) 11:07:52ID:breeYuObhoge_controllerがあって、
使うのテーブルがhoge1とhoge2がある場合、
モデルはhoge1.phpとhoge2.phpになるのでしょうか?
今までコントローラー名とモデル名は同じで作成していたのですが、
一つのコントローラーで2つのテーブルに同時にsaveしたい時に
どうしてもこのやり方ではできなくなってしまったので・・・
$this->Model->query()で無理矢理やれない事もないのですが、
$this->Model->query()がクエリに成功しても失敗しても
レスポンスが返ってこないのでエラー処理できなくて困ってます。
ご教授いただけるとありがたいです。
0069nobodyさん
2009/09/11(金) 11:17:45ID:???アソシエーションをちゃんとかいてれば、まとめてsaveするよ。
hoge1とhoge2の関係性とか書いたほうがいいんじゃないかな。
0070nobodyさん
2009/09/11(金) 11:35:25ID:breeYuObありがとうございます。
hoge1とhoge2の関係が1:多の関係で、
今やっているのが、hogeControllerに
$users= array('Hoge');
と記述していて、
hogeModelには
useTable = "hoge1";
となっています。
hogeModelからfindでhoge1の情報を取得しているのですが
最終的にその情報をもとに、hoge1とhoge2にそれぞれ
UPDATEとINSERTをやりたいのです。
その場合、それぞれテーブルごとにモデルを作成して、
hoge1側に$hasOneを設定すればいいのでしょうか?
0071nobodyさん
2009/09/11(金) 11:39:45ID:???× $users = array('Hoge');
○ $uses = array('Hoge');
ですね、失礼しました。
0072nobodyさん
2009/09/11(金) 12:00:54ID:???Hoge1 を Article
Hoge2 を Comment
とすると
Articleモデルは
$hasMany = array('Comment');
Commentモデルは
$belongsTo = array('Article');
としておけばよい
あとは、ArticlesControllerで
$this->Article->saveAll とか $this->Article->Comment->save とかする
0073nobodyさん
2009/09/11(金) 12:02:31ID:???>その場合、それぞれテーブルごとにモデルを作成して、
>hoge1側に$hasOneを設定すればいいのでしょうか?
それでいいと思うよ。
なるべく$usesとか使わないで、命名ルールに素直に従う方が後々楽ですよ。
例えば、テーブル名をhogeとhoge1にしてHogeモデルとhogeコントローラーを作るとか
0074nobodyさん
2009/09/11(金) 12:03:42ID:???$this->Article->save
$this->Article->Comment->save
で分けて保存した場合トランザクションが利かないことがあるよね。
0077nobodyさん
2009/09/11(金) 13:48:03ID:???0078nobodyさん
2009/09/11(金) 16:43:55ID:???できやへんの?
0079nobodyさん
2009/09/11(金) 19:05:57ID:???0081nobodyさん
2009/09/11(金) 20:02:35ID:???0082nobodyさん
2009/09/11(金) 20:16:33ID:???さぁ、このページで「log」で検索する作業に入るんだ。
マニュアルに結構載ってるから一通り読んで、まず検索してみろ。
ググっても結構あったぞ。
0084nobodyさん
2009/09/11(金) 21:02:25ID:???あ、ごめん。数ヶ月前に見たけど出来なかったサイトがあったんだけど、
もう一度見たら出来たわ。ごめんあさい。
http://www.a24loveweb.net/cake/%E9%81%8B%E7%94%A8%E6%99%82%E3%81%ABphp%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
これね!
008565
2009/09/12(土) 00:56:23ID:???いやあ、勝手にパースされて`が変なところに付くということなんで
SQLを変えても意味がないというか。
$this->Table->selectAdd('tables.created + INTERVAL '.$this->Table->escape('$hour').' HOUR AS hoge');
みたいなのがあればいいんだがなあ、と。
>>67
EC-Cubeは使ったことないからわからないが、
今回は単純なSQLだからいいけど、
複雑なのだと非常にパフォーマンス上問題になりそうなのでご勘弁願いたい。
つうかDB乗り換えるような変更があったとしたら、
SQLだけ対応しててもそのまま動くとは思えないんだが。
0086nobodyさん
2009/09/12(土) 01:13:40ID:???preg_match('/(?:\w+\.)?(\w+)/', $options['sort'], $result)
とか書いてあるけど全然意味がわかりません。
008712
2009/09/12(土) 11:58:30ID:???toのUser.idを格納するフィールドを作りました。
Post.user_id
Post.from_user_id
と作成し、
'from_User' =>array('className' => 'User','foreignKey' => 'from_user_id'),
'to_User' =>array('className' => 'User','foreignKey' => 'user_id'),
のように$belongsToを設定しました。
ここでPostの編集画面(edit)でそれぞれのUserを選択させるコンボボックスを表示させる場合に
他所でbakeしたソースを見ると
$users = $this->Post->to_User->find('list');
$this->set(compact('users'));
こうセットしているようなのですが、これだけだとfromの方はtextでidがそのまま出てしまいます。
試行錯誤の結果
$from_users = $this->Post->from_User->find('list');
$this->set(compact('from_users'));
が必要なことがわかったのですが、ここの$from_usersという名称はどこで関連付けた名前なのでしょうか。
toの方は$usersで良いのがなぜだかわからず。
ためしに$usersを$to_usersにしたら動かなくなりました・・・。
モデルの基本的なところが理解できていないかもしれませんが、
こういう場合はどのようにするべきなのでしょうか。
わかりにくい質問ですいません。
0088nobodyさん
2009/09/12(土) 12:05:02ID:???ちゃんとやってみたのか?>>66の言うとおり
$this->Table->find('all',array('fields'=>'DATE_ADD(Table.created, INTERVAL 1 HOUR) as hoge'));
でいけるはずだぞ。
>>86
普通は第2引数は指定しないと思う。
そうするとデフォルト値とquery stringをマージして現在のソートキーを返してくれるから。
$options['sort']は、'Model.id'みたいなのから'id'を取り出してるだけじゃなかろうか。
008982
2009/09/12(土) 12:24:36ID:???http://book.cakephp.org/ja/view/2/x1-2-Collection
というurlを入れるつもりだったのは秘密だ ><
ごめんな!>>78
0090nobodyさん
2009/09/12(土) 17:49:07ID:???; *
; * CakePHP(tm) : Rapid Development Framework <http://www.cakephp.org/>
・
・
・
よくコードに上記のようなコメント書いてるけど絶対書かないといけないんですか?
書き方載ってるサイト教えてください
0091nobodyさん
2009/09/12(土) 18:13:52ID:???phpDocumentor でググるといいかな。
絶対必要というわけではないけど、
自分で作ったファンクションとかAPIのドキュメントを自動生成するために書式が決まってる。
後から自分のコードを読みやすくするには書いとくクセを付けといた方がいいのかも。
0093nobodyさん
2009/09/13(日) 01:37:39ID:???うん、それだけ。
0094nobodyさん
2009/09/14(月) 21:33:44ID:SnxRq9ULそのテーブル内でユニークなランダム文字列ないし数字を振ってくれる便利なものないですか?
UUIDは長過ぎて8文字程度のランダムな文字列を割り当てたいんだけど
0096nobodyさん
2009/09/14(月) 23:05:17ID:SnxRq9ULCakeのString::uuid()がらみで聞いてみたけど確かにすれ違いかも
Cakeに用意されてたら同じくStringクラスにあるはずだしね。。
0097nobodyさん
2009/09/15(火) 00:35:27ID:???以前作ってみた。
処理としては、app_modelに、ランダムな/[a-zA-Z0-9]{8}/を返す関数を作り、
save時にそいつを呼び出して割り当てる(既に割り当て済みの文字列だったら、新しいものが出てくるまで処理を繰り返す)
これでいけた。まあ自前で作っても簡単。
0098nobodyさん
2009/09/15(火) 01:27:37ID:???なんかアホらしい気もするが
0100nobodyさん
2009/09/15(火) 13:20:04ID:???0101nobodyさん
2009/09/15(火) 13:31:25ID:jnkEds0n速度遅そうですが以下のようにしました。
Model->__schemaあたりからidのカラム長を取得
Text_Passwordでカラム長のパスワードを生成
Model->findしてかぶりがないかチェック
かぶっていれば10回まで再帰
ってなビヘイビアを作り読み込む。
0103nobodyさん
2009/09/15(火) 15:17:53ID:???0104nobodyさん
2009/09/15(火) 15:18:09ID:???まず普通は一回でもかぶらないのですが
一応10回まで回してそれでもだめならfalse返して終了
false受け取ったら自分にメール通知して、
画面はエラーです。。
今回はいいけど、他の案件で使おうと思うと全然だめですね。
uuidの36進数とかもやってみたけど結構文字数多いんですよね。
あと、time()を元にすると同秒の時の処理が・・・と、あと前後レコードを推測されやすいので
0106nobodyさん
2009/09/16(水) 00:09:49ID:???UUIDにはプロセスIDを含むはずなので、同時刻に生成しても問題ないはず
というか、そういう場合も含めて一意になるように設計してある規格なので
そこで衝突が起こったらUUIDの存在意義がなくなるような
0107nobodyさん
2009/09/16(水) 00:37:00ID:???0108nobodyさん
2009/09/16(水) 13:06:49ID:???ディレクトリ選べたらいいですのに。
0109108
2009/09/16(水) 13:37:35ID:???それをファイルベースでやると1つのディレクトリに何個もファイルが増えるのが嫌なの。
で、それを解消するのにどうしようかなぁと思ったんだけど
キャッシュを操作する直前にCache::configuいじって
プリフィックスにディレクトリ情報つけるだkでよかった。
0110nobodyさん
2009/09/16(水) 13:42:09ID:???0112nobodyさん
2009/09/17(木) 06:34:31ID:???ブラウザ間でSession情報を共有しちゃうんだけど、そういうものですか?
0113nobodyさん
2009/09/17(木) 10:37:05ID:???http://x68000.q-e-d.net/~68user/unix/pickup?%A5%D5%A5%A1%A5%A4%A5%EB%C0%A9%B8%C2%A4%DE%A4%C8%A4%E1
●ファイル・ディレクトリ数の上限
ひとつのディレクトリに置くファイルは、多くても 1000個程度にとどめておくことをお勧めする
これを見てダメだと思ったんだけど俺間違ってるのかな。
0114nobodyさん
2009/09/17(木) 10:47:44ID:???0116nobodyさん
2009/09/17(木) 12:10:36ID:???セッション開始前とか
そのあたりでpluginのコールバックを呼び出す機構がほしいな
pluginの幅が広がると思うんだけど
0117113
2009/09/17(木) 12:18:13ID:???そうなの?直接ファイルにアクセスするのには
ひとつのディレクトリにいっぱいいても大丈夫なのか。
キャッシュならFTPで接続しても見ることないしいいってことね!
0118nobodyさん
2009/09/19(土) 01:52:48ID:???明確に5.2以上でないと動かない機能を使ってるんですかね?
うち5.1台なんですけどむりすか
0119nobodyさん
2009/09/19(土) 02:56:08ID:???Media Pluginのソース全部読んだわけじゃないけど、
一部pathinfoの定数とかに5.2で追加されたものが使われてたのは発見したよ。
0120nobodyさん
2009/09/20(日) 10:31:46ID:???やはりmediumとかに落としたほうがいいんでしょうか?
0121nobodyさん
2009/09/20(日) 18:50:11ID:4/VSd770アプリの要件がモデルと単純に結びついてるケースなんてあんまりなくね?
コード拾い場として使うくらい?
0122nobodyさん
2009/09/21(月) 04:36:43ID:???.phpの方がエディタとかで扱いやすいだろJK
0123nobodyさん
2009/09/21(月) 07:31:21ID:???0124nobodyさん
2009/09/21(月) 08:12:05ID:???合理的な理由言ってみろや
0125nobodyさん
2009/09/21(月) 08:17:13ID:???オリジナルの拡張子にする害はあっても利はゼロだろ
0126nobodyさん
2009/09/21(月) 08:48:28ID:???そういう各アクション共通のフィルタって
基底クラスのAppControllerに実装するの?
0127nobodyさん
2009/09/21(月) 11:34:52ID:PliNJAC7そう。
afterLayout()とかで
0129nobodyさん
2009/09/21(月) 13:51:17ID:???-''":::::::::::::`''> ctpに慣れていってね!!! <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
|::::::;ノ´ ̄\:::::::::::\_,. -‐ァ __ _____ ______
|::::ノ ヽ、ヽr-r'"´ (.__ ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_ _,.ヘーァ'二ハ二ヽ、へ,_7 'r ´ ヽ、ン、
::::::rー''7コ-‐'"´ ; ', `ヽ/`7 ,'==─- -─==', i
r-'ァ'"´/ /! ハ ハ ! iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ ,' ,ゝ レリイi (ヒ_] ヒ_ン ).| .|、i .||
`! !/レi' (ヒ_] ヒ_ン レ'i ノ !Y!"" ,___, "" 「 !ノ i |
,' ノ !'" ,___, "' i .レ' L.',. ヽ _ン L」 ノ| .|
( ,ハ ヽ _ン 人! | ||ヽ、 ,イ| ||イ| /
,.ヘ,)、 )>,、 _____, ,.イ ハ レ ル` ー--─ ´ルレ レ´
0130nobodyさん
2009/09/21(月) 17:03:46ID:???0131nobodyさん
2009/09/21(月) 23:10:34ID:???あいつ元気にやってっかな
0132nobodyさん
2009/09/22(火) 00:05:44ID:???0133nobodyさん
2009/09/22(火) 01:53:07ID:???ここの検索って機能してなくね?
入力しても何も表示されないんだが
0134nobodyさん
2009/09/22(火) 02:17:06ID:???シングルトン用オブジェクトコンテナっぽいけど
なんで説明ないの?
0135nobodyさん
2009/09/22(火) 04:33:15ID:???どうするのが定石ですか?
0136nobodyさん
2009/09/22(火) 06:23:24ID:???var $ext=".ctp.php";
を定義しても、ctpを読み込みやがる。
何故?
0137nobodyさん
2009/09/22(火) 06:42:02ID:???http://api.cakephp.org/class/class-registry#method-ClassRegistrykeys
0139nobodyさん
2009/09/22(火) 11:33:12ID:???�d
API&ソース見て探求していくしかないのか・・
symfonyのcontext的なものでいろいろ取り出せるのかと思ったら
viewしか入ってねー
0140nobodyさん
2009/09/23(水) 03:33:59ID:ux1l4fZgSNS的なサイトをつくる場合にログイン認証画面(auth利用)→個人プロフィールトップ画面みたいなんを作りたいんす。
色々試行錯誤したんだけど、解決方法としては
テーブルを二つ用意する。userテーブル(ログイン認証用でid,password)とprofile(個人プロフィールトップ用(誕生日とか好きなものとか))
んでもってprofileテーブルからuserテーブルにhasoneでくっつける。
でもコントローラどうやって書けばいいか・・・。
っていうか方法本当にこれでいいのかな?
誰かいい方法知ってたら教えてください!!
0141nobodyさん
2009/09/23(水) 04:36:28ID:???cakeの使用以前なので、クダスレの方がいろいろ答えてもらえるんじゃない?
http://pc11.2ch.net/test/read.cgi/php/1229491611/
0142nobodyさん
2009/09/23(水) 05:54:39ID:ux1l4fZgありがとう。
使用以前ていうか、cakephpのauth使ってできるんすか?
できないなら、使わないで普通に書くんすけど。
0143nobodyさん
2009/09/23(水) 06:13:29ID:???できます。マニュアルは読みましたか?
ttp://book.cakephp.org/ja/view/172/Authentication
あとhasOne云々はAuthとは関係ないので、問題をきちんと切り分けたほうが良いです。
今はUserモデルとAuthコンポーネントにのみ注力すべきです。
0144nobodyさん
2009/09/23(水) 07:46:21ID:???User hasOne Profile な関係にして
UserモデルとUsersControllerでやるといい
ProfilesControllerは不要
0145nobodyさん
2009/09/23(水) 15:10:04ID:ux1l4fZg皆優しいっすね・・・。あれ、ちょっと涙が・・・。(笑)
>>143さん
ありがとう。読んでみます。
>>144さん
ありがとう。
ただ、USERモデルを作ったらはまったんすよ。
ID,pass合ってるのにログインできなかったりして。
auth使った場合、Userモデルは作らないって別の本にも書いてあったし。
0146nobodyさん
2009/09/23(水) 15:17:56ID:???とりあえず、チュートリアル系で一からやってみて、
動いてから自分のやりたい事やりなよ
問題の切り分けがしずらいし聞きたいこともわからん
0147140です。
2009/09/23(水) 21:12:19ID:ux1l4fZgとりあえずは解決?しました。
結論としては・・・
add,editloginで送るときのid,username,passwordとかがずれてました。
bakeを使ったから間違えた?ということで、今回はbakeのせいにして、これからは使いません。
本当お世話になりました☆
またよろしくお願いします!!
0148nobodyさん
2009/09/23(水) 21:19:49ID:???自分のミスをフレームワークの所為にして
便利さを犠牲にする。愚の骨頂
0149140です。
2009/09/23(水) 21:23:50ID:ux1l4fZgありがとうございます。
それも原因のひとつでした。
パスワードはaddアクションから登録したハッシュ化されたものでないとログインできなかったす。
(テーブルに打ち込んだハッシュ化してないパスワードはだめでした。)
ただ、まあそれはいいとして、編集するときにパスワード欄が
●●●●●●●●●●●●●●●●●●●●●●●みたいに
めっちゃ長くなってて、ちょっとださいんだけど、これくらいは目つぶるべきですかね?
入力されたものと同じ文字数で●●●●●て出せるんですか?
0150nobodyさん
2009/09/23(水) 21:26:44ID:???ググレかす
あとそれで編集実行したらログインできなくなるぞ
0151140です。
2009/09/23(水) 21:29:51ID:ux1l4fZgども!
おれはcakephp使わないって言ってないっすよ?
つかこれからも素人なりにガンバりますよ!
ただ!
bakeは使わないかも!
bakeって最初がちょっと楽できるだけなんじゃないすか?
それとも本当の便利さにおれが気づいてないんすか?
0152140っす
2009/09/23(水) 21:34:17ID:ux1l4fZgどーもご親切にあざーっす!
ちょっとイラっとしたけどおっしゃるとおり!!
0153nobodyさん
2009/09/23(水) 21:36:07ID:???全てのMVCを一から手書きするのはおれはやだ
骨組作ってもらってから編集していきたいね。
ま、好きにすればいいけどね
重大なのはそれより、
ろくに調べもせずに
「bakeがおかしいからbake使わないでいーや」
って心構えでコーディングなんかしてるとどのみち後々痛い目見る
問題を切り分け
一つ一つつぶし
同じ過ちを繰り返さない
プログラマとして最低限必要でしょ
0154nobodyさん
2009/09/23(水) 21:39:40ID:???ほらよ
http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=ht6&num=100&q=authComponent+cakephp&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
0155140っす
2009/09/23(水) 21:49:09ID:ux1l4fZg考え甘かったすわ。
肝に命じて進めていきますわ。
0156nobodyさん
2009/09/23(水) 21:59:46ID:???0157nobodyさん
2009/09/23(水) 23:32:04ID:???0158nobodyさん
2009/09/24(木) 01:31:26ID:???0159nobodyさん
2009/09/24(木) 03:11:55ID:L477CAe50163nobodyさん
2009/09/24(木) 23:58:41ID:???0164nobodyさん
2009/09/25(金) 00:18:25ID:???もうくんな
0165nobodyさん
2009/09/25(金) 00:27:33ID:???Cakeの特徴の一つですが
複数のクラスの中で同じヘルパーを使う時、
ヘルパーのインスタンスは同じなのでしょうか?
それとも、インスタンスが毎回作られるのでしょうか?
0166nobodyさん
2009/09/25(金) 12:12:36ID:???0167nobodyさん
2009/09/25(金) 12:34:20ID:???その前にCake2も今つくってんだし
0168nobodyさん
2009/09/25(金) 17:06:34ID:???ってどういうこと?Viewは一個だからHelper読み込みは1個ですよね通常。
Modelとかで強引に読み込んだらnewするわけだからインスタンス作るわけですよね
ちょっとわからんです。
0169nobodyさん
2009/09/25(金) 17:49:56ID:???あとelementsやlayoutsごとにviewインスタンスは生成されるのでは?
そのように共有されるものなので
helperを一元的に管理するファクトリのようなものがあって
同じ種類のhelperを複数作らないようにしてるのかなーと思ったのです
0170nobodyさん
2009/09/25(金) 20:02:24ID:???0171nobodyさん
2009/09/25(金) 20:21:44ID:???なモデル用意してバリデーションルール書けばいい
0173nobodyさん
2009/09/26(土) 05:31:21ID:Z4zintKr自分でinvalidFields()で取得して、viewに渡さないといけないのでしょうか?
0174nobodyさん
2009/09/26(土) 05:53:58ID:???0175nobodyさん
2009/09/26(土) 11:43:59ID:???CakePHPではModelはORマッピングの為にDBのテーブルを
クラスで表現したものとしていますよね。
Modelっていったい何???
0176nobodyさん
2009/09/26(土) 11:48:27ID:???0177nobodyさん
2009/09/26(土) 11:53:18ID:???> クラスで表現したものとしていますよね。
いいえ違います。ビジネスロジックを記述するモデルの
開発を加速する為に、DBのテーブルに対応するような
規約になっているだけです。
それが嫌なら、テーブルと関係ないModelを作ることも可能です。
が、レールの上に乗っかった方が速い開発が出来るでしょう。
0178nobodyさん
2009/09/26(土) 13:23:17ID:???count()しないでSQL_CALC_FOUND_ROWS使ってくれないん?
0179nobodyさん
2009/09/26(土) 16:03:41ID:???0180nobodyさん
2009/09/26(土) 16:37:57ID:???ログに保存したいのですが、方法があれば教えてください。
0181nobodyさん
2009/09/26(土) 17:12:39ID:???それがいやなら自分で$this->log();しまくれば
0182nobodyさん
2009/09/26(土) 23:39:27ID:???大した指摘もできねー能無しがほざくな。
0183nobodyさん
2009/09/27(日) 04:22:51ID:???デフォルトのエラーメッセージを設定したいのですが
どうやれば実現できますか?
0184nobodyさん
2009/09/27(日) 04:39:53ID:NXHVEZh/urlで指定したほうが有効になっちゃうんだけど
これってまずいんじゃないかと思うんだけどどうなんだろう?
0185nobodyさん
2009/09/27(日) 12:49:50ID:???うん、過去ログでもよんでろ低能
$validate = array(
'ruleName' => array(
)
);
0186nobodyさん
2009/09/27(日) 12:53:22ID:???○モデルのバリデーションルールで定義
var $validate = array(
'fieldName' => array(
'ruleName' => array(
'rule' => 'notEmpty',
'message' => 'からっぽですぜ'
)
),
);
○viewで上書き
<?php
echo $form->input('fieldName', array(
'error' => array(
'ruleName' => 'からっぽじゃん!!'
)
));
?>
0187nobodyさん
2009/09/27(日) 20:17:23ID:???ありがとうございます。
ただエラーメッセージの指定がしたいのではなくて
デフォルトのエラーメッセージの指定がしたいんです。
同じルールを設定するのに、毎回同じエラーメッセージを指定するのはダサいので・・
0188nobodyさん
2009/09/27(日) 20:25:14ID:???記憶の片隅にあったので↓の人参考にしてみたら?
http://d.hatena.ne.jp/ngtn/20080323/1206281439
0189nobodyさん
2009/09/29(火) 09:19:11ID:???フォーラムの情報を参考に作りました。
もっとスマートにやっている方がいたら教えてください。
<?php
uses ('model' . DS . 'datasources' . DS . 'dbo' . DS . 'dbo_mysql');
class DboMysqlEx extends DboMysql {
var $exeQueryCount = 0;
function execute($sql) {
$return = parent::execute($sql);
$GLOBALS["sqlLog"][++$this->exeQueryCount] = array(
"query" => $sql,
"error" => $this->error,
"affected" => $this->affected,
"numRows" => $this->numRows,
"took" => $this->took
);
$GLOBALS["lastSql"] = array(
"nr" => $this->exeQueryCount,
"query" => $sql,
"error" => $this->error,
"affected" => $this->affected,
"numRows" => $this->numRows,
"took" => $this->took
);
return $return;
}
}
?>
0190nobodyさん
2009/09/30(水) 16:22:46ID:???いつもこれに悩まされる。
https://trac.cakephp.org/ticket/2056
0191nobodyさん
2009/09/30(水) 22:27:51ID:???$this->paginateでの指定よりもurlで/limit:5000と指定したほうが優先されてしまうのは仕様なんでしょうか?
結局$this->paginateでの指定を諦めて$this->passedArgs['limit']で指定しているのですがみなさんはどうしてますか?
0192nobodyさん
2009/09/30(水) 22:34:25ID:???http://d.hatena.ne.jp/nori0620/20071123/1195801255
『CakePHP』を使ってみる 〜10〜 タグ機能を作ってみる - ざ・わーるど.jp@はてな
http://d.hatena.ne.jp/theworldjp/20080306/1204812552
この辺を参考にタグ機能を実装しているのですが、中間テーブルのposts_tagsテーブルにデータが入らないくて困っています。
アソシエーションが正しく設定されていて、$this->data['Tag']['Tag']にtag_idの配列が入っていれば
$this->Post->save($this->data)したときに同時にposts_tagsテーブルにデータが入るのでしょうか。
どちらの例でもposts_tagsテーブルに対する直接の操作が書かれていないので、本来どのタイミングで
posts_tagsテーブルにデータが入るのかわからず、問題のある場所が突き止められない状況です。
0193192
2009/09/30(水) 22:37:38ID:???自分の場合は$this->paginateの第三引数でホワイトリストを指定しています。
URLのパラメータでlimitがいくらでも変えられてしまうと言うのは気持ちが悪いので。
0195nobodyさん
2009/10/01(木) 05:27:32ID:???阿呆か
毎月給料遅配ばかりならその言い草も成り立つかもしらんが
きちんと給料を頂戴しているんだろ?残業代が出ないだけだろ?
何で残業代が出ないか胸に手を当てて考えろよ。経営者の期待に応える仕事ができたのか?
野球選手が契約更改で
「確かに去年は打率1割5分、ヒットより併殺打のほうが多く、守っては3試合に1回は失策をしましたが、
練習では毎日一番早くから一番遅くまでバットを振っていました。
年俸2割アップを要求します。」
なんて言えば嗤われるだけだろ。
野球という特殊技能を持ち、ある程度お客様を選べる立場の選手でもそうなのに、
いくらでも代わりがいる普通の社員が仕事もせずに遅くまで会社に残っていたから残業代を払えって?
一つ教えてやろう、世間ではお前みたいな奴を
糸合 米斗 シ尼 木奉
と言うのだよ。
0197nobodyさん
2009/10/01(木) 11:01:46ID:???0198nobodyさん
2009/10/01(木) 11:27:52ID:???Warning: mysql_connect(): Can't connect to local MySQL server
って出ちゃうんだけど、ウチの環境だけかなぁ。。
ターミナルからの直打ちはちゃんと動く。
0200nobodyさん
2009/10/01(木) 12:05:10ID:???個別記事(action/view/id)なページで次の記事、前の記事ってどうやって実装するんですか?
0202nobodyさん
2009/10/01(木) 18:16:04ID:???fieldList => array('User.username', 'Profile.name')
↑これだとダメだった
0203nobodyさん
2009/10/01(木) 21:48:31ID:???$this->Auth->allow('index','show');
とやれば index と show はログインしていなくても実行できますよね。
逆に基本全て実行できて、ログインしないと実行できないものを指定するってできるの?
0204nobodyさん
2009/10/01(木) 22:33:03ID:???http://book.cakephp.org/ja/view/383/deny
0206nobodyさん
2009/10/02(金) 20:15:27ID:???ありがとうございます。*で指定して deny 使えば良いんですね。
authコンポーネントって コントローラーをまたぐと認証が切れますけど、これは仕様なんですか?
全部のコントローラー、モデルをまたいでも認証を継続したままにしたいんですが、
方法はありますでしょうか。
0207nobodyさん
2009/10/02(金) 20:32:15ID:???おまえもう死んでこい
調べもしないで全部人に聞くのかよ
マニュアル読んだほうが100倍効率いいぞ
0209192
2009/10/02(金) 22:05:08ID:???どうやら$this->data['Tag']['Tag']にtag_idを配列で突っ込んでおくと
$this->Post->saveしたときに同時に中間テーブルにデータが入るようです。
http://www.okushin.co.jp/kodanuki_note/2008/10/cakephphasandbelongstomany.html
この記事を読んでいて判明。
0210nobodyさん
2009/10/03(土) 10:19:20ID:???アソシエーションをきっちり書いてないとうまく行かないから
ネーミングルール無視して作ってるときとか気をつけてね
0211nobodyさん
2009/10/03(土) 11:16:31ID:???そうですね、>>209のような簡素な書き方だと命名規則を守る必要がありそうです。
逆に>192の例だと、どちらも命名規則を守っているのに、(一応?)joinTableやらforeignKeyの設定しているようです。
0212nobodyさん
2009/10/03(土) 12:17:22ID:???debug($this->Session->id,false,true);
とセッションIDを表示しようとしているのですが、空です。
View内で
echo $session->id();
と書くとキチンとIDは表示されます。
コントローラ内でセッションIDを取得するにはどうしたらいいのでしょうか??
0213212
2009/10/03(土) 12:39:27ID:???できればHelper使わず取得したいのです
0214nobodyさん
2009/10/03(土) 16:10:20ID:???0215nobodyさん
2009/10/03(土) 16:28:58ID:???ありがとうございました。
session_id()で取ればいいですね。
普通のPHPの処理で考えればよかったですね。
0216nobodyさん
2009/10/03(土) 19:15:55ID:qJkUBPIaアソーシエーションを設定する場合、同じ項目で設定を聞かれる場合、
両立はできるんですか?またする意義はどういう場合にあるんですか?
たとえば・・・
user hasmany friend?(y/n)
→yを選択
user hasone friend?(y/n)
さっきhasmany選択したんだけど・・・hasoneを選択したらどうなるのか?
なんか意味あるのか?
0217nobodyさん
2009/10/03(土) 20:26:26ID:???hasOneなのかManyなのかは自動で判断できないから
作ってる本人にどっち?って聞いてるんでしょ
0218nobodyさん
2009/10/03(土) 22:28:09ID:???こんなのパッパと自分でやって比較すればいいじゃねえか。
こういう焦れったいやつっているよなあ。
0220nobodyさん
2009/10/05(月) 23:23:32ID:???0223nobodyさん
2009/10/06(火) 11:55:43ID:???0224nobodyさん
2009/10/06(火) 12:17:06ID:???0225nobodyさん
2009/10/06(火) 14:38:47ID:???0226nobodyさん
2009/10/06(火) 14:57:03ID:???0227nobodyさん
2009/10/06(火) 15:08:34ID:???虫歯になるの嫌だし
0228nobodyさん
2009/10/07(水) 11:34:25ID:???0229nobodyさん
2009/10/07(水) 11:56:22ID:???0230nobodyさん
2009/10/07(水) 12:43:59ID:???優しくていいけど、社内告知みたいで少し寂しいね
ところで、本当に高いね。
カンファレンスは、英語オンリーじゃないらしいけど、英語率高そう!
チケット高いは、英語率高いでは、数少ない友人誘っても誰も連れ立って来てくれなそう...
行きたいけど、怖いから行けない
0231nobodyさん
2009/10/07(水) 15:36:53ID:???0232nobodyさん
2009/10/07(水) 18:14:48ID:XPDBt2vkINSERTかUPDATEかは、主キーで判断して、変更したい場合はモデルの$primaryKeyを変更すればいいみたいですが、
UPDATEにする場合の条件を複数にしたい場合、
例えばメールアドレスとパスワードが一致したらUPDATEで、一致しなければINSERTみたいな処理にしたいんですが
これは可能でしょうか?
できるのであればご教授よろしくお願いします。
0233nobodyさん
2009/10/07(水) 18:25:05ID:???自前でやればいい
0235nobodyさん
2009/10/08(木) 12:01:55ID:???0237nobodyさん
2009/10/08(木) 16:03:23ID:???空で呼び出すとなにかいいことがあったりするのかな?
0238nobodyさん
2009/10/08(木) 16:46:16ID:???似たようなviewをたくさん作るときに雛形を用意していて空で書いてある。
javascriptがいらなくても残ったまま。
1.2.3の時は問題無かったけど最近1.2.5にしたらNG。
エラーを吐くわけではないので悩んだ。
0239nobodyさん
2009/10/08(木) 16:48:26ID:???なるほどねー
0240nobodyさん
2009/10/08(木) 17:56:07ID:???止まる ・・・ たまにあるよね。
javascriptだけに限らず。
エラーも吐かず真っ白。
ソースを見ても <title> ほげほえ 以降は真っ白。
デバッグに時間かかるね。
0241nobodyさん
2009/10/11(日) 17:50:58ID:???他のモデルにくっつけてアップする以外ないんですかね。
ソース見てもよくわからず。。
これができれば携帯からもアップロード処理できるのにぃーーー。
0242nobodyさん
2009/10/12(月) 00:26:02ID:???携帯はメールでアップしかできないんじゃないの?
0243nobodyさん
2009/10/12(月) 06:58:11ID:???そうですね。携帯はメールでしかアップロードできません。
例えば一般的なフォームで
user テーブルに データを登録するときにファイルを一緒にアップロード という処理は
echo $this->element('attachments', array('plugin' => 'media')); をviewに読み込めば
できるんですが
それを
ファイルのアップロードのみ したい場合はどうすればいいのかなと思いまして。
他のモデルに依存せず、
ファイルアップロードのみのフォームを作ってデータを登録させたいのです。
0244nobodyさん
2009/10/13(火) 00:43:52ID:???付属のattachmentモデルをそのまま使うのなら
attachmentコントローラーでも作ってsaveすればいいんじゃないすかね?
0245nobodyさん
2009/10/13(火) 08:30:44ID:???それがうまくできないんですよね。
user コントローラーに attachmentモデル を直接読み込ませているんですけど。
で、attachmentモデルにsaveかけても登録できないので。
まだ時間がなくてやれてませんけど、
なので userviewのエディット画面に id を hidden で渡してアップロードフォームを作ってみようかなと
思っています。
にしてもmediapluginは情報が少ないですよね。
僕はいいライブラリだと思ってるんですが・・・。
あまり評価されていないんですかね。
0246nobodyさん
2009/10/13(火) 23:17:55ID:???日本語が文字化けしていて困っています
文字コードは全てUTF-8に統一しており、XML宣言やMETAタグの中はUTF-8と
ちゃんと記述されているのですが、ブラウザ側でEUC-JPに解釈されてしまって
文字化けしてしまいます。ブラウザ側で手動でUTF-8に指定するとちゃんと見れます。
viewsの(例えば)index.ctpにHTMLとして日本語を書いても化けてしまいます
何が原因なのか教えていただければありがたいです
0247nobodyさん
2009/10/13(火) 23:27:14ID:???それから、ブラウザ何個か試してどれでもそうなる?
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本柱での収入がないとダメだ
0349nobodyさん
2009/11/01(日) 06:01:11ID:???0350nobodyさん
2009/11/01(日) 11:48:46ID:???同感。俺は3年前に独立したんだけど、それからずっと自分のコンテンツ運営で食ってる。
例えばmixiの全くマネをすれば一人食えるくらいは稼げる。
自分の運営で食えると、人のサイトを作る気しなくなるよ。
でもcakephpの開発だったらいけそうじゃない?
たまに外注にだしちゃおーかって思うけど、そういうときってcakephpのコミュニティで活躍してる人に
お願いしたくなるよね。
0351nobodyさん
2009/11/01(日) 18:03:14ID:???案件がおそろしいほど激減&低単価になってる
各マッチングサイトみても、そんなかんじだし
同業者にお仕事下さいと営業しても、ほど仕事はない
どこも案件を取るのに必死なんじゃないかと思う
もしくは、今までがバブルすぎたのか
こんなもんじゃなく、まだまだ案件がなくなっていくのか
0352nobodyさん
2009/11/01(日) 18:04:08ID:???0353nobodyさん
2009/11/01(日) 18:05:58ID:???今年から急降下している
0354nobodyさん
2009/11/01(日) 18:09:29ID:???最近、旬なのがFlashできる人間だが
人材欲しいという需要はあるが、php技術者よりは安く雇おうとする傾向にあるから
今が旬のFlashができたとしても、食えるとも限らない
0355nobodyさん
2009/11/01(日) 20:44:33ID:???0356nobodyさん
2009/11/02(月) 10:08:45ID:FEV+yFlP自分のコンテンツ運営って、もうちょっと掘り下げて解説してもらえませんか?
例えばどういったタイプのコンテンツをやって、どのような形で収入を得てるのかなど参考にしたいです。
0357nobodyさん
2009/11/02(月) 10:21:05ID:???0358nobodyさん
2009/11/02(月) 10:46:21ID:8b3geUjNあほだろお前
0359nobodyさん
2009/11/02(月) 11:08:31ID:???どうせお前らアフィリえいたーレベルなんだから
だいたいここはcakeのスレ。運営とか営業とかよそでやってろ低能
そんなことも切り分けれないから仕事もないんだよ
0360nobodyさん
2009/11/02(月) 11:18:36ID:???例えばインターネッツ上の全ての情報を集めて一瞬にして欲しい情報を
検索できるサイトを作って、そこにランク式の広告を載せて広告収入を得るとかどう?
0361nobodyさん
2009/11/02(月) 18:10:26ID:???0362nobodyさん
2009/11/02(月) 20:50:49ID:???0363nobodyさん
2009/11/04(水) 01:15:54ID:???どこの会社も自分とこの案件とるので手一杯て感じで、下請けの仕事さえもない状況だ
WEB開発だけじゃ、まじで食ってはいけない
今、食えてる奴は、今のうちに何か収入になる柱をひとつ用意した方がいいぞ
0364nobodyさん
2009/11/04(水) 01:36:38ID:???Authコンポーネント使えばいいよ
var $component = array('Auth');
こんな感じ
0365nobodyさん
2009/11/04(水) 16:42:30ID:???0367nobodyさん
2009/11/05(木) 00:01:17ID:???0369nobodyさん
2009/11/05(木) 14:44:41ID:???CakePHPじゃない、しかも安い仕事ばっかりだ
でもCake開発者には感謝!感謝!
0371nobodyさん
2009/11/10(火) 08:46:11ID:???0372nobodyさん
2009/11/10(火) 14:24:19ID:???レイアウトでEXTJSを読み込ませて実行すると
syntax error
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML...TR/xhtml1/DTD/xhtml1-transitional.dtd">
ってなるんですが分かる方いいますか
0373nobodyさん
2009/11/10(火) 19:00:27ID:???0374nobodyさん
2009/11/11(水) 06:45:27ID:???0375nobodyさん
2009/11/11(水) 07:12:47ID:???CakePHP1.3 PHP4対応
CakePHP2.0 PHP5.2以降対応
Cake3改めLithium PHP5.3以降対応
かな。まとめると
0376nobodyさん
2009/11/11(水) 07:17:04ID:???0377nobodyさん
2009/11/11(水) 14:46:39ID:???0378nobodyさん
2009/11/12(木) 15:50:16ID:???車輪の再開発はperlで散々やって満足したからフレームワーク使ってみようかなーと思って
cakephpに手を出したんだけど
dbのテーブル設計とかにまで制約というか規約があると思わなかったorz
wikiみたいにユーザーにデータを編集してもらうことを考えて、ほぼ全てのテーブルが
ID+編集時刻で主キーにするような設計しちゃったんだけど
これはやっぱり止めた方がいいと言うか、チュートリアル読み終わってからdb設計やり直したほうがいいんでしょうか(ヽ'ω`)
0379nobodyさん
2009/11/12(木) 15:58:58ID:???規約を無視したときの弊害を理解しないでそれを行うのは危なすぎる
0380nobodyさん
2009/11/12(木) 17:03:05ID:???モデルクラスの$primaryKeyを変更すればなんとかなるじゃね
ttp://book.cakephp.org/ja/view/71/Model-Attributes#primaryKey-437
0381nobodyさん
2009/11/13(金) 09:09:42ID:???0382nobodyさん
2009/11/13(金) 12:15:47ID:???仕事で納品するなら駄目。
0383nobodyさん
2009/11/13(金) 21:08:19ID:???0384nobodyさん
2009/11/14(土) 00:31:03ID:???いいから主キーにはidを使え。
0385nobodyさん
2009/11/14(土) 08:43:46ID:???0386378
2009/11/14(土) 08:57:02ID:???チュートリアルまで終わった結果、db設計から考え直すことにしましたorz
ところで、joinテーブルを使ったお勧めのチュートリアル or サンプルってありますでしょうか。
0387nobodyさん
2009/11/14(土) 11:22:57ID:???0388nobodyさん
2009/11/14(土) 11:52:14ID:???例えば編曲家検索サイトってのがあったとする
同じ曲を、バージョン違いで別々のミュージシャンが編曲することは良くあるという前提で
人TBL: [ID]、[編曲家名]、[]、[]、、
曲TBL: [ID]、[曲名]、[]、[]、、
編曲家で検索するとその人の曲一覧が出て、
曲で検索するとその曲に携わった編曲家一覧が出るとかいうのを実現したい場合、
曲人TBL作るしか無い気が
0391nobodyさん
2009/11/14(土) 17:37:53ID:???0392nobodyさん
2009/11/14(土) 18:25:30ID:???0393nobodyさん
2009/11/14(土) 20:16:43ID:???今までずっと勘違いしてた…
多対多で表結合するときに必要な中間テーブル的な物を指すのかと思ってた
0394nobodyさん
2009/11/16(月) 13:21:27ID:???例えば、会員登録する処理を書く際に、
1入力画面→2入力確認画面→3登録完了という一連の流れを行う場合、
・1/2/3の処理をまとめて一つのアクション内で処理
・それとも別々のアクション名にして処理
どちらのほうがいいのでしょうか?
0395nobodyさん
2009/11/16(月) 15:08:41ID:???俺なら一緒にしちゃうなあ。
1と2はテンプレート切り替えるだけだし、3はアクション分けるほどの処理じゃないし。
少なくとも1と3は一緒にしないとバリデーションがうまく動かないというか、設定がめんどくさい気がする。
0396nobodyさん
2009/11/16(月) 21:21:53ID:???395に同意。
一つのアクション内で
・確認画面を render
・登録完了時 $this->flash だな。
0397nobodyさん
2009/11/16(月) 21:48:01ID:???かたることじゃねーよ
0398394
2009/11/16(月) 22:29:14ID:???参考になります。皆さんどうも有難うございます。
0399nobodyさん
2009/11/17(火) 18:00:15ID:???処理を小分けしてアクション(メソッド)をつくるんだが、
他の開発メンバーは一つのアクション内にif文で分けたりすることが多い。
正直やりにくい
0400nobodyさん
2009/11/17(火) 18:56:21ID:???再利用性が生きる可能性の問題と言うか
手間に見合った結果が望めるかどうかって意味では、生産性の問題だな
0401nobodyさん
2009/11/17(火) 19:17:46ID:MEFZJKPuxampp/htdocs/cake/sample
このcakeフォルダの中にcake_1.2.5を入れてsampleにリネームして開発
してるんですけど、開発進めてるうちに、
http://localhost/cake/sample/cake/sample/users/edit
みたいな感じでcake/sampleがだぶるんですけど、こうなってしまう可能性として
何が考えられますか?
親切な方いらっしゃったら、解決方法教えて下さい。
0402nobodyさん
2009/11/17(火) 20:31:35ID:???0403nobodyさん
2009/11/17(火) 22:03:00ID:???リンクテーブルって自動で消せないの?
unbindして個別にdeleteしたわ
0404nobodyさん
2009/11/17(火) 23:09:41ID:???[tablea HABTM tableb]で、下記を実現したい場合
■ttp://www.ex.net/tableas/index(一覧)
tableaのidとtitleだけ表示できれば良い
■ttp://www.ex.net/tableas/view(詳細表示)
tableaの該当データに関連する、tablebのデータも表示したい
規約通りにテーブル作った上で、tableaのmodelに
var $hasAndBelongsToMany = array( 'Tableb' );
と書く事でデータの連動表示は実現できたんですが、
modelで定義してるために、indexの時にまで必要の無いtablebのデータを引っ張ってきてしまっています。
これってすごく無駄に思えるんですが、改善の余地はあるんでしょうか。
例えばview(詳細表示)用に別名でmodelを作れば不満点は解決すると思うんですが、
そうするとテーブル名(s)≠モデル名になり、規約から外れてしまう?気がして、悩んでます。
0405nobodyさん
2009/11/17(火) 23:33:14ID:???マニュアル読まないの?目ないの?
recursiveで検索
0406nobodyさん
2009/11/17(火) 23:34:11ID:???完全にキチガイ
0407nobodyさん
2009/11/17(火) 23:34:34ID:???最後にスラッシュをつけて終わらせるでググってみるといいよ。
パスがおかしくなってるんだよ。
>>402
何が言いたいの?
0408nobodyさん
2009/11/17(火) 23:44:08ID:???0412nobodyさん
2009/11/18(水) 01:19:21ID:ju/+mBFJ基本的にcakeは/app/webrootをドキュメントルートにして動かすものだから、
cakeを丸ごと公開ディレクトリに突っ込んで動かすのはあまり推奨されない
(たぶんそのせいで挙動がおかしい)
http://localhost/cake/sampleをルートにしたいのなら/htdocs/cake/sampleに
/app/webrootの中身を突っ込んで、/cakeのコアファイルは別のところにおいて
/app/webroot/index.phpの中の設定をいじってコアの場所を指定するといい
0413nobodyさん
2009/11/18(水) 01:24:03ID:ju/+mBFJやっぱりhttp://localhost/なりhttp://cakephp.local/なりルートで動かすようにした方がいいかも
0414nobodyさん
2009/11/18(水) 01:42:23ID:???0415nobodyさん
2009/11/18(水) 08:11:06ID:zky0t9H9直接$_GETを参照するのですか?
0418410
2009/11/18(水) 11:31:21ID:???そーそーそこ
たしか昔マニュアルかなんかみながら作った時はIDいらないと思ってたんだけど、
俺も消えてなくて設計見直して治った
よーわからん
0419nobodyさん
2009/11/18(水) 12:18:44ID:???まあ、idあった方がいろいろ便利な気がする
0420nobodyさん
2009/11/18(水) 15:33:15ID:???InnoDBにしてdelete on指定してとか
0421nobodyさん
2009/11/18(水) 17:47:42ID:7Al/6kAb初心者な質問で申し訳ないのですが、
HTMLのckeditorというのを使いたくて、ダウンロードしたフォルダをそのまま、
vendorsの中に置き、
/vendors/ckeditor/_sample/sample.css
をビューの中で呼び出したいのですが、それは可能でしょうか。
よろしくお願い致します。
0422nobodyさん
2009/11/18(水) 17:52:23ID:???0423nobodyさん
2009/11/19(木) 08:52:28ID:???じゃだめなの?
0425nobodyさん
2009/11/19(木) 13:34:17ID:???何の役割があるんですか?
0426nobodyさん
2009/11/19(木) 13:40:06ID:???0427nobodyさん
2009/11/19(木) 13:51:46ID:Rp5rjDhrちゃっちゃとcakeが焼きあがる
ただ、慣れると手で焼いても大して変わらないのでbake使う人は少ない
0429nobodyさん
2009/11/19(木) 14:03:47ID:???ディレクトリとか自分で作るのめんどくさいし
0430nobodyさん
2009/11/19(木) 14:04:43ID:???0431nobodyさん
2009/11/19(木) 14:43:52ID:???0432nobodyさん
2009/11/19(木) 14:51:15ID:???0433nobodyさん
2009/11/19(木) 15:10:31ID:???どこで統計取った?
0434nobodyさん
2009/11/19(木) 15:32:54ID:???0435nobodyさん
2009/11/20(金) 01:40:07ID:+tfzDSTLcakeの勉強会。
ここ1年くらいの動向は知らんけど、ちょっと前まではbake使いは異端だった。
0436nobodyさん
2009/11/20(金) 01:54:33ID:???0437nobodyさん
2009/11/20(金) 02:10:14ID:???地方の人は来づらいか
0438nobodyさん
2009/11/20(金) 02:44:41ID:???やつらのブログみてるとわかる。
何つーか業務レベルじゃないんだよな。
趣味レベルならあれでいいんじゃない??
0440nobodyさん
2009/11/20(金) 08:42:10ID:???0441nobodyさん
2009/11/20(金) 09:40:10ID:???http://addons.mozilla.org/ とか(Djangoに変わるらしいけど)
公式にいろいろ出てるよ
0442nobodyさん
2009/11/20(金) 12:57:12ID:2yh9qtSBhelperのafterRenderで変更するとコンテンツviewのみが変更されてしまいます。
今はレイアウトview内で変更していますがとても効率が悪いです。
ご教示お願いいたしますm(_ _)m
0444nobodyさん
2009/11/20(金) 13:33:42ID:???何だ、コレ?って内容の本しか今の自分は見た事がない
俺の行く本屋に売ってないだけかもしれないけれど
0445nobodyさん
2009/11/20(金) 13:45:18ID:???頭悪いから仕事変えろ
0446nobodyさん
2009/11/20(金) 13:58:18ID:???少しでも目を休めるとか、通勤途中で時間を潰すとか、リンクばっかで嫌になるとか
公式マニュアルはゴチャゴチャしていたり、わざわざそれを調べるために色々と手間がかかるし、順番どおりに学習できない場合があるから本に行く人もいるんだと思う
公式マニュアルをプリントアウトして学習できれば一番いいんだろうけれど、そういうわけにもいかないからね
0447nobodyさん
2009/11/20(金) 15:35:54ID:???ちゃんと飛んでくれないページが多いね。
英語ページだと問題ないのに・・・なんとかならないのかな?
0448nobodyさん
2009/11/20(金) 16:36:05ID:???0449nobodyさん
2009/11/20(金) 16:38:57ID:???0450nobodyさん
2009/11/20(金) 16:42:51ID:???0451nobodyさん
2009/11/20(金) 17:40:41ID:???そうか?いい参考書がメインだと思うけどな。
あと多少なれてきたらcakephpの辞書があれば余裕。
やっぱりいいよcakephp。
0452nobodyさん
2009/11/20(金) 17:46:32ID:???ただし、リファレンス本がないのがきつい
0453nobodyさん
2009/11/20(金) 22:23:46ID:iP3Jjemyfind('all')でアソシエーションされたモデルがjoinされて返ってくるのだけど、 $usesで宣言したモデルだとアソシエーションが無効になってる。
class UsersTagsController extends AppController{
function hoge(){
$this->set('uses_tags',$this->find('all')); // User,Tagが連結される
}}
class UnyosController extends AppController{
var $uses = array('UsersTag');
function hogehoge(){
$this->set('users_tags',$this->UsersTag->find('all')); // UsersTagのみが返される
}}
今のところ
$this->UsersTag->bind('User');
$this->UsersTag->bind('Tag');
とか、$useに入れないで $this->UsersTag = new UsersTag();
ではまともに連結されて返ってくるのだけど、これって仕様なの?
AppModelで actsAs に containable 入れてるんだけどこれが原因とか?
0454nobodyさん
2009/11/20(金) 23:56:39ID:???UsersTagsControllerの存在とかUsersTagモデルを読み込む意味とかが分からない
あえてそうする意味は何?
0455nobodyさん
2009/11/21(土) 00:49:42ID:hiPUggY3UserModelとかでパスワードの未入力チェックとかのバリデーションかけると、
Viewでパスワードハッシュが掛かった値が入ってきちゃうんだけどこれはなんですか?w
ハッシュかける前の状態保持して戻すのが普通だと思うんですが、これは仕様?それとも使い方間違ってる?
0456nobodyさん
2009/11/21(土) 00:52:23ID:???さんざん既出じゃぐぐれぼけ
0457nobodyさん
2009/11/21(土) 00:54:51ID:???Authを使った誰もが引っかかる道だなw
マニュアルにさらっと対処法が書いてあったはずと思うけど。まあググれば出てくる。
0458453
2009/11/21(土) 01:00:39ID:LeZPc13iCakeでここまでやるのは馬鹿馬鹿しいかも知らんが、多対多リレーションが増えると
連結テーブルのモデルから操作したほうが処理がすっきりすることがある。
特にユーザモデルの場合は、複雑な関係性を持ちやすい。
例としてUserとTagを出したが、実践的な例でいうと、ユーザがグルーピングされてる時、
// controller
$groups_users = $this->GroupsUser->find('all');
$this->set('groups_users',Set::combine($groups_users,'{n}.User.id','{n}.User.name','{n}.Group.name'));
// view
echo $form->input('Hoge.user_id',array('type' => 'select','multiple' =>true,'options' => $groups_users));
とするとすっきりと<select>で<optgroup>してくれる。
0459455
2009/11/21(土) 02:25:42ID:hiPUggY3あら。冷たいのね。。
>467
情報どうもー。まぁ、調べたあとのコメントだったんだけども。
まぁ、完璧に動作して欲しいっていうのが贅沢なのはわかってるけどね。
やっぱり自動的にハッシュ化する部分はそのあたりが(その部分だけなんだけど。惜しい。。)うまく動かないとちょっと使いづらいかな。
ハッシュ化のロジックだけありがたく使わせてもらうことにしたよ。
0460nobodyさん
2009/11/21(土) 02:37:51ID:???0461nobodyさん
2009/11/21(土) 12:11:49ID:???0462nobodyさん
2009/11/21(土) 19:33:18ID:???まったくわからないんだが、サルでもわかるサイトない?
0463nobodyさん
2009/11/21(土) 19:38:25ID:???hasMany=1対多
hasAndBelongsToMany=多対多
0464nobodyさん
2009/11/21(土) 19:58:10ID:???KENMEIテーブルから県名を引っ張ってくるのは
USER hasOne KENMEIだよね?
思いとおりにSQLが作れないの・・。
参照されるテーブルのカラム名を、参照するテーブルに作らないとダメなの?
0466nobodyさん
2009/11/22(日) 00:46:11ID:???マスタは逆方向にhasMany
KENMEI hasMany User
User belongsTo KENMEI
0467nobodyさん
2009/11/22(日) 00:47:08ID:???つまりユーザは一人ひとり必ず違う県名であって、47人以上のユーザが作れないことに
なってしまう。
ユーザ 多対1 県名
なのだから、
県名 hasMany ユーザ
ユーザ belongsTo 県名
である。
0468nobodyさん
2009/11/22(日) 00:59:33ID:???>>466
>>467
おお!ありがとうございますm(__)m
わかりやすいです。
今、苦戦中です。がんばります。
0469nobodyさん
2009/11/22(日) 01:01:09ID:3AvLDreVbakeは'ばけ'と発音する。
小麦粉などの材料を化けさせるとcakeになる(少しイミフメ)
0470nobodyさん
2009/11/22(日) 01:02:39ID:???0471nobodyさん
2009/11/22(日) 01:07:29ID:???ずーっとできず、疑心暗鬼でグチャグチャでしたが、
みなさんのアドバイスで確信になり、調べつくしました結果、
× var $belongTo =
◎ var $belongsTo =
が、原因でした。
ほんと、ありがとうございます。
0472sage
2009/11/22(日) 01:10:28ID:3AvLDreV0474nobodyさん
2009/11/22(日) 01:14:10ID:???0475nobodyさん
2009/11/22(日) 01:19:13ID:???まぁ、それでも直にSQLを書かないでDBMSの複数テーブルを操作できるわけですから、そこそこすごいことなのかも
0476nobodyさん
2009/11/22(日) 01:29:35ID:???なぜModelは単数形でtableとControllerは複数形かとか
それが分かればbelongToじゃなくてbelongsToなのもすっきりするよ
だから KENMEI とかつけないほうが良い(面倒でも英単語を調べる)
0477nobodyさん
2009/11/22(日) 01:45:41ID:???ちょっと巡回してみます
0478nobodyさん
2009/11/22(日) 02:06:39ID:???上の段落と下の段落に何のつながりがあるんだ?
「だから」でも何でもないだろ
別に好みの問題。おれは英単語で命名する。
でもネイティブが見たら「この単語はねーわww」っての選んでるんだろうけどな
0479nobodyさん
2009/11/22(日) 02:14:16ID:???言葉足らずだったが、英単語でつけることが肌で理解するということの一助になると思っている
ちなみにおれも ネイティブ「ちょwww」 な単語つけてる
0480nobodyさん
2009/11/22(日) 02:28:25ID:???PrefectureNameとかだと、長すぎぽいしねw
0482nobodyさん
2009/11/22(日) 02:42:36ID:???どうせnameフィールド作るんだし、Prefecture.nameで値にアクセスできるのが一番自然。
0483nobodyさん
2009/11/22(日) 03:44:35ID:???0484nobodyさん
2009/11/22(日) 04:10:38ID:???なんで、modelで複数形を使わないのか、教えてくれませんか?
英和で見るとmodelsの用例は結構あるんだけど・・・
ttp://eow.alc.co.jp/models/UTF-8/
0485nobodyさん
2009/11/22(日) 04:18:41ID:???0487nobodyさん
2009/11/22(日) 12:30:13ID:???0488474
2009/11/22(日) 15:35:18ID:???感動します\(^o^)/
0489nobodyさん
2009/11/22(日) 15:35:51ID:???>>487
それなら了解です
> 命名規則は英語圏の人間になったつもりで肌で理解していくと良い
英語圏の人間になったつもりになったらmodelが単数形ってのが理解できる
というのがわからなかったのです。
個人的には、モデルはレコードと対応し、その集合がテーブル、
だからmodelは単数形と理解していたので、
ネイティブと関係ないやん?と思った。
おれの理解がテキトウってのはおいといてw
最近、なごみ杉
0490nobodyさん
2009/11/23(月) 23:55:07ID:???たとえば、2chとか「PC等」→「プログラム」→「【PHP】CakePHP」→「レス」って構成ですよね。
これってどういうDB設計になってるんですか?
実務経験がないのでわかりません。
「PC等(カテゴリID)」→「プログラム(カテゴリID+サブカテゴリID)」→「【PHP】CakePHP(サブカテゴリID+スレID)」→「レス(スレID+レスID)」
→「デスクトップ(カテゴリID+サブカテゴリID)」→「cpuをとっかえたい(サブカテゴリID+スレID)」→「レス(スレID+レスID)」
って感じですかね?
0491nobodyさん
2009/11/23(月) 23:58:00ID:???「テーブルをたくさん作るのかな?」とか考えたんですけど、違いますよね?
0492nobodyさん
2009/11/24(火) 00:03:05ID:???あるのか知らんけど、データベース設計スレっぽいもの探して聞いてきなさい
普通はカテゴリTBL、板TBL、スレTBL、レスTBLがあると思うよ
0493nobodyさん
2009/11/24(火) 00:27:26ID:???0494nobodyさん
2009/11/24(火) 00:29:12ID:???なんでこのスレ、DB初心者質問みたいのが定期的にでるんすかね
0495nobodyさん
2009/11/24(火) 00:32:34ID:???0496nobodyさん
2009/11/24(火) 01:50:47ID:???どうなるんだ
俺はDonateしたけど。
0497nobodyさん
2009/11/24(火) 23:14:47ID:???DB設計などの地味?な分野はサッパリわからん!
という人の比率が高いんじゃね、Web屋には。
0498nobodyさん
2009/11/25(水) 02:33:33ID:???なんか解決法あるんでしょうか?
0499498
2009/11/25(水) 02:41:14ID:???>Currently, callbacks in behaviors are not triggered on recursive finds.
>This is done by design, but changing it is something to consider in the future.
だそうで・・・なんでじゃー
0500nobodyさん
2009/11/25(水) 02:51:15ID:???0501498
2009/11/25(水) 02:59:58ID:???そうみたいですね。すいません。
とりあえずモデルに書いてやり過ごします。
0502nobodyさん
2009/11/25(水) 23:32:21ID:???目次は「http://domain.com/tables/index/1」のようなURLで、
「動物」「植物」などのジャンル別に同じようなリンク群を用意します。
各リンク群の差異は、テーブル名だけになります。
んで抽象的な質問なんですが
ポリシー?として、このリンク群にも毎回Htmlヘルパーのリンク出力メソッドを使うべきでしょうか?
リンク群をベタで一つだけ書いて、str_replaceでテーブル名をジャンルごとに置換出力するほうが
ソース的にすっきりするので、そうしようとしているんですが…
フレームワークのお作法と言うか、ある関数は使うべきと言うか、
そう言う点で多少無理があってもヘルパー使うべきですか?
変な質問でスミマセン
0503nobodyさん
2009/11/25(水) 23:45:15ID:???気になるならヘルパー作ればいいし
elementを利用するもよし
0505nobodyさん
2009/11/27(金) 08:36:18ID:???って出てるんですが、Testsってコントローラーは作ってもTestというモデルは作ってません。
なんでこういうエラーがでるんでしょうか?
0507nobodyさん
2009/11/27(金) 13:24:00ID:???どういうことですか?
0508nobodyさん
2009/11/27(金) 13:53:50ID:???0509nobodyさん
2009/11/27(金) 21:18:25ID:???authComponentを使っているのですが
firefoxやgoogle chromeだとうまいことログインできるのですが
IE6だとログイン→リダイレクト先のログインチェックではじかれる→ログインということで
ログイン画面がループしますが、原因が不明です。
ご教授お願い致します。
0511nobodyさん
2009/11/29(日) 00:08:36ID:???第6回(http://gihyo.jp/dev/serial/01/cakephp/0006)をやってみたところ
タスクの追加は正常に行えるのですが、タスクの内容が表示されません。
というか入力フォームに入力した内容がデータベースのcontentに格納されていないようで
contentのtextが空になっています。
何か原因が思い当たるケースはありますでしょうか
0512nobodyさん
2009/11/29(日) 07:36:33ID:???DBの文字コードをチェックし
app/config/database.php の encoding を指定する utf8 とか
でどう?
0513nobodyさん
2009/11/29(日) 11:49:13ID:???レスありがとうございます。
照合順序もutf8ですし、encodingもutf8に指定してあります。
良くないんですけど解決しないまま
第7回(http://gihyo.jp/dev/serial/01/cakephp/0007)をやってみたところ
editで内容を編集した場合にはcontentに正常に格納されています。
0514nobodyさん
2009/11/29(日) 16:26:57ID:???いちいちダウンロードして見るもの面倒だし。
良い方法ないかな。
0515nobodyさん
2009/11/29(日) 16:50:36ID:???管理画面からそのページ開いてる
開発権限でログインしたときのみ見れる。
うちはShellからの軌道をよく使うからこういうのないときつい
0516nobodyさん
2009/11/29(日) 20:41:32ID:???echo $form->create("Task",array("url"=>array('action' => 'add')));
echo $form->inputs(array("content"));
echo $form->end("add");
ver.1.2以上だったら$form使ったほうがいい。
0517nobodyさん
2009/11/29(日) 23:02:58ID:???解決しました。
ありがとうございます。
formには書き換えてたんですがinputの箇所が正しく書けていなかったようです
0518nobodyさん
2009/11/30(月) 11:50:29ID:???どのようにすべきでしょうか?良いライブラリなどありましたらお教えください。
0520nobodyさん
2009/11/30(月) 16:10:47ID:???これって変更できないんでしょうか?
idをauto incrementで付与せず手動で付与するテーブルの管理にscaffoldが使いたいのです。
0523nobodyさん
2009/11/30(月) 20:13:43ID:VRbng4qphttp://exmaple.com/test
にアクセスすると、app/views/layouts/test.ctpがちゃんとヘッダ、フッタが反映され
思い通りに表示されます。
一方、http://example.com/にアクセスされて表示させるには
どこのどのファイルをいじればいいのでしょうか?
つまり、HTTPのルート直下のページを作りたいのです。
これはアクションなしと言うことなのでしょうか?
0524nobodyさん
2009/11/30(月) 20:25:10ID:???一回部ログチュートリアルとかこなしてから来てね
ばいばい
0525nobodyさん
2009/11/30(月) 20:46:11ID:???0526523
2009/11/30(月) 22:01:31ID:???0528nobodyさん
2009/12/01(火) 05:46:31ID:iKHu3fPbapp_controller に Cookie コンポーネントを使っています
hoges コントローラーの beforeFilter メソッドで app_controller の beforeFilter メソッドを呼んでいて
beforeFilter(app) のメソッド内で Cookie->write でクッキーに保存した値を
hoges コントローラーの index アクション内で Cookie->read をして先ほどのクッキーを読み出すことは可能なんですが
beforeFilter(app) のメソッド内で Cookie->name のクッキー名を変更するとなぜか読み出せないんですよね
でもブラウザに保存されてるクッキーを確認すると、変更後のクッキー名でクッキーが保存されてるんで読み出せるはずなんですがロード出来ません
荒技で cookie コンポーネントのPHPファイルの var $name を 最初から 'CakeCookie' から任意の名前に変更してみてもロード出来なくて絶望しました
$_COOKIE 使って実装するのは暗号化も行ってるし何よりフレームワーク使ってる観点から保守性が低いのでそれ以外で誰かお願いします
0529nobodyさん
2009/12/01(火) 09:41:32ID:???http://api.cakephp.org/view_source/cookie-component/#line-236
Optional [Name.], reguired key
$this->Cookie->read(Name.key);
0530nobodyさん
2009/12/01(火) 17:52:30ID:???read 出来るときと出来ない時のコードの変更が beforeFilter(app) のメソッド内で Cookie->name のメソッドの追加の有無だけなんで
引数が間違ってるっていうのは無いです
一応自己解決(完結?)したので…
質問してから CookieComponent 調べていくと write 後、$_COOKIE で書き込んだ値を取得してみるとなぜか取得出来なくて
でもブラウザにはクッキーが保存されてるので 2回目以降のアクセスだとクッキーが読み込まれるんですよね
それで Cookie->name でクッキー名を変更しなければ、write してから read すると読み込まれているからどうやってクッキーを取得してるのかと思って調べてみると
write すると CookieComponent のメンバ変数の $__values に値を保存して read 時はその変数から取得していて
結局 CookieComponent のメンバ変数にクッキーを保存して取得してた流れみたいでした…
で、Cookie->name でクッキー名を変更を行わないと上のような処理になって、write 後 read しても読み取れるんですが
変更しちゃうと hoges_controller の beforeFilter が終わると $__values に変更後のクッキー名のクッキーを読み込んで write した値が消える事が原因だったみたいです
write しているタイミングが app_controller の beforeFilter メソッド内でやっているので Cookie->name を追加すると必ず $__values の値はリセットされるので
hoges_controller のアクションメソッドで read しないで、beforeFilter 内で read してapp_controller のメンバ変数に入れた後で
hoges_controller のアクションメソッドで変数を参照するということで完結しました…
CookieComponent って万能じゃ無いんだね…
なんで write 後、$_COOKIE で取得出来ないのかわけ判らんのですが長文でごめんなさい
0532nobodyさん
2009/12/01(火) 20:27:49ID:???ksg
0533nobodyさん
2009/12/01(火) 20:29:33ID:???くそが?
0534nobodyさん
2009/12/01(火) 21:09:47ID:???0535nobodyさん
2009/12/01(火) 22:56:59ID:???0536nobodyさん
2009/12/02(水) 00:42:54ID:???0537nobodyさん
2009/12/02(水) 01:02:04ID:???0539nobodyさん
2009/12/02(水) 13:04:05ID:???高速型
0541nobodyさん
2009/12/02(水) 19:45:19ID:???ソース読めばいいんじゃね?
いやダジャレじゃなくてまじで
まあその前にmdbファイルとやらの仕様調べてこいって話だが
0542nobodyさん
2009/12/03(木) 20:35:05ID:???0543nobodyさん
2009/12/04(金) 00:15:22ID:???http://localhost/hello/bye/
ってアドレスがあったら、まず
DefaultControllerのhello actionを探して、有ったら、
それを実行。
なかったらHelloControllerのbye actionを探して実行
ってなカスタマイズしたいのですけど、よくかわりません
だれかおしえてぽ
というかそのようなことが可能かどうか
というかオープンソースだから不可能はないだろうけど・・・
とはいっても、cakeのcoreに本格的にメスを入れるほど技量はないかも。
0544nobodyさん
2009/12/04(金) 07:38:54ID:???Routingでは対応できないから一旦振り分け用のaction呼んでそこからrequestActionすればできるけど
でもそもそもそんなことするシーンが分からん
具体的な例をおくれ
0545nobodyさん
2009/12/04(金) 09:52:00ID:???routingで出来ないとわかっただけでも有り難いわ。でないと、その辺の資料あさり続けていたし。でもそれをやってしまうとケーキの良いところがそげてしまうねえ。そうするしかないか
カテゴリーに分別して表示する情報サイトみたいなの作ろうとしてて、そのカテゴリー自体はウェブ上で可変なんだけど、URLはカテゴリーを全面に使いやすくしたいので、いきなり、
http://localhost/category1/category2/
ってアクセスで、category1に属するcategory2に属する情報を表示させたいの。でも、登録画面は、
http://localhost/regist/
だったり管理者画面が
http://localhost/admin/hogehoge/
とかっていうのもあるので、
http://localhost/category1/category2/
があったら、まず、
class Category1のCategory2アクションを探して、
なかったら、
class DefaultController extends AppController {
function showCategory() {
$mainCate = $this->param['pass'][0]
$subCate = $this->param['pass'][1]
echo "あんたは、$mainCateの$subCateにいるぜ!";
}
}
って感じのデフォルトコントローラに制御を移行してページを表示。
http://localhost/regist/
みたいのでアクセスしたら、同じようにclass Registのindexアクションを探して、実行。って感じ。
なんか、実際整理して書いてみたら、昨日書いたのと話が変わってしまったwwほんとはやりたいのはこれ。
0547nobodyさん
2009/12/05(土) 02:07:06ID:???でも俺も546に同じ
0548545
2009/12/05(土) 15:35:56ID:???でもapacheでどう書き換えるのかイメージが沸かない
ああぁ
0549nobodyさん
2009/12/05(土) 16:23:04ID:???「外部からのアクセス禁止でcronからのみ叩けるアクション」
を作るにはどうしたらいいですかね。
0550nobodyさん
2009/12/05(土) 16:38:05ID:???0551nobodyさん
2009/12/05(土) 17:01:27ID:???ありがとう。
function _test(){
}
だとだめだった。
レンタルサーバーだからローカルからってのもよくわからなくて。
0552nobodyさん
2009/12/05(土) 17:02:56ID:???0553nobodyさん
2009/12/05(土) 17:16:25ID:???0556nobodyさん
2009/12/05(土) 18:31:24ID:???0557nobodyさん
2009/12/05(土) 18:32:47ID:???ごめん。よく読み直した。
正攻法は、既定のControllerを列挙してRoutingで、それぞれのControllerに飛ばし、マッチしなかったらCategoriesControllerに飛ばす
(ちなみにResistControllerではなく、UsersControllerのregist アクションかな)
ただ、それだと、category登録時にURLとかぶってないかチェックする必要があると思うので、/a/regist のように固定のサブディレクトリを用意しておいたほうが良いかも
0559nobodyさん
2009/12/05(土) 18:56:21ID:???ありがとう。でも、rhacoがいいの。conveyor使ってみたくて。
http://conveyor.rhaco-users.jp/
0560nobodyさん
2009/12/05(土) 23:11:46ID:???0561nobodyさん
2009/12/06(日) 00:01:20ID:???0562nobodyさん
2009/12/06(日) 00:25:38ID:???0563nobodyさん
2009/12/06(日) 01:13:24ID:???0565nobodyさん
2009/12/06(日) 17:58:06ID:???adminで作ったら
admin用フィルター
admin_beforeFilter
普通用フィルター
beforeFilter
みたいに実行してくれないのですか?
自分で呼ばれたurlを解析して
beforeFilterの中で分岐させないと無理?
0566nobodyさん
2009/12/06(日) 18:15:52ID:???admin_beforeFilter の発想は無かったわ
でもurlを解析する必要はない
debug( $this->params ) せよ
0567nobodyさん
2009/12/06(日) 19:20:01ID:???なるほどっっっ!
$this->params['prefix']
で、取れるのねっ!!
でも、appをできるだけシンプルにしたいから、
cakeのdispatcherに
$controller->beforeFilter();
↓
$prefix = isset($controller->params['prefix']) ? $controller->params['prefix'] . '_' : '';
$controller->dispatchMethod($prefix . 'beforeFilter', null);
ってしてみちゃった!
どうなんだろうなぁ。
cakeに手を加えるのは・・・
自分の使いやすいようにcakeが進化していくのはいいけど、
cakeが新しくなったときに、大変だよなぁ。。。
0568nobodyさん
2009/12/06(日) 19:47:35ID:???[Message] => Array
(
[auth] => Array
(
[message] => ログインできません
[layout] => default
[params] => Array
(
)
)
)
が入るんですけど携帯用URLでログインNGの時は上記メッセージが入りません。
どうすればよいでしょうか。
0570ホクホクバカ ◆YMCgTirJag
2009/12/07(月) 01:15:39ID:???おれはmixi踏襲版
0572nobodyさん
2009/12/07(月) 12:42:06ID:???0573nobodyさん
2009/12/07(月) 13:35:03ID:???姉歯みたいにならないようにきっちり作り込んでおけばあとはそれをコピペで
サイト大量に作れて便利。
0574ホクホクバカ ◆YMCgTirJag
2009/12/07(月) 21:00:08ID:???これ作って意味があるのだろうか・・って
0575nobodyさん
2009/12/07(月) 21:19:56ID:???0576nobodyさん
2009/12/08(火) 00:35:07ID:???勉強になるよ。
完全オリジナルで作りたいのは技術者として当然だけど、
人のものをまねることにより、学ぶものが大きい。
0577nobodyさん
2009/12/08(火) 00:37:50ID:???業務でもそこそこ使われてるから、いいんじゃね
0578nobodyさん
2009/12/08(火) 00:38:19ID:???まぁ、フレームを踏襲しても中身がオリジナルだったらいいんじゃないか
0579nobodyさん
2009/12/08(火) 01:12:56ID:???irc#cakephp(注:英語)でどんなにコアな質問してみても答えが大抵1分以内に返ってくる。
あそこはヤバい
0580nobodyさん
2009/12/08(火) 01:22:23ID:???0581nobodyさん
2009/12/08(火) 01:34:37ID:???viewのエレメントからrequestActionするのが考え方としては一番スッキリするんだけど、
重くなっちゃいますかね?
0582579
2009/12/08(火) 01:35:24ID:???そんなの書けるわけねーだろ!英語だぜ、英語!
中一の英語を読むことすらできねーのによ!!
ニューホライズンは一冊目で挫折したよ!!
ちょっと格好つけたかっただけだよ!空気嫁!!ったくよ!!
0585nobodyさん
2009/12/08(火) 02:02:11ID:???なんでjoinモデルはAppModelのインスタンスで生成されるん?とか
とりあえずコアライブラリに突っ込んだ内容でも余裕。
0587nobodyさん
2009/12/08(火) 02:06:12ID:???http://www.google.co.jp/search?q=YMCgTirJag&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
だれ?
0588nobodyさん
2009/12/08(火) 02:10:21ID:???tyuushakusかな。
0589nobodyさん
2009/12/08(火) 03:27:02ID:???俺はrequestaction。ちょうど今、ブログ作ってます。
にしてもカレンダーがネックだね。
ライブラリがいいのがない。
0590nobodyさん
2009/12/08(火) 21:19:18ID:???アップロードするディレクトリをドキュメントルート外にしたりできるのかな?
0591nobodyさん
2009/12/09(水) 04:13:39ID:???0592nobodyさん
2009/12/09(水) 11:53:52ID:???プログラムを通すのかな?
画像を大量に表示するときなんか、
すごい負荷かかりそうだけど・・・
0593nobodyさん
2009/12/09(水) 12:15:39ID:???馬鹿か?
死ぬか?
0594nobodyさん
2009/12/09(水) 12:21:34ID:???> 画像を大量に表示するときなんか、
> すごい負荷かかりそうだけど・・・
大量って、どのくらいの数を言っているのか?
0595nobodyさん
2009/12/09(水) 12:27:26ID:???何をそんなに怒ってるのかわからないけど・・・
初回はプログラム通して、画像表示+キャッシュ生成
二回目からは直接表示、とか
mod_rewrite使えばできるでしょ。
>>594
アマゾンとかの検索結果くらい?
0596nobodyさん
2009/12/09(水) 12:36:16ID:???大量の画像表示といっても、人気無いサイトなら負荷も一過的であまり問題にならないのでは。
それより、大量画像表示で気をつけないといけないのは、回線に負荷をかけるという事だよな
0597nobodyさん
2009/12/09(水) 14:09:58ID:???回線負荷という意味では、etagとかHTTP304ステータスコード(Not Modified)とかを自前実装する必要があるよね
media pluginは使ったこと無いからどうなってるか知らんが
0598nobodyさん
2009/12/09(水) 15:07:13ID:???モデル名はcategory、プロパティでcategoriesテーブルを指定しないと駄目なんだよね。
0599nobodyさん
2009/12/09(水) 15:18:03ID:???0601nobodyさん
2009/12/09(水) 16:32:48ID:5lohRgzm0602nobodyさん
2009/12/09(水) 17:09:58ID:/sBQ8GaXError: Database table boards for model Board was not found.
と、boardの複数形boardsテーブルを探しに行ってしまうようです。
複数形じゃなくてboardを見に行かせるにはどうすればいいのでしょうか?
0603nobodyさん
2009/12/09(水) 17:13:16ID:???0604nobodyさん
2009/12/09(水) 17:13:56ID:???テーブル名をboardsにすべきじゃないかなぁ
0605nobodyさん
2009/12/09(水) 17:19:38ID:???糞な掲示板なんか作る前にマニュアル読むかシネ
0606602
2009/12/09(水) 20:35:39ID:???できました。ありがとうございます。
CakePHPってMS SQL Serverとあんまり愛称よくないですね・・・
改善してほしいな
0607nobodyさん
2009/12/09(水) 20:43:40ID:???0608602
2009/12/09(水) 20:51:30ID:???とか出たり。
lastError()のmssql_get_last_message()のとこコメントアウトしてreturn;しちゃいましたけど・・・
0609nobodyさん
2009/12/09(水) 20:57:19ID:???0610nobodyさん
2009/12/09(水) 21:09:35ID:???メディアをドキュメントルートから外すのは普通にやると思うよ。
そのため(ってわけでもないけど)にcakephpにメディアビューも内蔵されてるんだし。
0611nobodyさん
2009/12/10(木) 00:07:13ID:???メディアビューで、サムネイル画像50枚くらい一度に表示したら、
ちょっともっさりしてたよ。
やっぱキャッシュは必須かも。
0612nobodyさん
2009/12/10(木) 00:19:57ID:???サイトのポリシーにもよるだろうけど、
普通に画像を置くより明らかに重くなるのは目に見えてるしね。
俺はダウンロードのカウントが必要だったり、
ACLでアクセス制限したかったりそういう部分ぐらいしか使わないけど。
0613nobodyさん
2009/12/11(金) 11:26:59ID:???どこにまとめてますか?
シェルからコンポーネント使うのもバッドノウハウっぽいですし・・・
0614nobodyさん
2009/12/11(金) 12:57:55ID:???0615nobodyさん
2009/12/11(金) 13:15:32ID:???現在はその方法にしてます。
でもモデルに関係しない処理もあるので・・・
あと、コントローラからシェルを呼んだりすることもできるんでしょうかね?
何かの登録処理後、さっそく一回目のCRONを実行する、
みたいな処理を想定しているのですが・・・・
0616nobodyさん
2009/12/11(金) 13:27:46ID:???いや俺cakeのシェル使った事ないから専用の呼び方があるのかどうかは知らないけど。
0617nobodyさん
2009/12/11(金) 14:57:03ID:???って感じかねー普通に。
0618nobodyさん
2009/12/11(金) 17:51:36ID:???Cool!なやり方はありますでしょうか?
0619nobodyさん
2009/12/11(金) 18:14:38ID:???shellから使うときもあるかも。な処理はコンポーネント化しないようにしてる。
shell起動は、上にも書いてある用に``とかexec系だけど、
バックグラウンドで処理して欲しいと気が多いから(つまりshellの返答を待って欲しくない)
その時は/dev/nullと&使って呼び出してる
0620nobodyさん
2009/12/12(土) 04:39:04ID:???http://localhost/admin/host/modify/[ID名]
として、その中でformを
<?php echo $form->create('', array('method' => 'post', 'action' => 'regist', 'enctype' => 'multipart/form-data', 'url' => array('admin' => true))); ?>
こんな感じで指定すると、なぜか
actionが
/host/regist/admin:1
となってしまいます。
なぜか、$formの中の$option['action']['id']に、'admin' => trueが1として入ってしまい、
adminがprefix扱いでなくなってる。。。
[ID名]を入れなければ正常なんですが・・・
散々迷走して、
'url' => array('id' => '', 'admin' => true)
と追加すれば、
正常に動作することがやっとわかったんですが、
これは一体なぜ???
不可解です。。。
0621nobodyさん
2009/12/12(土) 12:42:02ID:???順調に開発が進んでいると思いきや、
ちょっと複雑なフォームになると、もうにっちもさっきもいかなくなる。。。
でも、バリデーションというめんどくさいフォローを考えると
それでも、ヘルパーを使い続けてしまう・・・
リスト形式のページで、チェックしたレコードだけ、処理をしたい。
とか書こうとしているのにうまくいかん(+_+くそーー
チェックボックスだけで3時間はつぶしているぞー
0622nobodyさん
2009/12/12(土) 13:55:41ID:???複雑なフォーム というのはユーザビリティも悪くなるので
フォームヘルパーで対応できるようなフォームを作るといいと思うんだけど。
どうかな。
0623nobodyさん
2009/12/12(土) 14:23:04ID:???へえ、それで解決するんだ。
以前さんざんはまって、結局$paramsのURLをそのまま書き出したよ。
formヘルパーの逆URLルーティングはID絡むからか通常の$html->url()とは挙動が違うんだよね。
0624nobodyさん
2009/12/12(土) 18:06:21ID:???Cakeめんどくせえなあ
っておもう
0625nobodyさん
2009/12/12(土) 22:10:57ID:d/+O720A0626nobodyさん
2009/12/13(日) 22:39:17ID:???0627620
2009/12/16(水) 00:15:50ID:???きっとできるはずだ!と信じたけど、できなくて、、
でも、やっぱオープンソースの強みだね。
いざとなったらソースを見て回避方法を探せる。
同じidだけど、urlのidとactionのidがcakeの中で混同しているっぽいのよね。
idを消すと動くから。
だから、urlから必要のないidを消したら使えるんじゃないかしら。
と思って消す方法を探してみた。
けど、やっぱ階層がもういっこ深くなるとだめそうやね・。・・
0628nobodyさん
2009/12/17(木) 21:07:57ID:???cakePHPってどう?いい感じ?
0630nobodyさん
2009/12/18(金) 12:14:10ID:???newするときなんですけど、クラス指定でなく、クラス名指定でできないものですか?
たとえば「Test」modelをnewするときは普通は
$model = new Test();
としますが、これを
$model = new Model('Test'):
みたいな感じで、クラス名の文字列を指定すると、そのクラスのインスタンスが生成されるようにしたいのです。
カスなのでググってもわかりませんでした。このカスにどなたか教えてくださいませ。
0633nobodyさん
2009/12/22(火) 02:18:31ID:???0634nobodyさん
2009/12/22(火) 03:08:50ID:???0637nobodyさん
2009/12/29(火) 09:52:46ID:???0638nobodyさん
2009/12/29(火) 14:36:18ID:???0639nobodyさん
2009/12/29(火) 22:40:01ID:???http://cakephp.org/
PHP framework
---
って文章をautoLinkUrlsさせると、PHPまでリンクになっちゃうんだけど、
改行コードもリンクされるのは仕様?
コアのコード読んでみたんだけど、preg_replace_callbackがイマイチ理解できなくて
どの辺を修正するべきかよくわからん。
0640nobodyさん
2009/12/31(木) 13:12:15ID:???元の画面に戻ってくるのですが、
fileコンポネントはデータがクリアされてしまいます。
セキュリティの関係でたぶん引きづくのは無理かなーとかんぐって、
今はsessionで保存しておいてvalidationで差し戻しされたときはそこから呼び出すことに
しようかなぁ。と思っているんでけど、fileが空欄の表記になってしまうのが難点・・・
なんかもっと画期的な、とか、定石な手段をご存知だったら教えてくださいー。
みんなはどうしてるんだろう。
0641nobodyさん
2009/12/31(木) 15:59:32ID:???fileはvalueを指定できないからね。ページ遷移してる限りfileを入れた状態で
表示するのは難しいのではないでしょうか。
できるかわからんが、アップロードだけは完了させてしまいfileは表示しないとか?
0642nobodyさん
2009/12/31(木) 16:39:52ID:???http://cakeforge.org/frs/?group_id=23&release_id=449
をダウンロードし設置したら、バージョン表示が「1.2.4.8284」でした。
これで正しいのでしょうか?
また、1.2.5があるのなら、どこからダウンロードすれば良いのでしょうか?
0643nobodyさん
2009/12/31(木) 18:05:08ID:???validationエラー時にアップロード済の場合、
ファイル名とかサムネイル + 削除リンク表示。
削除リンクをクリックするとfileが表示されるとか。
fileのvalueを指定はセキュリティ的に無理。
cake関係ないけど。
0644nobodyさん
2009/12/31(木) 18:16:55ID:???http://github.com/cakephp/cakephp1x/blob/master/cake/config/config.php
たしかにそうみたいだね。
cake/VERSION.txt には 1.2.5って書いてあるから、それで確認すればOK
0645nobodyさん
2009/12/31(木) 19:31:56ID:???ありがとうございます。1.2.5で間違いないようですね。安心しました。
09/9/8に1.2.5がリリースされているのですね。
http://bakery.cakephp.org/categories/view/1
/cake/config/config.phpを自分で1.2.4.8284→1.2.5に変更しておきました。
1.2.5.と表示される様になりました。
0646640
2010/01/04(月) 00:11:40ID:???>>641
ありがとん。
アップロードは必須項目なので、
結局、ファイルを指定して、サブミットしたら、
バリデーションで差し戻し食らっても、画像だけは、
プレビュー画面を表示して、アップロード済みにすることにしました。
変更したければ、もう一度ファイルを指定して、アップロードしなおす
という感じで。。。
なんとか様になりました。ありがとー
実装直後、
アップロード→セッションに保存
した直後
セッションから呼び出し→画面表示(別URL)
という処理を作ったら、書き込んだ直後のセッション情報が
別のアクションから呼び出せない。
という現象が発生していて、1/4日ふっとばしたんだけど、
一回休憩して、気合を入れて原因を解明するぞー
と意気込んだら、、、
バグが消えて、正常に表示されるようになってました。。
不思議すぎます・・・
0647nobodyさん
2010/01/04(月) 16:34:28ID:uJF3g7Nl<?=$result ?>だと表示されないんだけど、なんでかな?
この部分を<?php echo $result ?>に変えてみると値が描画されるからresultに値は入っているみたい。
0648nobodyさん
2010/01/04(月) 17:25:49ID:???php.ini short_open_tag = On
http://shoyu-ramen23.jugem.jp/?eid=125
0649nobodyさん
2010/01/04(月) 18:11:00ID:uJF3g7Nlズバリです。
本当に助かりました。ありがとうございます♪
0650nobodyさん
2010/01/04(月) 18:23:26ID:???オレもViewは<?php echoの略記を使って書くの好きだなあ。
<?= $form->create('Post', array('action' => 'add', 'type' => 'post')); ?>
タイトル:<?= h($form->value('Post.title')); ?><br>
<?= $form->hidden('Post.title'); ?>
本文:<?= h($form->value('Post.body')); ?><br>
<?= $form->hidden('Post.body'); ?>
<?= $form->submit('戻る', array('name' => 'data[Post][mode]')); ?>
<?= $form->submit('Save Post', array('name' => 'data[Post][mode]')); ?>
<?= $form->end(); ?>
0651nobodyさん
2010/01/04(月) 18:33:54ID:???0652nobodyさん
2010/01/04(月) 19:11:28ID:???どんな悪いところがあるの?
0653nobodyさん
2010/01/04(月) 19:34:32ID:???俺も好き。あんまり推奨じゃないみたいだけど、
まぁ何かあったら <?= を <?php echo に置換すりゃいいだけだし。
>>652
推奨しませんよ ってことぐらい。
0655nobodyさん
2010/01/04(月) 21:18:57ID:???http://book.cakephp.org/ja/complete/219/Blog
view($id = null)の$id = nullってどういう動作を書いてるんですか?
view()呼び出し時に$idを初期化(null)すると考えたのですが、せっかく読込んだ引数を
初期化するのもおかしいし、delete($id)は$id = nullになっていない事も説明つきません。
よくわかりません。だれか教えてください。
function view($id = null) {
function edit($id = null) {
function delete($id) {
function view($id = null) {
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
0656nobodyさん
2010/01/04(月) 21:39:41ID:???read()メソッドの中にこんな記述がある。
ttp://api.cakephp.org/view_source/model/#line-1028
if ($id !== null && $id !== false) {
$this->data = $this->find('first', array(
'conditions' => array($this->alias . '.' . $this->primaryKey => $id),
'fields' => $fields
));
return $this->data;
} else {
return false;
}
editメソッドに$idが指定されてなかった場合、read()メソッドが返す値をfalseにしたいから、
仮引数が与えられてなかった場合にnullを代入するようにしているんだと思う。
0657nobodyさん
2010/01/04(月) 22:18:18ID:???やはりfunction edit($id = null) { はeditメソッドが呼び出されたら$id = nullで初期化し
それから、あれば引数の値を取り込むんだね。納得しました。
また、Bakeが自動生成したソースを見てみたらfunction delete($id = null) { になってた。
http://book.cakephp.org/ja/complete/219/Blog
ブログチュートリアルのdelete($id)が間違いぽいね。
0658nobodyさん
2010/01/05(火) 22:35:00ID:GyjRQCtPやばいね!cake!
こんなフレームワークならZ・E・N・D使うわwwwwwwwwwwwwwwwwwwwwww
0660nobodyさん
2010/01/06(水) 01:00:19ID:???0661nobodyさん
2010/01/06(水) 12:21:08ID:???プラグイン入れないと殆ど使えない
ってか、PHPが生すぎる
0662nobodyさん
2010/01/06(水) 13:10:36ID:5N2miMbo最近、他のフレームワークが気になって試しにcakephp(笑)インストールしたんです。
なんだろ、cakephpって浅いんです(笑)
function とか varとか・・・
なんでもarray(
PHP4が使う糞フレームワーク
>>661
プラグイン入れないと使えない?
てめぇのケツにプラグインさしとけwwwwwww
PHPが生すぎるってPHPで作られたフレームワークに向かって生wwww
0663nobodyさん
2010/01/06(水) 13:23:55ID:???0664nobodyさん
2010/01/06(水) 13:27:58ID:???0665nobodyさん
2010/01/06(水) 13:37:24ID:5N2miMboおまえ悪口言われているよ><
俺がcakephpをPHP5で作るならZendFramework使うわwwwwwwww
0666nobodyさん
2010/01/06(水) 13:39:26ID:???0667nobodyさん
2010/01/06(水) 13:49:23ID:???0668nobodyさん
2010/01/06(水) 15:49:06ID:???ZendもCakeも難しいです〜><
0669nobodyさん
2010/01/06(水) 16:00:01ID:???0670nobodyさん
2010/01/06(水) 17:54:41ID:???0671nobodyさん
2010/01/06(水) 22:48:01ID:???cakephpのmodel::find()メソッドはよくできてると思うんだ。
zendのモデルにselect系の問い合わせメソッドを実装するときも、
cakephpのfind()の引数書式っぽく使えるように書いちゃう。
/**
* @param string mode
* @param array option
*/
public function getHogeList($mode,$option)
{
〜〜
}
そういえばフレームワークを触りだしてからsql書かなくなったなあ。
いい傾向なのか悪い傾向なのか。。。
0672nobodyさん
2010/01/07(木) 00:33:07ID:hFey0NAx0673nobodyさん
2010/01/07(木) 04:44:13ID:???A.b_id, B.c_id というリレーショナルを行っています (二つとも belongsTo)
A を扱うモデルの find で recursive=2 の設定で C テーブルのカラムまで取得出来るのですが
conditions の検索条件で 'C.hoge' => '123' のような事は出来ないのでしょうか?
B までのカラムなら検索条件に含める事は出来るのですが リレーションのリレーション以上のテーブルの検索条件が行えなくて困ってます
0674nobodyさん
2010/01/07(木) 07:38:43ID:???生PHPは徒歩、cakeは車。
目的地まで行くのはめちゃはええけど、
渋滞にはまるとまったく進まないし、
目的地についても、車止めるところを求めてさ迷う
0675nobodyさん
2010/01/07(木) 21:28:05ID:???0676nobodyさん
2010/01/08(金) 03:52:34ID:???設定をあれこれ変えても、どうにもCSSなどの設定が合わないよ。使えた人、いる?
0678nobodyさん
2010/01/09(土) 11:01:06ID:???オレは、車の長所短所、危険性を良く理解し
交通事故を起こさない様に常に注意し、便利な「車」を最大限に活用してるなあ。
やっぱ「車」のない生活は考えられない今日この頃です。
0679nobodyさん
2010/01/10(日) 11:35:01ID:???SSLって導入するにも手間で面倒だし、
一般ユーザーはSSLのこと気にすら止めてない。
しかも情報が流出するのはSSL関係なしで流出するから必要ないような気もするけど
どうなんだろ。
0680nobodyさん
2010/01/10(日) 11:44:37ID:???と必ず突っ込まれるので、とりあえず設定するという感じだよね
0681nobodyさん
2010/01/10(日) 18:17:38ID:???あまり知られてないんだがな豆知識
0682nobodyさん
2010/01/10(日) 21:01:22ID:???以下、ネタにマジレス禁止
0683nobodyさん
2010/01/10(日) 21:23:16ID:???例えばpostモデルがあったとして、
・ユーザーがページをクリックすると、postデータ一覧が表示される
[ユーザー] --ページをクリック--> [controllers/posts_controller] --function:view--> [views/posts/view.ctp]
├--データ取得--> TBL[posts]
└--ページを返却--> [postデータ一覧ページ]
何が何を呼ぶか、みたいな関係図を書くとこんな感じになるとおもうんだけど
この場合、modelってこの図には絡まないの?
・リレーション定義
・登録時のバリデーション
なんかは明示的にモデルに書くからわかるんだけど、
独立したモデルから単にデータを引っ張ってくる場合に、関係図的にモデルはどう絡むんでしょうか。
絡まない、が正解?
0684nobodyさん
2010/01/10(日) 21:33:44ID:???・ユーザーがページをクリックすると、postデータ一覧が表示される
[ユーザー] --ページをクリック--> [controllers/posts_controller] --function:view--> [views/posts/view.ctp]
├─function:find('all')--> [models/post] --> TBL[posts]
└─ページを返却--> [postデータ一覧ページ]
0685nobodyさん
2010/01/11(月) 12:02:25ID:???書き込みにトランザクションを使おうと考えてマニュアルを見ると
saveAll()が使えると書いてありました。
しかしこれはひとつのモデルにしか使えないのでしょうか。
いくつかのモデルで書き込みを行ってからコミットしたいのですが
方法があれば教えて下さい。よろしくお願いします。
0686nobodyさん
2010/01/11(月) 13:11:26ID:???saveAllは「関連づけされた複数モデルのデータの保存」か「ひとつのモデルの複数データの保存」に使う。
それ以外の場合は、自前でトランザクションを発行すると良い
0687nobodyさん
2010/01/11(月) 14:00:16ID:???これさ、「ひとつのモデルの複数データの保存」出ない時もsaveAll()使えば、トランザクションの事気にしなくてもいいんでない?
0688nobodyさん
2010/01/11(月) 16:27:36ID:???馬鹿でも分かりやすい説明お願いします
0689nobodyさん
2010/01/11(月) 16:36:29ID:???0690nobodyさん
2010/01/11(月) 16:40:22ID:???天才でも分かりやすい説明お願いします
0691nobodyさん
2010/01/11(月) 16:42:43ID:???0692nobodyさん
2010/01/11(月) 16:46:49ID:???この場合、トランとザクションを調べれば済む
0693nobodyさん
2010/01/11(月) 16:53:27ID:???まじCakePHP使いはm9(^Д^)プギャーが多いなwwwwwww
0694nobodyさん
2010/01/11(月) 16:55:37ID:???0695nobodyさん
2010/01/11(月) 17:09:46ID:???0696nobodyさん
2010/01/11(月) 18:30:40ID:???ヒント:今年の干支
0697nobodyさん
2010/01/11(月) 21:32:04ID:???0698nobodyさん
2010/01/11(月) 22:13:24ID:???コミットとかでしょ?
SQLのことだから別に知らなくても問題ない。
cakephpが勝手にやってくれるし。
0699nobodyさん
2010/01/11(月) 22:38:11ID:???0700nobodyさん
2010/01/11(月) 23:25:43ID:???0701nobodyさん
2010/01/12(火) 22:26:59ID:???0702nobodyさん
2010/01/12(火) 23:06:39ID:???0703nobodyさん
2010/01/12(火) 23:23:26ID:???0704nobodyさん
2010/01/13(水) 01:14:38ID:???読めも書けもしない。だからCakePHPのfindとか、saveとかメチャ好きなんだけど、
SQL書ける人は、「Cakeのfindとかsaveとか覚えちゃられねーよ。
汎用性のあるSQLで書くのが一番じゃね。」と言う人も多いのかなあ?
それでもヤッパCakeのfindとかsaveとかは、直感的で効率的で便利と評価されるのかなあ?
0705nobodyさん
2010/01/13(水) 01:23:13ID:???生SQLをqueryに投げた時、結果の格納のされ方にクセがあってちょっと戸惑った
0706nobodyさん
2010/01/13(水) 03:31:13ID:???お前の文体嫌いじゃないぜ
SQLについては直感的というか効率&汎用性を考えて使い分けることもあるという程度かな
0707nobodyさん
2010/01/13(水) 03:43:15ID:???わざわざ覚える必要無いだろ
もう俺SQL構文愛してぺろぺろしたいくらいですって言うなら別だが・・
0708nobodyさん
2010/01/13(水) 14:15:50ID:???めんどくさい条件とか使うときは生SQL。
ちょとしたデータの操作はcakeを使ったます。
0709nobodyさん
2010/01/13(水) 15:45:03ID:???JOINをしているのですか?
俺はMySQL側でビューを定義して、そのビュー用のmodelを定義して、それ経由で
データの取得をしてます。
プログラム内でjoinのほうが各段に速いとか、明確な優位性はあるんでしょうか?
0710nobodyさん
2010/01/13(水) 22:00:48ID:???appフォルダのみ配布するべきか、cakeも含めたフォルダを配布する
どっち?
0711nobodyさん
2010/01/13(水) 23:12:16ID:???appとvendorsに何も入っていない時のcake本体をzip圧縮した場合のファイルサイズは約1.6MB
vendorsにも何か入れる場合が多いし、高々cake本体1.6MBだから、cakeも含めたフォルダを
配布するなあ。cakeはhtdocsの下へ配置すればどこでも動くので、この配布の方が安心で手間
いらずだと思う。
0712nobodyさん
2010/01/14(木) 00:17:27ID:???アザーズ!
landとかいう無料サーバーにCakephpアップしたら時間かかったから
気になったんだよぇ〜
0713nobodyさん
2010/01/14(木) 12:15:33ID:???丸ごとパッケージにする。
※以前、Authコンポーネントでうまく認証がかからないエラーがあった
0715nobodyさん
2010/01/15(金) 18:42:50ID:???0718nobodyさん
2010/01/16(土) 16:49:23ID:???ケータイでこのサイト見てたらエラーが表示されたんだけど、ディレクトリ構成がもろにcakephpだった
0719nobodyさん
2010/01/17(日) 14:58:10ID:???http://bakery.cakephp.org/articles/view/cakephp-1-3-0-beta-has-landed
0720nobodyさん
2010/01/17(日) 16:43:43ID:???というより改名すべき
焦げちゃったPHPとかにね^^;
0721nobodyさん
2010/01/17(日) 16:49:52ID:???0722nobodyさん
2010/01/17(日) 21:32:18ID:???この辺を見ると1.3はそれほど変わった感じもないけど
0723nobodyさん
2010/01/17(日) 21:34:00ID:???技術の進歩とともに自分の老化が。
バージョンアップに対応しなくていいやって思ったら技術者としてだめだよね。
0726nobodyさん
2010/01/18(月) 01:09:24ID:???激しく期待。つか標準でscriptaculous以外をサポートしたのって1.3からだよね
$js->get('#foo')->event('click', $eventCode);
0727nobodyさん
2010/01/18(月) 01:53:18ID:???でもJQueryをCakeのAjaxHelperの書式に合わせようと思ったら結構無理があったから、
標準でこういう書き方できるようになるならいいや。
0728nobodyさん
2010/01/18(月) 01:56:16ID:???0729nobodyさん
2010/01/18(月) 12:20:16ID:???0730nobodyさん
2010/01/18(月) 16:10:52ID:???0731nobodyさん
2010/01/18(月) 22:17:03ID:???0732nobodyさん
2010/01/20(水) 19:42:54ID:???ミスるphpコードが複雑になる。。。
0734nobodyさん
2010/01/21(木) 00:44:08ID:???0735nobodyさん
2010/01/21(木) 00:46:10ID:???0736nobodyさん
2010/01/21(木) 18:43:26ID:???function getEmail()
とか
function setApple()
とか
function のあとの、大文字にした方がいい部分ていうのは明確な決まりがあるのかな。
0737nobodyさん
2010/01/21(木) 18:47:39ID:???getemailとか
setapple
---------------
getEmail
setApple
0738nobodyさん
2010/01/22(金) 02:16:00ID:fZt9z1/I0739nobodyさん
2010/01/22(金) 11:25:18ID:???http://pear.php.net/manual/ja/standards.naming.php
0740nobodyさん
2010/01/22(金) 16:34:06ID:???http://book.cakephp.org/view/509/Coding-Standards
0742nobodyさん
2010/01/27(水) 00:02:16ID:???Visual stadioでしか開発した事ないのでテキストエディタ
まんまでは違和感が。
0743nobodyさん
2010/01/27(水) 02:24:26ID:???0744742
2010/01/27(水) 07:23:15ID:???Eclipse+PDTですかね。レスサンクス。
PDTとcakeを同じサーバーにインストする方法は簡単だけど、
サーバーと開発環境がリモートだと結構設定が難しそうですね。
調べないと……。
0745nobodyさん
2010/01/27(水) 12:10:53ID:???おれ、netBeans使ってる。
cakeのメソッド類を入力補完リストに表示させるため方法は、Eclipseの方法がそのまま使えた。
Eclipseより快適です
0746nobodyさん
2010/01/27(水) 20:22:02ID:???俺はマカーにスイッチしてからはTextMate一本になった。
cakeのsnippetも本家theChawでgitレポジトリが作られてるし。オススメ。
マカーにスイッチした際は是非。日本語怪しいけど。
0747nobodyさん
2010/01/28(木) 14:53:03ID:???0748nobodyさん
2010/02/01(月) 17:10:22ID:???自分は普通にviだわ
公式サイトのcompareページはnoindexしてほしい
0749nobodyさん
2010/02/02(火) 00:14:38ID:???エレメンとでファイルを呼び出すって感じですか?
0750nobodyさん
2010/02/02(火) 06:59:25ID:xXDrlP2Ucakephpのファイルを毎回ぶち込んで使うって解釈でOk?
PEARみたいにPHPとかにインストールするんじゃなくて
0751nobodyさん
2010/02/02(火) 09:08:23ID:???0752nobodyさん
2010/02/02(火) 09:30:11ID:???インストールではない(解凍のみで使用可能)
基本的には、webroot/index.phpとwebroot/test.phpの定数を書き換えれば、どこにでも置けるから共通化が可能
プロジェクト名も変更可能
でもオススメはシンボリックリンク使って定数の書き換えをしないようにすることかな
0753nobodyさん
2010/02/02(火) 15:16:37ID:zKiQz/op0756752
2010/02/03(水) 16:21:18ID:???俺が異端なのかなあ?
ずっと前の勉強会で、ブルーオーシャンだかどこかも、個別にしてるって言っていた気がするんだけど。
「stableで作っても、全然stableじゃなかったりするのでアップデートするときに問題が起こるかも知れないので」
って説明してた気がする。
0757nobodyさん
2010/02/03(水) 16:38:47ID:???動作確認時からフレームワーク部分が変わってしまうとバリデーションを行うのが大変。
運用後は原則変えないようにしてる。
0758nobodyさん
2010/02/03(水) 16:52:12ID:???>>752は おいらなんだが・・・
えっと、coreを共通にするって話と、アップデートを個別に行なうって話は別だと思うよ
基本的には最新バージョンにリンク先を向けておいて、必要に応じて旧バージョンに向けることにしてる
0760nobodyさん
2010/02/03(水) 21:28:54ID:???Windowsサーバで運用してたので考え付かなかった。
確かにLinuxサーバとかだとそっちのほうがスマートだ。
0761nobodyさん
2010/02/04(木) 10:09:41ID:???0762nobodyさん
2010/02/04(木) 21:37:40ID:???いろいろとググってみたらこんなページを見つけた。
【CakePHP】session.use_trans_sid=1をCakePHPで使う場合の注意 | ECWorks Blog
http://blog.ecworks.jp/archives/525
【CakePHP】namedパラメータのセパレータについて皆さんにお聞きしたいこと | ECWorks Blog
http://blog.ecworks.jp/archives/531
"paginatorのURLをスマートに" フォーラム - CakePHP Users in Japan
http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1860&forum=3
コロンがURL内に含まれていると外部サイトへのリンクとPHPが誤解してしまうせいで発生する問題らしいんだけど、
セパレータは本当にコロンのまんまでいいの?
RFC1738によればコロンは予約されてるからあんまり良くないらしいんだけど。
ブログの人がチケット投げたらしいんだけど、見つけられなかったので、その後どうなったのかがわからない。
http://www.google.co.jp/search?hl=en&q=inurl:page+2
ぐぐってみると、あんまりコロンでセパレートしてるサイトは無いみたいなんだけど
0764nobodyさん
2010/02/05(金) 20:36:29ID:???一応言っておくか「宣伝乙」
まじめな話、そういう問題じゃないだろ
ケータイに限らず、URLにコロンが含まれていておkなのかという話なのだから
0765nobodyさん
2010/02/06(土) 00:18:22ID:???Cakephpのモデルって
元からDBアクセスのためのメソッドが用意されてて
コントロール側でクラスを呼び出して実行すればOK?
モデルクラスは定義で使うのがメインって感じですか?
0766nobodyさん
2010/02/06(土) 13:14:46ID:???そう。Controllerから
$this->User->find('all');
のように使う
モデルは、バリデーションルール他を書くだけでなく、ビジネスロジックを書くところとして使う
$this->User->originalMethod(); のように使えばよい
0768nobodyさん
2010/02/07(日) 12:16:33ID:???0769nobodyさん
2010/02/07(日) 12:45:51ID:???2008/1/8発売 日本で始めてのCake本やないか。ゆるしてやれや。
日本初を評価してやれや。(いや世界初のCake単独書籍かもしれん。)
http://www.amazon.co.jp/dp/4774133418
0770nobodyさん
2010/02/07(日) 13:23:41ID:???0771nobodyさん
2010/02/07(日) 13:58:35ID:???単独書籍としては2冊目のはず
0772nobodyさん
2010/02/07(日) 14:22:25ID:???それでいまつくってるけど
<p><?php echo $form->input('Task/content') ?>
<?php echo $form->submit('タスクを追加') ?></p>
が
$html->inputになってる
古い版みたいだけど
0773nobodyさん
2010/02/07(日) 14:24:49ID:???1.2対対応のガイドブック、ポケットリファレンス、実践ウェブアプリケーションあたりが良い
0774nobodyさん
2010/02/07(日) 15:29:38ID:???こことか、いんじゃね。
http://kuri6005.sakura.ne.jp/cake/wiki/index.php?ToDo%A5%A2%A5%D7%A5%EA%281%A1%C15%29%A4%F2%A5%C8%A5%EC%A1%BC%A5%B9%A4%B7%A4%C6%A4%DF%A4%BF
0775nobodyさん
2010/02/07(日) 15:40:43ID:???ほんまや!CakePHPガイドブックは07/10/25発売や。
これが世界初のCake単独本や。スマソ
http://www.amazon.co.jp/dp/4839924317
0776nobodyさん
2010/02/07(日) 15:51:39ID:???0777nobodyさん
2010/02/07(日) 16:16:01ID:???俺もakiyanは偉いと思う クールな情報発信をしてくれてるもんな。
09/5/24
http://www.akiyan.com/blog/archives/2009/05/routesphp-cakephp-12.html
09/10/31
http://www.akiyan.com/blog/archives/2009/11/cakematsuritokyo2009-containable-behavior-lt.html
0778nobodyさん
2010/02/07(日) 16:28:41ID:???あの本は、構成とか編集がおかしいから論外だと言っているだけ。
0779nobodyさん
2010/02/07(日) 20:11:26ID:???tgzは落とせるので問題はないのですが・・・。
0780nobodyさん
2010/02/07(日) 21:00:40ID:???2010/2/7 20:58現在、1.2.6 zipはダウンロード出来ませんでした乙
Windowsでもtgzは解凍すれば使えるのでしょうか?
0781nobodyさん
2010/02/07(日) 21:21:04ID:???0782779
2010/02/07(日) 22:43:52ID:???確認していただき、ありがとうございます。
1.2.5のzipしか落としたことがなかったので
詳しいことは分からないですが、
tgzを解凍したファイル構成は異なるものだったので
cakePHPが初めてでなければ問題ないように思います。
1.2.6のzipはURLを直接たたくと落とせます
(リダイレクトで失敗するようです)。
0784nobodyさん
2010/02/08(月) 17:14:15ID:???/comments/view/10/page:2
みたいなURLが普通だと思うけど、
今試してみたら
/comments/view/10?page=2
とか
/comments/view/10/?page=2
でも動いちゃったんだけど、これって公式にサポートされてる機能?
0785nobodyさん
2010/02/08(月) 17:51:15ID:???Cakeが独自にルーティングしてるんだよ
0786780
2010/02/08(月) 20:42:28ID:???1.2.6のzipはURLを直接たたくと落とせました。
http://github.com/cakephp/cakephp1x/zipball/1.2.6
助かりました。ありがとうございました。
0787nobodyさん
2010/02/08(月) 22:01:02ID:???CakePHPのpaginatorの記法は>>784が言うようなのが普通でしょ?
俺も試してみたけど、どうやらcontroller側は>>784でも正しく解釈してくれるみたい
limitとか他のパラメーターもOKでページングも正しく動いた
どうやらnamedされたパラメータがなければGETパラメータを使ってくれるみたい
ただ、helper側はそれに併せてくれるわけではないので$paginator->next()とか使えば
基本のpaginatorの記法になるね
0789nobodyさん
2010/02/08(月) 22:24:46ID:???それをCakeが勝手に整形してるだけだから
0790784
2010/02/09(火) 00:33:43ID:???スマートURLが基本なのにGETパラメーターでもきちんとpaginatorのパラメータとして扱われるって話だよ?
それとも?controller=commentsとかでも動くって話?
0791nobodyさん
2010/02/09(火) 01:47:50ID:???0792nobodyさん
2010/02/09(火) 03:18:32ID:???2重3重にURLエンコードしても同じ。
?xxx=yyyがnamedパラメータとして使えるんなら、今度からそっちを使うようにする
0793nobodyさん
2010/02/09(火) 03:50:25ID:???この本かったら序盤にDOS窓使ってBakeしろってかいてあったけど
Bakeってネットにアップするときとかにつかうわけ?
0794nobodyさん
2010/02/09(火) 04:09:21ID:???$thisって何をさしてるんですか?
ビューから送られてきた値?
コントローラーのこと?
0796nobodyさん
2010/02/09(火) 08:22:32ID:???> Bakeってネットにアップするときとかにつかうわけ?
ちがうよ。グダグダ言ってないで動かしてみればすぐわかるじゃん。
動かしてみろよ。
>>775
> この本かったら序盤にDOS窓使ってBakeしろってかいてあったけど
てか、この本って「古典」だよ。古代のCakeについての歴史を勉強したいなら
とやかく言わないけど、現代はCakePHP1.2がstableだよ。
0797nobodyさん
2010/02/09(火) 10:12:50ID:???場合によって違ってくる。
なのでコントローラーやビュー、モデルで
pr($this); をやりまくれば感覚的にわかってくるよ。
0799nobodyさん
2010/02/09(火) 10:54:41ID:???最近同じようにnamedで/(スラッシュ)を渡そうとしたらダメだったんで
その部分は?でやることにした。
?xxx=yyyはnamedじゃなくて$this->params['url']でやってくるからそこから取り出せばいいよ。
0800nobodyさん
2010/02/09(火) 11:14:54ID:???さすがにthisってなんですかとかUrlが?でも渡せて疑問とか
プログラマとしてどうかと思う
0801nobodyさん
2010/02/09(火) 13:21:15ID:???認証できない場合はrenderにてログインエラーページを指定していますが、render以降の処理(コントローラで定義している処理)が実行されてしまいます。
コンポーネントなのでreturnを使ってもコントローラに戻るだけですし、exitをするとrenderもされません。
コントローラでログインチェックするべきなのかもしれませんが、複数のページに実装するプログラムなのでコンポーネントにまとめています。
どのようにしたらその後の処理を行わないようにできるでしょうか?
0802nobodyさん
2010/02/09(火) 13:36:27ID:???AuthComponentじゃないんだよね?
その前提で。
renderじゃなくて、redirectじゃないかな?
0803nobodyさん
2010/02/09(火) 16:49:52ID:???Userをfindした際、associationで複数個取得されるBoardを、条件で絞り込みたいのですが、
これはUserを取得した後、PHPで処理するしかないのでしたっけ?
0804nobodyさん
2010/02/09(火) 17:39:56ID:???絞り込みをずっと使うならUserモデルのhasManyのBoardのconditionsを設定しておく。
でなければUser->bindModelで同じように条件を設定するかcontainableビヘイビアを使うとか。
マニュアルの「モデルを結びつける」の所はよく読んでおくといいです。
0805nobodyさん
2010/02/09(火) 18:13:47ID:???0806nobodyさん
2010/02/09(火) 19:26:23ID:???このあたりの事ならそうだね、長い文章じゃないし翻訳サイトかググればなんとかなる。
http://api.cakephp.org/class/html-helper
0808nobodyさん
2010/02/10(水) 01:25:31ID:???まあ、ビューは分かるとして、ほかは関係なくないのかな。
0809nobodyさん
2010/02/10(水) 01:34:34ID:???0810nobodyさん
2010/02/10(水) 01:53:55ID:???0811nobodyさん
2010/02/10(水) 04:19:55ID:???0813nobodyさん
2010/02/10(水) 06:51:33ID:???もしよければ質問させてくださいませ。
ロリポップサーバでwordpressを運用しております。
phpmyadminでcakePHP用のデータベースを新たに作成できませんでした。
この場合、wordpressとcakephpのデータが混在しないかなと心配なのですが、
それほど心配することはないでしょうか?
それとも、もう一つアカウントを契約してやらないと後悔することになるのでしょうか?
0814nobodyさん
2010/02/10(水) 06:52:14ID:???初見のときセキュリティホールだらけなのかと思ったぞ
ケーキの数え方にかけてるってのも伝わりづらいし
0815nobodyさん
2010/02/10(水) 07:47:58ID:???0816nobodyさん
2010/02/10(水) 07:49:11ID:???0821nobodyさん
2010/02/10(水) 09:27:47ID:???初心者用の参考書を数冊読み、ある程度の文法知識、簡単なフォーム、アンケートなどは
作れるようになりました。
はやくアプリを作れるようになりたいので、背伸びしてCAKEPHPをかじることに決めました。
CAKEPHPを使うにあたって、ここらへんは予習しておけ!という部分はあるでしょうか?
【現在の知識】
・PHPの基本的な文法知識
・MySQLの簡単な知識
・HTMLやCSSの基本的な知識
・エディタはPHPeclipseなどを使用中
【勉強予定】
・PDO(データベース)
・PHPのクラス
現在、ユーザー関数はなんとか理解できるのですが、クラスの理解があやふやです。
このオブジェクト指向の部分がわからないとCAKEPHPを使えないかと思い、悪戦苦闘中です。
0823nobodyさん
2010/02/10(水) 09:54:07ID:???クラスはまず基本を一読して、簡単なクラスでも書いてみればいい。
Cakeやるのにクラスは必須ではないよ。
Cake触ってからまたクラスについて勉強すれば理解が進んでるかもね。
>>822の言うとおりまずは作り始めて分からないところを補強すればいい。
0825nobodyさん
2010/02/10(水) 10:01:04ID:???洒落が効いてていいじゃないか。
2スレ目からの伝統だし、愛着あるなぁ。
そもそも
ホール === セキュリティホール
なんて思い込みどうでもいいじゃん。
0826nobodyさん
2010/02/10(水) 10:58:13ID:???ホールケーキをすぐにイメージできないの君だけ
だいたい、ケーキの数え方なんてのも違うし、ケーキは1台2台だ
0827nobodyさん
2010/02/10(水) 11:09:46ID:???何ホール食べちゃったよ!的なニュアンスでかわいいと思う。
0829nobodyさん
2010/02/10(水) 16:28:54ID:UrqttIc/公式サポートかどうかわからないけどpaginatorの中で
$options = array_merge($this->params, $this->params['url'], $this->passedArgs);
というふうに書かれているので、namedパラメータだけじゃなくてGETパラメータでも大丈夫だと思う
>>789
cakeではnamedパラメータとGETパラメータは別の扱いだよ
0830nobodyさん
2010/02/11(木) 01:16:16ID:SsYIk7V8userModelとprofileModelがあって、
それぞれアソシエーションhasoneで連携してます。
userModelのdeleteアクションを作って実行すると、
データを削除できません。
ただ、
・User hasone Profile
・Profile belongsto User
にすると削除できます。
なぜお互いにhasoneだと削除できないんですか?
(最初はdependentの設定かな、と思ったけど、関係なかったです。)
0831nobodyさん
2010/02/11(木) 07:38:42ID:???削除できない理由はよく分からないけど、アソシエーションの設定が間違っていることが原因かと
A hasOne B
B hasOne A
ということは、Aにはb_idが、Bにはa_idが必要(お互いに外部キーが必要)
(片方がhasManyならよくあるケース)
で、質問の例の場合は A hasOne B のケースで、その場合、必要に応じて B belongsTo A をする
この場合外部キーは B.a_id のみ
0832nobodyさん
2010/02/11(木) 10:19:44ID:???どっちかが belongsTo になると思うんだけど。
0834nobodyさん
2010/02/11(木) 15:08:47ID:RWXIN9DnUser hasMany Question
Quesion belongsTo User
上記のアソシエーションを設定し、Quesionのindexビューをbakeしました。
bakeされたindexビューではQuestionのuser_idではなく、
$Question['User']['name']が表示されます。
この動作は、CakePHPのフィールド名の規約(modifiedのような)によるものなのでしょうか?
0836830
2010/02/11(木) 17:46:29ID:6DwJ8Mj3ありがとうございました!
0837nobodyさん
2010/02/12(金) 07:16:07ID:???cakePHPを勉強中なのですが、データベースの差異を吸収できると本に書かれております。
ということは、PDOとかは基本的には使わなくても、様々なデータベースに変更しやすいと考えてよろしいでしょうか?
0839nobodyさん
2010/02/12(金) 09:03:54ID:???基本的にはそうです。
対応しているDBはこちら
http://book.cakephp.org/ja/view/28/Requirements
0840837
2010/02/12(金) 09:41:33ID:???あほな質問ですいませんでした。
0841nobodyさん
2010/02/12(金) 13:21:07ID:???0845nobodyさん
2010/02/12(金) 22:23:36ID:???エラーの内容を解決したほうがいいんじゃね
0846nobodyさん
2010/02/14(日) 13:09:00ID:???たしかに解決したほうがいいんだけどそこまでするようなサイトじゃないので
サーバーを占有しないように log系一切無しにしたいんだけどなぁ。
0847nobodyさん
2010/02/14(日) 16:28:37ID:???というか、よく気持ち悪くないね。エラー出しっぱなしで
0848nobodyさん
2010/02/15(月) 10:21:57ID:???2 <?php echo $result; ?>
CakePHPでは1と2は同じ意味なのでしょうか?
参考書では1の書き方で書かれているのですが、
自分の環境では2の書き方をしなければ動いてくれないのです。
動作環境はxamppの最新版です。
0849nobodyさん
2010/02/15(月) 10:24:43ID:???cakephpじゃなくても、一緒の意味。
ただし、php.iniの設定で shortopentag が有効になっていないと使えない。
0851nobodyさん
2010/02/16(火) 12:22:04ID:???トップページ(default.ctp)の中に設置しているフォームから送信された文字列を
個別ページ(view.ctp)で表示している本文の一部に代入したいんですが、
どうすればいいんでしょうか。
本文の中の代入したい部分に$wordとか入れてみても駄目だったんですが、
どこで処理すればいいんですか。
echo $post['Post']['body'];
echo $word;
みたいに並べることはできるんですが、これでは混ぜられそうにない。
0853nobodyさん
2010/02/16(火) 12:58:57ID:???controller側でsetしてますか?
function view(){
if(isset($this->data)){
$this->set("post",$this->data)
}
}
0856nobodyさん
2010/02/16(火) 13:19:37ID:???debug($this->params) で、フォームからコントローラーにどういう値が送られてるのかを見る。
それで必要なものを$this->setでセットしてビューで表示。
0857nobodyさん
2010/02/16(火) 15:58:17ID:???0858nobodyさん
2010/02/16(火) 16:05:32ID:???0859nobodyさん
2010/02/17(水) 10:25:19ID:???CakePHPのコントローラ内では "Board" として、 "s" と削除した名前を指定しないといけないのでしょうか?
class BoardsController extends AppController {
public $name = 'Boards';
public $uses = array('Board','Personal');
}
「CakePHPによるWebアプリケーション開発」という本によると、 s がついたりつかなかったりして少し混乱しております。
0860nobodyさん
2010/02/17(水) 10:52:42ID:???http://book.cakephp.org/ja/complete/22/CakePHP-Conventions
DB table => boards
Controller => BoardsController ( Boards )
Model => Board
0862nobodyさん
2010/02/17(水) 23:48:29ID:???こんな便利なツールあるよ。
http://www.cpa-lab.com/tech2/inflects/
例えばDB テーブル名をchildren(子供)にした場合
DB テーブル名 =>children
Controllerのクラス名 => ChildrenController
Controller名 => Children
Controllerのファイル名 => children_controller.php
Model名 =>Child
Modelのファイル名 => child.php
不規則な複数形にもCakeは対応してる。オレより頭いい。
0863nobodyさん
2010/02/18(木) 00:50:16ID:???ああこれは便利だね。
欲をいえば、cakephpで既に使われているクラス名(Fileとか)を弾いてくれるとうれしいな。
0865nobodyさん
2010/02/19(金) 19:02:24ID:o9GNlhpecakephpは中小規模向けって色々書かれているのを見るんですが、
大規模、中規模、小規模の定義ってなんですか?
ユーザー数ですか?機能ですか?
0866nobodyさん
2010/02/19(金) 19:03:28ID:???0867nobodyさん
2010/02/19(金) 20:42:47ID:???大規模:コンピュータシステムが大きい規模
中規模:コンピュータシステムが中くらいの規模
小規模:コンピュータシステムが小さい規模
0868nobodyさん
2010/02/19(金) 21:16:30ID:???0870nobodyさん
2010/02/19(金) 22:32:57ID:???中規模:モーニング娘。
小規模:Perfume
0871nobodyさん
2010/02/19(金) 23:37:14ID:???中規模:タルるートの原子力
小規模:スネ夫
0872nobodyさん
2010/02/20(土) 01:35:31ID:Zor8hgfe中規模:中便
小規模:小便
0873nobodyさん
2010/02/20(土) 01:36:56ID:???ゆるゆるの…
0874nobodyさん
2010/02/20(土) 02:09:06ID:???0875nobodyさん
2010/02/20(土) 02:11:13ID:???0877nobodyさん
2010/02/20(土) 10:34:11ID:???賛成
CakePHP1.2は小規模、中規模、大規模のオールマイティで活用出来ると思う。
symfonyは、大規模、中規模向けで、小規模には向かないと思う。
0878nobodyさん
2010/02/20(土) 13:26:22ID:???ただSymfonyはCakeやZendに比べて動作が重い
0879nobodyさん
2010/02/20(土) 15:31:09ID:???どうせなら、他の機能と一緒に標準で搭載しておけば楽なのに。
あまりに機能を標準で入れすぎると重くなるからかな?
初心者の素朴な疑問なのですが、誰か教えてくださいませ。
0880nobodyさん
2010/02/21(日) 18:24:58ID:???ググルにもキーワードがわかりません。><;おねがいします
0882nobodyさん
2010/02/21(日) 19:40:00ID:???0884nobodyさん
2010/02/21(日) 23:18:19ID:???大規模ってかデザイナーがPHPわからない人のときでない限り
必要ない?
0885nobodyさん
2010/02/22(月) 00:13:30ID:???887 ってどれ?
デザイナーがPHP解ってたらフレームワーク要らないってこと?
デザイナーが作ったプログラムなんてメンテナンスしたくないぞ。
0886nobodyさん
2010/02/22(月) 10:25:56ID:???デザイナーが書いたPHP入りテンプレートの話でそ?
0887nobodyさん
2010/02/22(月) 10:27:17ID:???Symfony しっかり作るぞ(商売用ケーキ)
Cake サクッと作るぞ(おいしいケーキ)
Zend Fr 自分で作るぞ(うまいかどうかは作り手次第)
0889nobodyさん
2010/02/22(月) 23:08:02ID:???0890nobodyさん
2010/02/24(水) 14:32:23ID:???eclipse PDT, Netbeans, notpad++
などが海外の掲示板には挙げられていましたが。
コード補完機能を出来る限り使いたいのですが、netbeansもeclipseもサポートしてないし。
0891nobodyさん
2010/02/24(水) 14:37:54ID:???今後のサポート状況を見る限り、 Netbeansがもっともベストなのかなあと思うのですが。
現時点でも eclipse, netbeans ともにカスタマイズすることである程度cakeと連携できるようですが、
どちらがより便利なのか詳しい人よければ教えてほしい!
0892nobodyさん
2010/02/24(水) 16:07:45ID:???0893nobodyさん
2010/02/24(水) 18:45:40ID:???eclipse よりはマシだけど。
コントローラーからショートカットキーで モデル、ビューに飛べたら便利だと思うんだけど。
できないよね?netbeans。
0894nobodyさん
2010/02/25(木) 05:51:56ID:???0895nobodyさん
2010/02/25(木) 12:44:41ID:???で、コーディングしてくとどうしてもコードが煩雑になる。
なのでそれをモデルにまとめたいんだが、まとめようとすると
「モデルから他のモデルを読み出す」 処理が必要になる。
モデルから他のモデルを読み出すのはやっぱりよくないのかな。
こういう場合はコントローラー多少煩雑になってもコントローラー内で処理を終わらせるべきか、
コントローラーが煩雑になりそうだったらモデルからモデルを読み出す処理をした方がよいのか。
どっちがいいんでしょうか。
0897nobodyさん
2010/02/25(木) 23:58:22ID:???なんでロジック記述すんだよ?アホか。
0899nobodyさん
2010/02/26(金) 21:56:18ID:???日頃modelに何書いてるんだ?
0900nobodyさん
2010/02/26(金) 22:44:24ID:???0901nobodyさん
2010/02/27(土) 01:49:21ID:???Serviceクラスとか作ってそこに書くんだけど、
CakePHPだとActionクラスに書くの?
0902nobodyさん
2010/02/27(土) 04:29:33ID:???0903nobodyさん
2010/02/27(土) 06:54:03ID:???コンポーネントじゃね?
0904nobodyさん
2010/02/27(土) 08:54:38ID:???= と => は同じような記号とイメージしてよいでしょうか?
1 $name = "boku no name";
2 var $validate = array(
"name" => VALID_NOT_EMPTY,)
上記の1の = と 2の => は似たような記号な気がするのです。
PHPを勉強するのいたって = は 右側の内容が左側の変数に入るとイメージしています。
=> はどうイメージすればよいのか、よければご教授いただきたいです!
0905nobodyさん
2010/02/27(土) 09:14:08ID:???http://jp2.php.net/manual/ja/language.types.array.php
0906nobodyさん
2010/02/27(土) 09:51:04ID:???ありがとうございます!
配列だから => だったんですね。 イメージがぼんやりとつかめました。
こんな初歩的な質問をしてしまいどうも失礼いたしました。
0908nobodyさん
2010/02/27(土) 14:25:06ID:???http://jp2.php.net/manual/ja/language.oop5.basic.php
0909nobodyさん
2010/02/27(土) 15:53:26ID:jm7DAOhIどうやら改行コードがURLとしてマッチしてしまっているので、改行以降も勝手にURL扱いになってしまうようですが、
他に同じ現象の人はいませんか?
0910nobodyさん
2010/02/27(土) 18:28:39ID:???DB使わないソーシャルアプリ作ろうかなんて時には役に立たないポンコツなんでしょうか?
0911nobodyさん
2010/02/27(土) 19:04:10ID:???心配しなくても大丈夫
controlleに
var $uses = array(); //modelを使用しない
と1行記述するだけで、DB使わないアプリが書ける
(他にもニーズに合わせた書き方が色々あるが)
0912nobodyさん
2010/03/01(月) 12:10:04ID:???僕も同じです。
ところで
if (isset($this->params['pass'][0]) && $this->params['pass'][0] == 'csv'){
Configure::write('debug', 0);
ob_start();
}
その変数が定義されていて、なおかつ○○なとき っていうのは
上記以外にスマートな書き方ってないのかなぁ。
知ってたら教えて下さいませ。
0913nobodyさん
2010/03/01(月) 15:56:58ID:???HTMLヘルパーを使うと重くなるという噂も。
0914nobodyさん
2010/03/03(水) 09:18:07ID:???htmlヘルパーは使わなくていいと思うけど、formヘルパーは絶対使った方がいいよ。
入力ミスしたりしたときに再度入力しなおさないといけなくなったりして
ユーザビリティが悪くなるから。
0915nobodyさん
2010/03/03(水) 12:26:04ID:???data[Model][Field]
になるのがうっとうしいよなぁ
0916nobodyさん
2010/03/03(水) 14:07:50ID:???携帯向けHPを試しているんですが、
DoCoMoの携帯電話が外部CSSを読み込めないことを知りました。
そこで、HTML_CSS_MOBILEを見つけたのですが、
CakePHPに導入するにはどのソースに記述すればよいのでしょうか。
質問がCakePHP以前の問題かもしれず恐縮ですが、
よろしくお願いします。
0917nobodyさん
2010/03/03(水) 14:25:24ID:???CakePHPのバージョンは1.2.5です。
よろしくお願いします。
失礼しました。
0918nobodyさん
2010/03/03(水) 17:26:16ID:???Viewクラスを継承してオレオレViewを作って、renderを書き換えるとかかな。
class OreoreView extends View{
function render($action = null, $layout = null, $file = null){
$out = parent::render($action , $layout , $file);
//$out に処理
return $out;
}
}
コントローラーで、$this->view = 'Oreore';とかすれば切り替えできるし。
0919918
2010/03/03(水) 17:47:15ID:???使ったこと無かったんですんません。
0921nobodyさん
2010/03/04(木) 00:08:05ID:???ありがとうございます!
afterFileterっていうのがあったことに初めて気付きました。
ググってみたらフォーラムにありました。
http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1224&forum=8
これにHTML_CSS_MOBILEをDoCoMoの場合だけ対応させれば、
DoCoMo向けにCSSを書く必要がなくなりそうです。
試してみます!
どうもありがとうございました。
0926nobodyさん
2010/03/04(木) 10:11:27ID:???0927nobodyさん
2010/03/04(木) 10:15:51ID:???0928nobodyさん
2010/03/04(木) 10:25:47ID:???┐(´ー`)┌オイオイ
仲良くやろうぜ
>>923
afterRender()のほうがしっくりきますか。。。
ちょっとマニュアルみてみます。
何度もレスありがとうございます。
0929nobodyさん
2010/03/04(木) 12:15:49ID:???古い2ch語じゃない?
相当昔からあって当たり前すぎて
今さら疑問を持つレベルじゃないとおもうけど・・・・
0930nobodyさん
2010/03/04(木) 15:55:54ID:???それを他のコントローラーからも利用したいんだけれども、やり方がわからん。
そういう場合はコントローラーじゃなくてコンポーネントに書くべきなのかね?
別のコントローラーのアクションを呼び出したい場合にはrequestActionを
使えばいいみたいだけど、どうもそれはviewから呼び出すように作られているので
単純にメソッド利用するのとは挙動が違うみたいだし。
>>912
それしか書き方思いつかないなあ
0932nobodyさん
2010/03/04(木) 16:09:21ID:???CentOSに乗っけたCakePHPからSQL Server 2005につなげたいんですが
database.phpの記述の仕方が分らなくて困っています。
色々調べてたところ「'driver' => 'mssql'」では繋がらないみたいで、
代わりにodbc経由なら繋がるみたいな感じでしたので
odbcを設定し、isqlで接続できるところまで確認しました。
このodbcの設定をdatabase.phpにどのように記述したらよいのでしょうか?
CokePHPのバージョンは 1.2.6 です。
よろしくお願いいたします。
0934nobodyさん
2010/03/04(木) 18:10:50ID:???afterRenderだと$this->outputをいじるのは間に合わなかった気がする。
というわけで自分はafterFilterに一票。
0935nobodyさん
2010/03/04(木) 18:26:07ID:???最初はコンポーネントに書いて
http://d.hatena.ne.jp/kusakari/20080731/1217420095
http://d.hatena.ne.jp/ngtn/20080306/1204815561
この辺を参考にヘルパーからコンポーネントにアクセスしてたりしたのですが
あまりスマートなやり方ではないような気がして他の方法を模索しています
http://old.nabble.com/can-i-use-a-component-under-a-helper--td16730105r0.html
英文ですが、こちらで同じ質問が投げられていて「Vendorに書けば?」とか
「$this->set('component', $this->Component)とかにすれば?」とか書かれているようですが
英文があまり理解できずどれがベターなのかわかりません…
0937nobodyさん
2010/03/04(木) 19:33:55ID:???あー。以前あったなその状況。
キレイな解は思いつかなかった。
ヘルパーからコンポーネントにアクセスするか、dry無視して重複させるか
で、前者にしたな確か
0938nobodyさん
2010/03/06(土) 00:23:15ID:???そういう融通は効かないのか?
0939nobodyさん
2010/03/06(土) 01:33:46ID:???で、App::importか、もうしょっちゅう使うならbootstrap.phpでrequireしておいてもいいし。
コアライブラリのInflectorとかの扱いが参考になるのでは。
0940nobodyさん
2010/03/06(土) 04:53:46ID:???でもコントローラーやヘルパーの処理が重複しちゃう時がたまにあるのよねえ
0941nobodyさん
2010/03/06(土) 19:27:32ID:???ユーザーごとに、表示データを変更するにはBelongTo機能でしょうか?
【フィールド】
・本
・価格
・感想
【ユーザー】
・ユーザーA(4冊の本を登録)
・ユーザーB(6冊の本を登録)
上記のような形で、 全員のデータを表示したり、登録ユーザーごとのデータを表示したりとしたいのです。
0942nobodyさん
2010/03/06(土) 19:35:52ID:???そもそも根本的にリレーションというかデータベースを理解してなさそうだな。。。
とりあえず
users
books
reviews
の3テーブルで作り直すんだ
0945944
2010/03/06(土) 23:03:05ID:???http://www.awaresoft.jp/blog/4-cake-php/15-series-cakephp-3.html
ここで勉強したいと思います。
「Mysql以前」という本でデータベースの基礎を覚えた程度です。
データベース同士のリレーションをしっかりとmysqlの本で勉強はしていないので、
本屋行ってきます。
belongtoやhasoneなどは、「CakePHPによるWebアプリケーション開発」という本でかじったぐらいです。
0946nobodyさん
2010/03/06(土) 23:17:57ID:???勉強したらいいように思うけど。
0947944
2010/03/06(土) 23:23:48ID:???なるほど。Cakeベースでリレーションの基本を学ぶ方向で行きたいと思います。
ちなみに、>>945のリンクは普通のユーザー登録で、リレーションとは関係ありませんでした。。
cake リレーション、 および アソシエーション でググって勉強したいと思います!
0948nobodyさん
2010/03/08(月) 01:19:36ID:???Session.timeoutが120なので200分でセッションが切れることになります。
しかし、gc_maxlifetimeのデフォルト値1440秒(24分)以上経過すると1/100の
確率でセッションが切れるようです。
timeoutの値に応じてこの値を変更する処理をCakePHP側に仕込む、という
ような話がCakePHP内で出たことはあるでしょうか。それともこれは開発者が
自分で変更すべきという指針なのでしょうか。ご存じの方教えてください。
0949nobodyさん
2010/03/08(月) 09:49:22ID:qs9QxycI$cake bake
でModelを作成しようとして、進んで行き、
バリデートの作成で
「Would you like to supply validation criteria for the fields in your model? 」
と聞かれた際に「y」で先に進んだ際に、
バリデートの種類を選択できずに、(普通なら対話式で1 - alphaNumeric
等が選択できると思うのですが…)
普通に「Would you like to define model associations (hasMany, hasOne, belongsTo, etc.)? (y/n) 」
というアソシエーションの選択の質問に進んでしまうのですが、
なぜだかお解りの方はいらっしゃいますでしょうか?
0950nobodyさん
2010/03/08(月) 13:49:25ID:???model.validateが成功したらAuthComponentのログインをしたんですが、
方法が全然分りません。
すみませんが、誰かヒントでもいいんで教えて下さい。
0952950
2010/03/08(月) 17:05:53ID:???ユーザーID未入力や、パスワード未入力といった個別のエラーメッセージを表示したいんですね。
model.validateを、そのまま実装すると認証エラーのメッセージとvalidateのメッセージが同時に表示されてしまうので、
validateのメッセージだけを表示したいです。
0953nobodyさん
2010/03/08(月) 21:07:56ID:???ページ数とか求めることできないかな。
例えば 100件のデータがある場合
・現在の表示件数 min max
・前のページ < 1 2 3 4 5 > 次のページ
ってやりたいんだけど。
pear の pager 使って代用しているんだけど、重い。。。
0954nobodyさん
2010/03/08(月) 21:57:26ID:???こういうこと?
http://book.cakephp.org/ja/complete/164/Pagination/cakephp/cakephp1x
<?php
echo $paginator->counter(array(
'format' => '合計 %pages% ページ中の %page% ページ目です。
総レコード %count% のうち、 %start% 行目から %end% 行目までの %current% 行を表示しています。'
));
?>
0956935
2010/03/08(月) 22:37:46ID:???いろいろ参考になる情報ありがとうございます。
一応vendorに置く方向で作っていますが、毎回newしなければいけないのが不便と言えば不便ですね・・・
0958nobodyさん
2010/03/10(水) 00:50:34ID:???0959nobodyさん
2010/03/10(水) 03:27:30ID:???上記はbakeで作成されたHTMLヘルパーのlinkです。
このlink(__('Delete', true), 部分の (__ やtrueは何か意味があるのでしょうか?
普通に
$html->link('Delete','array('action' => 'delete',..... がマニュアルに書いてある書き方だと思うのですが。
どういう意味を持つのか気になって今夜は眠れません。
0960nobodyさん
2010/03/10(水) 03:33:05ID:???nero
0962nobodyさん
2010/03/10(水) 05:07:04ID:???0963nobodyさん
2010/03/10(水) 13:57:10ID:???http://book.cakephp.org/view/162/Internationalizing-Your-Application
ローカライゼーションのマニュアルを見ても説明が書かれておりませぬ。どなたかお助けを。
0964nobodyさん
2010/03/10(水) 14:02:52ID:???http://book.cakephp.org/ja/view/693/__
http://api12.cakephp.org/file/cake/basics.php#function-__
0965nobodyさん
2010/03/10(水) 14:26:37ID:???ありがとうございます!
「第 2 引数で自動的に文字列を echo 出力するか」 という意味なのですね。
ちょっと気になると頭がモヤモヤするのですが、おかげでスッキリです。
0966nobodyさん
2010/03/10(水) 18:53:31ID:???例えば、下記のようなイメージで動かせないかと思っているのですが、
うまくいきません。
【form側で渡す】
<?php
echo $form->create('Book');
echo $form->input('Book.name');
echo $form->input('Comment.comment');
echo $form->end('Submit');
?>
【コントロール側で複数モデルに入力】
class BooksController extends AppController {
var $uses = array('Book','Comment');
function edit() {
if (!empty($this->data)) {
$this->Book->save($this->data));
$this->Comment->save($this->data));
}
}
0968nobodyさん
2010/03/10(水) 19:20:49ID:???ありがとうございます! ハマリまくっていた問題が一気に解決した。。感激。
アソシエーションしているので下記になりました。
function edit($id = null) {
if (!empty($this->data)) {
$this->Book->saveall($this->data);
$this->redirect(array('action' => 'index'));
}
if (empty($this->data)) {
$this->data = $this->Book->read(null, $id);
}
}
上書きではなく、データ追加の動きになってしまったけど、一歩前進。
0969nobodyさん
2010/03/11(木) 14:57:27ID:???モバイル・PC関係なく表示されます。
view単位でのキャッシュもしくはキャッシュに引数(モバイルかPCか判別させる)を指定することはできますでしょうか?
0970nobodyさん
2010/03/11(木) 15:37:26ID:???モバイルとPCでURLは違うの?
キャッシュヘルパーはURL(正確にはビューの$this->here)を元にキャッシュファイル名を作ってるよ。
0971nobodyさん
2010/03/11(木) 17:20:25ID:???レスありがとうございます。
URLは一緒で変数($mobile)でviewを振り分けています。
Cache::writeでviewをきゃしゅするしか方法はなさそうですね;;
0972nobodyさん
2010/03/15(月) 18:25:42ID:5XgthJTCイマイチよく分かりません。
どなたか、詳しくご教授いただけないでしょうか?
環境
OS:MacOSX 10.5(Leo pard)
MAMP + PDT を使用して開発環境を構築したいです。
Cakeのバージョンは1.2。
0973nobodyさん
2010/03/15(月) 18:39:53ID:???0974nobodyさん
2010/03/15(月) 19:41:18ID:???1 DreamWeaverなどを使用するか
2 手打ちでやる
3 HTMLヘルパーを使った手打ち
私は初級者なので1のやり方でいこうと思っていたのですが、
プロの方にDWよりマニュアルで書くのを覚えたほうが正式なフォーマットで
書けるから後々楽だと言われました。最初は難しいけど、覚えれば簡単だと。
そうは言ってもDWなどで直感的にサクサク作れるほうが圧倒的に早いのでは
ないかな?とも素人として思っちゃうのですが、どうでしょうか?
HTMLヘルパーを駆使したなら、かなり手打ちが楽になるのでDWと同じぐらい
早くなるかもとも思ったりしますが、ヘルパーは重くなったりして実際使われていない
と聞いたこともあります。
0975nobodyさん
2010/03/15(月) 19:53:51ID:???DWをお勧めしない理由として、正式なフォーマットで書けないから。
正式なもので書けないと、異なるブラウザで表示が変わるようになってしまうと言われました。
0976nobodyさん
2010/03/15(月) 20:22:51ID:???僕は全部DWでやってるけどね。
とりあえず表示する レベル までならcakephpのヘルパーや手打ちでいけるかもしれないけど
ある程度凝ったデザインしようと思うとDWが使いやすい。
ヘルパーを優先的に使いながら 1 の dw を使用 がベストだと思われます。
0977nobodyさん
2010/03/15(月) 20:51:48ID:???smartyと併用、っていう方は多いんですか?
phpはcakeから始めたのですが、いまいちsmartyを使うメリットが見えないんです。
0978nobodyさん
2010/03/15(月) 20:53:42ID:???取るなら、初習の段階でDW(のレイアウトビュー)に頼るのは
なるべくやめといたほうがいいよってアドバイスすることが多い。
確かにいろいろわかってるなら便利なツールにもなりうるんだけど。
0980nobodyさん
2010/03/15(月) 21:37:08ID:???0981nobodyさん
2010/03/16(火) 04:05:43ID:???smartyってメリット無いと思うけど。
今はデザイナでもflashやphpやらなきゃいけない状況だし、無駄にややこしいsmarty覚えるならphp覚えたほうがいい。
0982nobodyさん
2010/03/16(火) 11:43:46ID:???実に些細な点だけど、気持ちいいんだなこれが。
<?php echo $var['example']; ?>
<?php e($var['example']); ?>
{$var.example}
0983nobodyさん
2010/03/16(火) 15:04:11ID:???smarty無しでsmarty並にすっきりするけれど、XHTML行頭のXML宣言で引っかかる
0984nobodyさん
2010/03/16(火) 16:44:27ID:???>>981
下手にPHPをわかってるデザイナがテンプレート内で無茶なことをしないようにSmartyを採用するというのは聞いたことがある
できあがった点プレをプログラマーが軽くチェックすればすむ話だとは思うけど
>>983
short_open_tagは使わないのがセオリーだとおもう
0985nobodyさん
2010/03/16(火) 17:23:16ID:???あとcakeならヘルパー使ったりすることになったらsmarty使っても結構ぐちゃぐちゃになってしまいそうな
気がするんだけど。
smartyの見た目のすっきりさは好きだけど、
かけた手間の分ほどすげースッキリするっつうわけでもないかな。と思ってる。
0986nobodyさん
2010/03/16(火) 17:25:21ID:???0987nobodyさん
2010/03/16(火) 22:33:02ID:???重いし,結局やることやらなきゃいけないし,(x)htmlじゃないし。
blitz みたいなエクステンションが標準になればいいのに。
0988nobodyさん
2010/03/17(水) 18:57:13ID:???model view controllerのどこででも使う処理をvendorじゃなくてbootstrapに書くのは駄目かな?
cookbookにはbootstrapは「便利関数の定義」などに使うべきだと書いてあるんだけど、
この「便利関数」っていうのは、こういうどこでも使う処理のことだよね?
http://book.cakephp.org/ja/view/954/Bootstrapping-CakePHP
bootstrapにあんまりいっぱい書くとわけわかんなくなりそうだけど、ブラウザ判定程度のものなら大丈夫かな、と
0989nobodyさん
2010/03/17(水) 20:29:56ID:???0991nobodyさん
2010/03/17(水) 20:47:51ID:???0992991
2010/03/17(水) 20:54:08ID:???なら使うときは
Hoge::method();
とかね
0993nobodyさん
2010/03/18(木) 08:05:51ID:???ここには何をいれるの?
vendorsとの違いは何??
0994nobodyさん
2010/03/18(木) 09:17:55ID:???0995nobodyさん
2010/03/18(木) 10:04:35ID:???http://pc11.2ch.net/test/read.cgi/php/1268874059/
どぞ
0996nobodyさん
2010/03/18(木) 12:25:34ID:???梅!
0997nobodyさん
2010/03/18(木) 12:32:33ID:???0998nobodyさん
2010/03/18(木) 15:51:47ID:???0999nobodyさん
2010/03/18(木) 16:37:32ID:???| |
\_/
__|___
/ \
/ \
l |
( |
\ 〃_/
>'⌒ ̄ ̄、,\
/ \
/ ィ ,ノ'ヾ ヽ
( / ), l
) ノ _,/ 、,, |
/⌒ ̄ ̄ ̄ |
l 、_ ,ノ ,/
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
. └┬:‐┬───┬‐────┘
ノ ,‐‐,) 丿,‐‐,) ┼ヽ -|r‐、. レ |
(,∠/ (,∠/ d⌒) ./| _ノ __ノ
1000nobodyさん
2010/03/18(木) 17:18:40ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。