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

元スレ【PHP】フレームワーク CakePHP 4ホール目【v1.2】

php覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

101 = :

1.2のスライドにも、モデルが薄く、
コントローラが厚くなってしまうのが
問題って書いてあるな。
わざわざスライドにしてるってことは、
1.2で改善されるんやろか?

102 = :

問題なのは、フレームワークじゃなくて、
そういうコードを書くなってことだろう。

103 = :

>>100
> コントローラだと何でも出来ちゃうから
> 結局コントローラが厚くなってしまうんだよな

似たような話。

関数作らなくても何でも出来ちゃうから
結局コードが長くなってしまうんだよな。

結局だ、単なる経験の問題。
経験をつめば自然といいコードが書けるようになるよ。

104 :

どれだけ頑張っても
ModelとControllerの厚さを同じくらいにまでしか
もっていけねえw
強引にモデルにもっていけなら別だけどw

105 = :

初歩的な質問なんだけど、WEBのフォームから渡された値って、
基本的にモデルのvalidatesで全部チェックしていいんもんなんですか?

例えば、会員の新規登録でパスワード(password)と
パスワード確認(password2)を比較して同一かチェックするとか。

106 = :

規約に同意するかどうか、とかもモデルのバリデーションでやってます。

107 = :

「CakePHPガイドブック」ってもう廃刊なのですか?
去年末に発売したばっかりなのになぜ?

108 = :

内容が基本的に1.1だからでは?
フレームワーク本としては、かなりいい本。

109 = :

1.2RC2の話。

1.2からbehaviorsのattach/detachができるって、
あちこちに書いてあるけど、最近仕様が変わってるっぽいね。

よく書いてあるのが、コントローラで$this->Model->attach(ビヘイビア名)。
でも今は$this->Model->Behaviors->attach(ビヘイビア名)
間に、Behaviors(BehaviorCollection)が入ったようだ。

110 = :

チラシの裏

どうも、RC2にしてからユニットテストでメモリ不足と言われる。
メモリ制限をゆるくすればいいのだが腑に落ちない。

それで調べてみると、なんとアサーション一つにつき40KBぐらいも消費していた。
アサーションの数が3000個だと120MB。そりゃ足りないって言われるわなw

それでコードを追ってみてみると
/cake/tests/lib/cake_reporter.phpの関数
(特によく呼ばれるのはpaintPass)の中のob_start();が原因。

なんか知らんが、ob_start();を一回呼び出すとそれだけで40KBも消費する。
ob_end_flush()を呼び出すとメモリは解放されるっぽいけど、
どうもこのクラスの中では呼び出していない。(どこか他で呼び出しているの?)

そしてアサーション一つごとにob_startが連続して呼び出されることになる。

ob_startごときで40KBも消費するのも、変な感じだが
このob_startっているんだろうか?前のリビジョンのコードには存在しなかった。
とりあえず取ってみたが変化はわからない。
現在リファクタイリング中みたいだからそのうちどうにかされるのかもしれない。

111 = :

>>106
そういうもんなんですね。
どもです。

112 = :

findNeighboursで1テーブルから前のID,後のIDを↓のように取得しています。

$where = array('hogekb =' => 1);

$this->set('nei_kekka', $this->Nani_table->findNeighbours($where,"Nani_table.id",$id));

ここに1テーブルjoinさせたいのですが、
以下のように設定したjoin句はfindNeighboursのどこにセットすればよいのでしょうか?

$options['joins'][]=
array(
'type' => 'INNER',
'alias' => 'Hoge_table',
'table' => 'hoge_table',
'conditions' => array('Hoge_table.id = Nani_table.id')
);

114 = :

俺もそれ知りたいな。
XMLファイルとか。

tmpフォルダとかかな?

115 = :

>>113
webroot の files フォルダ。これが一番いいと思う。

116 = :

>>115
外部から見られたくないファイルなのでは??

117 = :

>>115
そうなんです、外部から見られたくはない。
いや見られても良いデータなんですけど、なんか変な感じなので。

>>114
tmpフォルダは考えたんですけど、役割的に違和感があるんですよね。


まぁ、結局DBにつっこんで今はやってみましたけど。
うーん。

118 = :

バージョンアップの際、appフォルダごと入れ替えるため、
appフォルダ以下にはデータは入れたくない。
cakeフォルダ以下には、データは入れるはずない。

appやcakeフォルダと同じ階層に、dataフォルダでも
作って、例えば画像ファイルとか入れられれば、
良さげに思うが。それは無理なん?

119 = :

>>118
あ、その方法がありましたね。
確かにそれであれば全然いける上に、スマートかも。
ありがとです。今後、検討してみます。

125 :

フレームワークっていつまで使えるだろう
10年後、20年後にも、CakePHPはあるだろうか?
そもそもPHPは使われてるだろうか?

126 = :

>>125
ムリポ

127 = :

>>125
じゃあ、こう考えるんだ
10年前はどうだったかを。

それで今も残っていればあるってことになる。

って10年前はPHPそのものがなかったか。

128 :

その都度、旬な商売道具(今ならphpフレームワーク)使って儲けるしかない。
これやれば10年後安心てのはIT社会には無い

129 = :

UTF-8、PHP1.2で作ってるんだけど
フォルダ内のファイル名を読み込んだ時に
$file = readdir($dir)
だけだと日本語のファイル名が文字化けしてしまう。
部分的に関数通して文字化け回避する方法ってある?

134 = :

>>127
PHPはあっただろw

136 = :

modelはDBのテーブルと1対1が想定されているけど

DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
DBテーブル1に対してモデルが3つ必要になるよね

Aテーブルがあったとしたら
A1モデル 使用テーブルA
A2モデル 使用テーブルA
A3モデル 使用テーブルA
それぞれのバリデート処理を実装することになるよね

137 = :

ログイン形式の携帯サイトを作ってるのですが、
CakePHPで「ログインされたかどうか」はどのように持つのが一般的なのでしょうか?
PCサイトではセッションを使うことが多かったんですが、キャリアによってセッションが使えない場合があると聞いたもので。

138 = :

DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
ひとつのモデルで完結できるのかな?

A1モデル 使用テーブルA

画面1のバリデート処理
画面2のバリデート処理
画面3のバリデート処理

140 = :

>>137
自分は
セッションとクッキーの連携プレーを使ってるよ。

キャリアって携帯でしょ?
携帯の場合はセッションキーをクッキーに埋め込むのよ。

141 = :

携帯ではクッキーが使えない機種があるだろw

142 = :

>>137
普通にURLにセションキー埋め込めよ。

>>140
( ゚д゚)ポカーン

146 = :

一つのコントローラに詰め込み過ぎじゃないの?


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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