【PHP】フレームワーク CakePHP 9ホール目【v1.3】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/07/23(金) 09:13:26ID:v3m09M9uCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0771nobodyさん
2010/10/08(金) 20:46:10ID:???paginate() paginateCount()はquery飛ばさなきゃいけないってわけでもないでしょ
0772nobodyさん
2010/10/08(金) 21:13:20ID:???マニュアルにバッドノウハウ書いてあるとか?
暗号化されてないデータをむやみにcontrollerに渡したくないんでしょ
0773nobodyさん
2010/10/08(金) 21:19:28ID:???それがPHPって言語の文化だろって言われたらそれまでだけど。
0775nobodyさん
2010/10/09(土) 14:58:31ID:???リファレンスじゃなくて完全に関数説明だけだった・・・
0778nobodyさん
2010/10/10(日) 11:37:36ID:???0780nobodyさん
2010/10/10(日) 13:50:41ID:???0781nobodyさん
2010/10/10(日) 14:01:37ID:???逆引きリファレンスっぽいのを期待してたんじゃない?
単純に関数の説明だけならcook bookでいいじゃん!ってことかな
0782nobodyさん
2010/10/10(日) 16:26:14ID:???id, name
- posts
id, name
- posts_tags
id, post_id, tag_id
- アソシエーション
Post hasAndBelongsToMany Tag
Tag hasAndBelongsToMany Post
PostsTag belongsTo Post
PostsTag belongsTo Tag
こんな感じのテーブルとアソシエーションで
記事(post)に複数つけられるタグ(tag)の機能を実装すると期待通りに動作します。
ここで例えばタグのうちひとつを代表タグとして扱いたいとします。
そこで以下のようなテーブル変更とアソシエーション追加を試みたのですが
アソシエーションがぶつかって(?)bakeで焼かれたままのコードでも挙動がおかしくなります。
- 変更されたposts
id, name, tag_id (代表タグ用に追加)
- 追加されたアソシエーション
Post belongsTo Tag
Tag hasMany Post
たぶん発想が良くないんだと思いますが、一般的にこのような場合、
どういうアプローチで代表タグ(複数ひもづくタグのうち一つをメインにしたい)
を実装するのがベターでしょうか。
0783nobodyさん
2010/10/10(日) 17:09:24ID:???そう。そういうこと。
俺がこれまで買ってたリファレンス系は、だいたいその仕組みだったからさ。
あと、amazonで買ったから中身見られなかった。
こういう時に、中身検索があれば・・・
0784nobodyさん
2010/10/10(日) 17:17:29ID:???追加するアソシエーションはPost hasOne Tagじゃないかな?
ただ、どっちにしろアソシエーションを複数指定するのは避けられないので、
main_tagsテーブル(id, post_id, tag_id)を作って、Post hasOne MainTag、MainTag belongsTo Tagにすればいいんでない?
あとはtagsテーブルにmain_tag_flagを指定するとか?
0785nobodyさん
2010/10/10(日) 17:17:35ID:???混みいった質問は、フォーラムでするほうがいいんじゃないかな。
この場合は、『モデル』カテゴリかな…。
http://cakephp.jp/modules/newbb/viewforum.php?forum=6
0786nobodyさん
2010/10/11(月) 02:33:23ID:Gg2rGqpO'ModelA'=>array(
'fields'=>array(・,・)),
'ModelB'=>array(
'fields'=>array(・,・)))
てページネーションに複数モデルセットして出しても、なんか知らないがModelBの方のfieldsが効かないんですよ。
Aは効くんだけど。
誰かご存じの方いらっしゃらない?
0787nobodyさん
2010/10/11(月) 13:42:26ID:???$this->paginate('ModelA');
でデータ抽出してるんでしょ?
だったら、ModelA以下の設定しか使われない。
fieldの指定を、ModelA.field とか ModelB.field にしたらいいじゃないかと。
0788nobodyさん
2010/10/11(月) 17:47:31ID:???0789nobodyさん
2010/10/11(月) 17:54:41ID:???0790nobodyさん
2010/10/11(月) 18:07:16ID:???http://username.example.com/ とかできるの?
0791nobodyさん
2010/10/11(月) 18:16:27ID:???0792nobodyさん
2010/10/11(月) 19:17:19ID:???Windows
PHP5.3
cakephp1.3.4
http://localhost/~cakephp/って感じでapacheにuserdirを設定したのですが
cakephpが動かないためcakephpのトップに入っているhtaccessにrewrite base /~cakephp/って設定しました
そしたら動いたんですがこれで合ってますか?
あとサブディレクトリにhtaccessが2つも入ってますがそこにもrewrite base /~cakephp/を入力して何回かアクセスしたらエラーになりました
htaccessって全部修正するのでしょうか?
0793nobodyさん
2010/10/11(月) 20:01:30ID:???右下にCAKEPHP POWERって画像が表示されるんですけど
自分で一から書いたHTMLを読み込ますのはどうやるのでしょうか?
0795nobodyさん
2010/10/11(月) 20:53:57ID:???http://book.cakephp.org/ja
0796nobodyさん
2010/10/11(月) 20:54:30ID:???おすすめのCakePHPの本を教えてください
0797793
2010/10/11(月) 21:09:47ID:???解決できました
default.ctpっていうファイルを作ってlayoutフォルダに入れたらいいみたいでした
0798nobodyさん
2010/10/11(月) 21:18:50ID:???サブドメインは超余裕
>>792
apacheいじれるのなら/app/webrootをルートにするんだ
ルートに置かないと後々問題出やすい
>>793
チュートリアルやれ
>>796
1.3対応書籍は不作だから公式のbookがいいぞ
どうしても本が欲しいなら、ガイドブックの1.2版がおすすめ
>>797
素晴らしい、その調子だ
0799nobodyさん
2010/10/11(月) 21:27:09ID:???0800nobodyさん
2010/10/11(月) 21:30:01ID:???cakephpの場合はどれが出来るようになればいい雰囲気になれますか?
0801nobodyさん
2010/10/11(月) 21:36:57ID:???0802nobodyさん
2010/10/11(月) 21:43:31ID:???認証、フォーム使った入出力、モデルの読み書きとバリデーション、
複雑なSQLをModelクラスのメソッド使って組み立ててみる、
ぐらいが一通りできればあとは応用でなんとかなるような気がしないでもない。
ただ、単に「できる」のではなく内部的にどういう処理順序で
物事が進んでいくかを把握してないとダメだと思う。
フレームワークって何でもそうだと思うけど。
0803nobodyさん
2010/10/11(月) 21:51:05ID:???フレームワークは初めてなので頑張って覚えます
0804nobodyさん
2010/10/11(月) 22:00:17ID:Y80mjYyFclass HelloController extends AppController{
var $name = 'hello';
var $uses = null;
function index(){$this->set('sample_text', 'Hello World!!');}
}
■app/views/index.ctp
<p><?php echo $sample_text ?>
入門用でHello World!!を表示できる所まで出来ました。
この場合MVCのVCしか使ってないと思うのですが、
データベースを使わない条件の時にMはどうやってファイルに書くのでしょうか?
0805nobodyさん
2010/10/11(月) 22:09:17ID:???モデル内で
var $useTable = false;
データベースを使わないメールフォームの処理などでよくやる処理
0806nobodyさん
2010/10/11(月) 22:25:25ID:???<?php
class hello extends AppModel
{
public $name ='hello';
public $useTable = false;
}
hello_controller.phpの$this->set('sample_text', 'サンプル');というのを↑hello.phpに書くというのは
できないのでしょうか?
ModelなのでデータをModelのファイルに書きたいと思いました。
0808nobodyさん
2010/10/11(月) 23:25:25ID:???0809nobodyさん
2010/10/11(月) 23:29:49ID:???0810nobodyさん
2010/10/12(火) 00:07:31ID:???0813nobodyさん
2010/10/12(火) 11:18:49ID:???フレームワーク初心者でも分かりやすいやつをわかりや
0814nobodyさん
2010/10/12(火) 13:13:16ID:???0815nobodyさん
2010/10/12(火) 13:14:36ID:???0816nobodyさん
2010/10/12(火) 13:28:20ID:???PHP自体はどの程度できるの?関数とクラスはわかってる?
0817nobodyさん
2010/10/12(火) 13:28:59ID:???0818nobodyさん
2010/10/12(火) 13:30:04ID:???0819nobodyさん
2010/10/12(火) 13:42:53ID:???簡単な掲示板とか作れるくらいの最低限の知識がないと触れない
ブログチュートリアルが終わってから何すればいいのかわからないって悩みなら共感できるけどね
0820nobodyさん
2010/10/12(火) 13:43:50ID:???0821nobodyさん
2010/10/12(火) 14:37:20ID:???使ってみて「おっいいね」と思った時だけ使えばいい
0822nobodyさん
2010/10/12(火) 14:48:17ID:???0823nobodyさん
2010/10/12(火) 14:59:31ID:???0824nobodyさん
2010/10/12(火) 15:07:21ID:???CookBookは文字が小さくてつらい。
で、画面を拡大すると、右側にはみ出した文字が
消えてしまう。
Firebugで原因を突き止め、
#content{
overflow: hidden;
}
を
#content{
overflow: visible;
}
に変えてくれるようにMark Storyさんにメールだした。
で、『I'll see what I can do about that.』と返事が来た。
でも、いまだに直っていない。
…待ってる。……ずっと…、待ってる…(つД`)
0825nobodyさん
2010/10/12(火) 15:12:01ID:???0826nobodyさん
2010/10/13(水) 09:37:00ID:???0827nobodyさん
2010/10/13(水) 15:06:31ID:???0828nobodyさん
2010/10/13(水) 16:15:45ID:???0829nobodyさん
2010/10/14(木) 20:47:39ID:???簡単すぎてどこかでバグや不具合が出ないか不安・・・
一応、今まで作ったファイルを元にしたけど
0830nobodyさん
2010/10/14(木) 21:37:08ID:???フレームワークが勝手に余計なことをしていないかどうかだよな
0831nobodyさん
2010/10/14(木) 21:40:50ID:???0832nobodyさん
2010/10/15(金) 11:29:10ID:???エレメントにデータを渡したいんですが、
http://book.cakephp.org/ja/view/560/Passing-Variables-into-an-Element
ここの始めにあるサンプルコードは、どのファイルに書けばいいんですか。
0835nobodyさん
2010/10/15(金) 12:56:11ID:???0836nobodyさん
2010/10/15(金) 18:22:40ID:???更新ボタンを押して繰り返すとログイン出来る時があるのですが、
これってモデルのキャッシュ(app/tmp/cache/models)が影響してるんですかね?
beforeFilterで $this->User->create() を入れてモデルを初期化したら
今のところ、上記のような動作にならないのですが。
(モデルキャッシュを削除するのに、この方法で良いかは分かりませんが・・・
0837nobodyさん
2010/10/15(金) 18:56:44ID:???$html->link
と
$this->Html->link
どっちが推奨なのかな?
後者のほうが、変数名が衝突しなくてよさそうだけど。
0838nobodyさん
2010/10/15(金) 19:47:34ID:???CakePHPのテンプレートの中で$htmlという変数名を見たら
10人中9人がHtml helperのことだと思う。
その変数名を別のことに使おうという発想自体いただけない。
考慮する必要もない。
0840nobodyさん
2010/10/16(土) 10:32:49ID:???0841nobodyさん
2010/10/16(土) 10:47:47ID:???0842nobodyさん
2010/10/16(土) 12:13:21ID:???0843nobodyさん
2010/10/17(日) 16:51:23ID:/5W8QVHNみんなどうしてる?
0844nobodyさん
2010/10/17(日) 17:13:08ID:???0845843
2010/10/17(日) 18:22:28ID:/5W8QVHN(TranzactionもsaveAllの中では自動)
3,4階層はTranzactionはってsaveするしかないですよね。
>>844
なるほど、2階層までですね。
0846nobodyさん
2010/10/18(月) 02:21:51ID:???0847nobodyさん
2010/10/18(月) 08:30:07ID:???なんというかバージョンはあてにならん。
0848nobodyさん
2010/10/18(月) 12:01:33ID:???0849nobodyさん
2010/10/18(月) 13:09:32ID:???0850nobodyさん
2010/10/18(月) 16:26:16ID:???0851nobodyさん
2010/10/18(月) 16:27:39ID:???このリビジョン部分が変わってんじゃないの?
svnで管理されてるんだから気になるならリポジトリ入って見てみろよ
0852nobodyさん
2010/10/18(月) 22:49:35ID:???例えばの話、
elementAで
i++;
elementBで
i++;
と定義しておいて、elementAを2回、elementBを1回呼んだとした場合、
iを参照して3という値を取りだしたいのです。
0853852
2010/10/18(月) 22:53:25ID:???案としてsession変数を使用したのですが、viewからはSessionに書き込めないとのエラーとなりました。
代替の手段ありましたらお教え頂ければと思います。
0854852
2010/10/18(月) 22:59:34ID:???ヘルパー内にpublicな変数を定義しておけば、element間で共有参照できます。
ありがとうございました。
0855nobodyさん
2010/10/19(火) 16:16:01ID:???0856nobodyさん
2010/10/19(火) 20:42:14ID:???0858akiyan
2010/10/20(水) 00:32:48ID:???改めて言うのも照れてしまうけれど花金明け土曜日0時なら俺は言える
「CakePHPこそフレームワークの完成形だと」
The Standard Languageの座を揺るぎないものとしたPHP
20世紀エンジニア達の知の結晶とも言うべきMVC
ここにRuby on Railsというスパイスが加わってCakeは生まれた
全くこれは何だっていうんだい 奇跡なんて陳腐なもんじゃない
おそらくはCOBOLが生まれた時点でPHPの誕生は決定済みであったろうし
Rubyは図らずもCakeの為に作られたと言っていいんじゃないか
RubistやDHH、それに20世紀を生きた全てのエンジニア達が費やした途方もない時間
それらはすべてCakeに繋がった Cakeのために彼らの汗が流された
逆じゃないんだ Cakeは結果じゃない
Cakeが始まりであって、Cakeの生誕のためにRailsがあり、Rubyがあった
20世紀を生き、そして21世紀に歩を進める全てのwebに関わるエンジニアのための心臓、それがCake
俺はCakeの時代に現役でいられたという事を誇りに思うだろう
死ぬ間際に息子と娘と孫と妻、そしてCakeの事を思うだろう
あぁCakeよCake お前は俺の中にあるし、Cake内部にも俺がいる
うまく言葉にできねぇな、とにかくCakeはもう21世紀エンジニアの魂だ
そして最後に
最愛の妻と友人、そしてペニーオークションに幸あれ
0859nobodyさん
2010/10/20(水) 00:56:30ID:???0860nobodyさん
2010/10/20(水) 09:07:36ID:???0861nobodyさん
2010/10/20(水) 11:51:56ID:???0862nobodyさん
2010/10/20(水) 14:17:04ID:???0863nobodyさん
2010/10/20(水) 22:49:55ID:???妻と友人に感謝するのはオライラー
0864nobodyさん
2010/10/20(水) 23:25:38ID:???0865nobodyさん
2010/10/21(木) 13:20:54ID:???0866nobodyさん
2010/10/21(木) 20:28:38ID:???0867nobodyさん
2010/10/21(木) 21:00:33ID:???0868nobodyさん
2010/10/21(木) 21:04:18ID:???0869nobodyさん
2010/10/22(金) 09:27:32ID:???0870nobodyさん
2010/10/22(金) 10:06:25ID:???■ このスレッドは過去ログ倉庫に格納されています