のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,669,305人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【PHP】フレームワーク CakePHP 13ホール目【v2.0】

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
251 : nobodyさん - 2011/12/15(木) 11:46:40.70 ID:??? (+53,+16,-49)
またCakeの関数と重なるアクション名を付けてうまく動かなかったよ
すぐ参照できる一覧とかねーのかよ
つーかPHPてnamespaceないわけ?なにこの糞言語
252 : nobodyさん - 2011/12/15(木) 12:26:04.28 ID:??? (+9,-30,-113)
>>251
PHP5.3以降ではnamespace使えるけど、
Cake2.0は動作環境にPHP5.2系も入れてるので互換性のために仕方ない部分もあるのでは。

FuelPHPみたいに最初からPHP5.3以降で作られてるやつはコアでnamespaceサポートされてたりするし。
253 : nobodyさん - 2011/12/15(木) 13:24:42.38 ID:??? (+58,+30,-39)
PHPって後からつけたしつけたし、つぎはぎみたいな言語だし
フレームワークは苦労するわな
254 : nobodyさん - 2011/12/15(木) 17:12:04.31 ID:??? (+10,-29,-63)
>>250
やっぱそうなのか
一つのモデルに対して、同名のコントローラーとコンポーネントを作れると名前がそろっていて綺麗なんだがなあ・・・

たとえばUserModelに対してeat_cake_countをアップデートする処理とかはUserComponentに書きたい
そういうときはUsersComponentって名前にすればいいのかな
なんかその辺のコンポーネントの分け方(ネーミングルール)のセオリーみたいなのがよくわからないんだよね
UpdateComponentって分け方にすると、とんでもなく巨大なファイルになりそうだし
255 : nobodyさん - 2011/12/15(木) 17:32:59.52 ID:??? (+57,+29,-22)
それはモデルに書くべきじゃないの?
コントローラーは薄く、モデルは厚く
256 : nobodyさん - 2011/12/15(木) 18:14:13.62 ID:??? (+5,-29,-29)
>>251

せめて

function actionIndex()
function actionView()

みたいな作りになってればいいんだけどね。
257 : nobodyさん - 2011/12/16(金) 13:25:33.43 ID:??? (+116,+28,-19)
Modelの中身が突如出力されだしたんですが消し方知ってる方いませんか?
258 : 257 - 2011/12/16(金) 13:34:08.67 ID:??? (-1,-29,-16)
自己解決 <php がありませんでしたw
259 : nobodyさん - 2011/12/16(金) 19:10:30.97 ID:??? (+4,-29,-60)
1つのレコードの1つのカラムを更新したい場合、
findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
260 : nobodyさん - 2011/12/16(金) 21:55:12.50 ID:??? (+0,-23,+0)
<php じゃ動きません
261 : nobodyさん - 2011/12/16(金) 22:46:31.07 ID:??? (+63,+30,-141)
一人で開発する分にはフレームワークいらない
CakePHPだと逆に遅くなる。
PHPは頭よりも手を動かしてなんぼだと思う。
フレームワークは頭を動かす比重が大きくなる。
設計部分が特にそう。
極端に言えば変数が上書きされないようクラス化しておけば実運用では問題ない。
スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
関数の共通化を考える時間があれば手を動かしてた方がいい。後でリファクタリングで十分。
262 : nobodyさん - 2011/12/16(金) 23:38:25.39 ID:??? (+57,+29,-34)
一生のうちPHPで書くアプリケーションが3つほどまでで、書き直しを一切しないというなら完全に同意してもいい
263 : nobodyさん - 2011/12/17(土) 00:03:51.26 ID:??? (+57,+29,-27)
>スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
ワロタ
学生の課題ならそれでいいんじゃね
264 : nobodyさん - 2011/12/17(土) 06:04:20.02 ID:??? (+7,-30,-130)
セッションが設定した時間内で切れてしまうのですが、
原因として何が考えられますか?

core.phpでは以下のようになっています。
Configure::write('Session.timeout', '31536000');
Configure::write('Session.start', true);
Configure::write('Security.level', 'low');

ちなみに、サーバーにアップロードすると自動的に切れてしまうのですが、
ローカルでは大丈夫(もしくは切れるまでの時間が長い)なんですよね・・・
265 : nobodyさん - 2011/12/17(土) 06:11:18.00 ID:??? (+3,-30,-51)
Configure::write('Session.save', 'php');
Configure::write('Session.checkAgent', true);
あと関連しそうな設定は上記になっています。忘れていました。
他のsession関連の設定はコメントアウトされています。
266 : nobodyさん - 2011/12/17(土) 09:24:53.68 ID:??? (+18,-29,-60)
1つのレコードの1つのカラムを更新したい場合、
findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
267 : nobodyさん - 2011/12/17(土) 11:42:27.08 ID:??? (+39,+3,-13)
>>266
findする意味がわかんないんだけど。
saveするだけが一番早いだろうに。
268 : nobodyさん - 2011/12/17(土) 14:55:06.91 ID:??? (+7,-30,-58)
select id from posts where user_id = 3;
update posts set title = 'hogehoge' where id = 5;



update posts set title = 'hogehoge' where user_id = 3;

さてどっちが速いかね
269 : nobodyさん - 2011/12/17(土) 15:59:01.03 ID:??? (-1,-29,-15)
user_idがユニークでインデックスあたってれば、後者のほうが速そう
270 : nobodyさん - 2011/12/17(土) 18:54:27.72 ID:??? (+6,-26,-11)
>>267
findしないと、idがわからない
271 : nobodyさん - 2011/12/17(土) 18:58:31.20 ID:??? (+0,-29,-22)
>>268
後者が速いよな。
CakeではupdateAllか。それ以外方法ないよな?
273 : nobodyさん - 2011/12/17(土) 21:10:11.26 ID:??? (-12,-29,-12)
>>272
debugが0なら消える
275 : nobodyさん - 2011/12/18(日) 18:19:44.28 ID:??? (+80,+29,-67)
>>223
どこが遅いかの原因解明をまず行うべきです。

SQLレベルなのか、画面描画なのか、CakePHPのせいなのかetc
ユーザー数増加によるアクセス過多も問題になることはありますね。
根本的に解決しない可能性もあります。
276 : nobodyさん - 2011/12/18(日) 18:27:15.86 ID:??? (+3,-29,-66)
>>259
やりたい事をそのまま2つの処理で書いて、debugでSQLが出力されますので、
それをMySQLのオプティマイザーなどの時間が計測できる機能で実際に試してみては?

レコード数の多い・少ないにも関連しそうなので、
テストする際には1か月後、1年後などの予測されるレコード数で実行することを忘れずに。
277 : nobodyさん - 2011/12/19(月) 21:46:59.93 ID:??? (+11,-30,-93)
HABTAMで関連付けられた、投稿-タグのテーブルの検索ってどうやるんでしょうか。
やりたいことは、特定のタグを持った投稿を取得する、という単純なものです。
配列は以下のようになっていて、ConditionにTag.name => $tagname などとしても取得できませんでした
Array
(
 [0] => Array
  (
   [Post] => Array
    (
     [id] => 60089
     [message] => testtest
    )
   [Tag] => Array
    (
     [0] => Array
      (
       [id] => 8
       [name] => タグ1
       [PostTag] => Array
        (
         [id] => 26
         [post_id] => 60089
         [tag_id] => 8
        )

      )
     [1] => Array
        :
        :
    )
  )
278 : nobodyさん - 2011/12/19(月) 22:57:47.33 ID:??? (+31,-29,+0)
>>277
Set::extract使うべし
279 : nobodyさん - 2011/12/20(火) 05:19:51.29 ID:??? (+50,+27,-2)
え、そういう問題?
280 : nobodyさん - 2011/12/20(火) 11:14:14.85 ID:??? (+59,+27,-30)
>>278
SQLでとってくる方法はないですか?
「タグ1と関連づいた投稿を全て取得する」というfindができれば教えてほしいんですが、、、
281 : nobodyさん - 2011/12/20(火) 11:48:28.25 ID:??? (+68,-30,-67)
Cakeってさ、findでデータ取ってきた時に
モデル名のキーが頭に付くのがジャマでしょうがないよね
仕方ないからいつもこうやってる
$data = $this->find( ....
$data = $data['モデル名'];
282 : nobodyさん - 2011/12/20(火) 12:16:02.08 ID:??? (+0,-29,-19)
>>277
findするときに、joinsオプション使って明示的にJOINする
283 : nobodyさん - 2011/12/20(火) 12:36:01.65 ID:??? (+36,+10,+0)
>>281
よくやる。
284 : nobodyさん - 2011/12/20(火) 14:59:31.58 ID:??? (+11,-30,-71)
>>281
俺は↓する
$data = $this->User->find('all');
$user_data = $data['User']

これだとどのモデルか分かりやすいし。
ただし、アソシエーション使ってる場合などは、適切でないかも。
285 : nobodyさん - 2011/12/20(火) 16:07:14.62 ID:??? (+2,-29,-26)
>>281
$this->data = $data
ってやると、formヘルパーの値valueに自動でセットするためにキーがついてからね。

おれはあんまり気にしたことがない。
286 : nobodyさん - 2011/12/20(火) 17:30:41.74 ID:??? (+33,-30,-48)
>>284
find('all');ってテーブルの全レコード取り出してるの?
あんまりそういう機会ないなあ
あとfind('all')だと配列が返ってくるから、2行目はエラーになるんじゃないか
287 : nobodyさん - 2011/12/20(火) 17:36:47.14 ID:??? (+67,+29,-31)
>>281
じゃまくせえとは思うけどアソシエーションを考えると仕方ないなと思ってそのまま使ってる
288 : nobodyさん - 2011/12/21(水) 08:45:16.75 ID:??? (+32,-29,-2)
CakeEntity使えよ。色々捗るぞ
289 : nobodyさん - 2011/12/21(水) 10:15:07.10 ID:??? (-1,-30,-48)
>>264だけど、
Configure::write('Session.timeout', '31536000');
↑これってセッションファイルが破棄されるまでの時間じゃないのかよ!!!ややこしすぎ
290 : nobodyさん - 2011/12/21(水) 13:07:35.76 ID:??? (+62,+29,-4)
>>286
あくまで例を書いただけだが・・・
291 : nobodyさん - 2011/12/21(水) 14:24:31.11 ID:??? (+62,+29,-29)
>>288
紹介している人のブログ見たけど、いまいち何が捗るのか分からん
別に配列で指定しても見た目で分かるじゃん。
292 : nobodyさん - 2011/12/21(水) 14:41:31.77 ID:??? (+52,+29,-1)
そんなんだからぺちぱーなんだよ
293 : nobodyさん - 2011/12/21(水) 14:45:23.68 ID:??? (+52,+29,+0)
ぺちぱーってなんですか
294 : nobodyさん - 2011/12/21(水) 14:57:27.19 ID:??? (-11,-29,+0)
PHPer
295 : nobodyさん - 2011/12/21(水) 23:18:44.66 ID:??? (-1,-29,-30)
パーラー(Pearler)ほど洒落た言い回しではありませんね。
296 : nobodyさん - 2011/12/21(水) 23:35:54.39 ID:??? (+62,+29,-157)
APIにアクセスしたりするメソッドってどこに書けばいい?
複数のモデルとコントローラーから利用する予定だけど、クラスとしてLibに置いた方がいいのか
APIからデータを持ってくるところまでモデルとして扱っちゃった方がいいのかで迷っている。

http://www.multiburst.net/sometime-php/2009/01/cakephp-rakuten-webservice-genrecode/
この人はモデルに書いてるけど、外部のライブラリを使うわけで無ければモデルとして書いちゃった方がいいのかな。
297 : nobodyさん - 2011/12/22(木) 16:13:09.95 ID:??? (+0,-28,-67)
ログインの実装のデファクトスタンダード的な方法ってあるの?
ログイン維持しておくのはセッションで?クッキーで?
セッションなりクッキーにユーザーIDだけ保存する?ユーザー情報も保存しておく?
298 : nobodyさん - 2011/12/22(木) 16:20:05.12 ID:??? (+41,+18,-4)
ユーザー情報って具体的に何?
299 : nobodyさん - 2011/12/22(木) 17:12:31.58 ID:??? (+57,+29,-45)
セッションで。名前とか権限とかよく使いそうなデータもいっしょにセッションに入れておく。
300 : nobodyさん - 2011/12/22(木) 17:51:46.44 ID:??? (+0,-28,-22)
AuthComponentだと、usersテーブルの情報だけ持ち回してくれるんだっけ?
その都度SQL叩いてるんだったか、どっちだったか忘れた。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について