【PHP】フレームワーク CakePHP 7ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/01(火) 16:12:06ID:XVdxsVut※sage推奨
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
thechaw
http://thechaw.com/projects
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
CakeMatsuriTokyo2009
http://matsuri.cakephp.jp/
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:???で、コーディングしてくとどうしてもコードが煩雑になる。
なのでそれをモデルにまとめたいんだが、まとめようとすると
「モデルから他のモデルを読み出す」 処理が必要になる。
モデルから他のモデルを読み出すのはやっぱりよくないのかな。
こういう場合はコントローラー多少煩雑になってもコントローラー内で処理を終わらせるべきか、
コントローラーが煩雑になりそうだったらモデルからモデルを読み出す処理をした方がよいのか。
どっちがいいんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています