トップページ⇒php
1001コメント296KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/06/20(金) 01:24:40ID:???
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

Cookbook :: 1.2 Collection :: マニュアル
http://book.cakephp.org/ja

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/

CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/

【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/
0693nobodyさん2008/11/21(金) 18:52:01ID:???
>>692
scaffoldなら
cake/libs/view/scaffolds のファイルを書き換えたら良かったはず

bake も利用しているかもよ
06946932008/11/21(金) 19:00:30ID:???
>>692
cake/libs/templates/views
こっちかも
0695nobodyさん2008/11/21(金) 20:32:03ID:???
>>633-694
ありがとうございます。自分でももっと調べてみます。
0696nobodyさん2008/11/22(土) 16:36:33ID:qo4yapkz
auth compornent使いはじめたのですが、
暗号化されたパスワードを復号化する時って、どんなして処理してます?
0697nobodyさん2008/11/22(土) 18:09:23ID:???
CakePHPのデフォルトってSHA256だろ?
だったら複合化は無理だろ
可逆暗号に変える必要があるが、セキュリティを落としてまで複合化する必要性ってなんだ?
06986962008/11/22(土) 18:25:21ID:qo4yapkz
>>697
ユーザ自身にパスワードの変更をさせたいのですが、
入力フォームのデフォルトに、復号化した値を入れたいなーと思ったんです。
0699nobodyさん2008/11/22(土) 21:10:29ID:???
すみません、細かい質問なのですが、
controller.php のソースで、
$this->{$this->modelClass}
という記述がよく見つかります。

これは何をしているのでしょう?

そもそも、$this->{何か} という記述がどのような動作になるのか、わかりま
せん。教えていただけないでしょうか?
0700nobodyさん2008/11/22(土) 21:13:10ID:???
ちょっと補足します。
$this->プロパティ名 なら、どういう動作かはもちろんわかります。
$this->{何か評価される式} というのが、どういう振る舞いをするのかわから
ないのです。

ためしにこんなことをしてみましたが、エラーになりました。
$x = "hoge";
$this->{$x}; // エラー
0701nobodyさん2008/11/22(土) 21:19:42ID:???
マニュアルくらい読んでからやろうよ
0702nobodyさん2008/11/22(土) 21:31:35ID:???
>>701
マニュアルとは、PHPマニュアルのことでしょうか?
一応見たのですが、該当箇所がわかりませんでした。
http://search.net-newbie.com/php/language.oop5.html

ちなみにさっきの件は、少し不正確でした。$this だとうまく行きますが、そ
れを代入した変数だとうまく行きません。


class Test {
 ; ;var $hoge = 1;
 ; ;function fuga() {
 ; ; ; ;$x = "hoge";
 ; ; ; ;var_dump($this->$x);
 ; ;}
}
$test = new Test();
$test->fuga(); // int(1)

var_dump($test->"hoge"); // error

$thisだけ、プロパティ名自体を変数にできるようです。
0703nobodyさん2008/11/22(土) 21:32:18ID:???
あ、余計な ; が入ってしまった…。
0704nobodyさん2008/11/22(土) 21:32:34ID:???
単なる可変変数です
0705nobodyさん2008/11/22(土) 21:38:19ID:???
>>704
可変変数って、$$x という風に、$が多重になっているものだと思うのですが…。
http://search.net-newbie.com/php/language.variables.variable.html

>>702のコードには、$$ は一つもありません。
0706nobodyさん2008/11/22(土) 21:42:30ID:???
$this->{$this->modelClass}
あるじゃん
0707nobodyさん2008/11/22(土) 21:49:23ID:???
>>706
??すみませんが、おっしゃることがわかりません。
grep "$$" で一行も返ってこないのですが、それでも可変変数なのですか?

そして、もし単なる可変変数なのなら、

class Test {
  var $hoge = 1;
  function fuga() {
    $x = "hoge";
    var_dump($this->$x); //これはOK。
  }
}
$test = new Test();
$test->fuga();
$x = "hoge"
var_dump($test->$x); // これはNG.

こうなるのはなぜなのでしょう?
0708nobodyさん2008/11/22(土) 21:52:16ID:???
{$this->modelClass}

この部分が可変なんだろ
0709nobodyさん2008/11/22(土) 22:04:46ID:???
$$が書いてあれば可変か
字面しか理解できない阿呆の典型だな
0710nobodyさん2008/11/22(土) 22:22:44ID:???
http://jp.php.net/manual/ja/language.variables.variable.php
ここのnote欄に、膨大な試行錯誤が見つかりました。
可変変数には、undocumentedな振る舞いがたくさんあるようです。
どうやらこれが答えですね。

こういうundocumentedな挙動って、いつ廃止されるかわからないものでしょう
に、フレームワークに利用するとはすごい話だと思うんですが、考えてみたら
documentedな関数の振る舞いもPHPはしょっちゅう変わるんでしたっけ。
0711nobodyさん2008/11/22(土) 22:25:32ID:???
うちらに聞かれても
0712nobodyさん2008/11/22(土) 23:27:45ID:???
>>707
書き方も間違ってるし変数のスコープが分かってない。

コンストラクタやセッター的なもので
オブジェクトから見える場所に代入してないんだから
fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。
0713nobodyさん2008/11/22(土) 23:46:37ID:???
初心者さんかもしれないけど、OKとNGだけでなく
何のエラーが出るのか、そのエラーは何が原因なのか、そのエラーの解決方法は何か
って辿っていくのがプログラミングのコツだよ
0714nobodyさん2008/11/23(日) 03:34:16ID:???
>>698
何も入力してなかったら変更しない
してあったらそれに変更だろJK
07156962008/11/23(日) 04:48:20ID:l1Rm9lxO
>>714
うーん、まぁそうですね。
しかしAuth compornent使うと、パスワード一覧表とか表示するのも結構大変てことなんすかね
0716nobodyさん2008/11/23(日) 05:06:33ID:???
どんだけセキュリティポリシー甘いんだよお前の会社は
0717nobodyさん2008/11/23(日) 06:16:38ID:???
paginateでcurrent_date以前の物だけ表示みたいのってどうやるのかな?

array('hogehoge' => current_date)
array('hogehoge' => '日付')

みたいな感じだと `hogehoge` = `日付` みたいにしかならないよね?
current_dateはともかく日付指定でも不等号条件は使えないのかな?
07186962008/11/23(日) 06:19:23ID:???
>>716
いえ、仕事じゃないです。ていうか、このレベルでphpの仕事出来ないかと…
でもあれですね、こういうことは普通しないってことは解りましたです。

もし、やりたいなら入力時に別のカラムに生のパスワード入れる方法を思いつきましたので、
そうすることにします。皆さんお相手くださってありがとうございました。
0719nobodyさん2008/11/23(日) 06:47:23ID:???
>>717
array('hogehoge <=' => current_date)
0720nobodyさん2008/11/23(日) 07:45:49ID:???
>>719
ズバリです
ありがとうございます

('hogehoge' => '<= current_date')

とか最初やってて悩んじゃいました
0721nobodyさん2008/11/23(日) 12:17:59ID:???
>>718
AuthComponentは、暗号化の方法を変えられるよ。
もし(セキュリティ的に問題なくて)、パスワードを可逆にしたいなら。
ttp://d.hatena.ne.jp/ngtn/20080311/1205245777
0722nobodyさん2008/11/23(日) 12:39:53ID:???
質問です。

Controller::paginate() の第一引数 $object が与えられなかった場合、
paginate()の戻り値は、controllerのデフォルトのmodelのインスタンスになる
と思うのですが、それって公式なドキュメントのどこに書いてあるのでしょうか?

APIドキュメントには、$object = null, と書いてあるだけで、実際nullだった場合の
paginate() の挙動については書かれていません。
http://api.cakephp.org/class_controller.html#6f79c1eed018894aede112c294087345
0723nobodyさん2008/11/23(日) 12:54:38ID:???
>>722
ソースはそうなってるね。
00882 } elseif (empty($object) || $object == null) {
00883 if (isset($this->{$this->modelClass})) {
00884 $object = $this->{$this->modelClass};
ドキュメントが必要?
0724nobodyさん2008/11/23(日) 13:28:06ID:???
>>723
やっぱりソースを読むしかないのでしょうか?

> ドキュメントが必要?
あってほしいですね。ドキュメントに載ってない機能って、いつ廃止変更され
るかわからないから。

0725nobodyさん2008/11/23(日) 17:29:12ID:???
ソースコード見れば、すぐにわかるんだから
詳細なドキュメントあってもなあ
該当記事を探すのに時間かかるし、英語だら翻訳とか余計手間だ

0726nobodyさん2008/11/23(日) 17:30:39ID:???
>>712
> >>707
> 書き方も間違ってるし変数のスコープが分かってない。
>
> コンストラクタやセッター的なもので
> オブジェクトから見える場所に代入してないんだから
> fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。

別に間違っていないと思うのですが。

最終行の$xは、その一行前で定義されたグローバル変数です。
function fuga() の中で定義されているローカル変数とは
別のものです。

$y = "hoge"
var_dump($test->$y); // これはNG.

変数名を変えたら紛らわしくなかったかもしれません。
0727nobodyさん2008/11/23(日) 17:34:04ID:???
>>726
クラスの初歩的な質問なら、スレが違う気がする。。。
0728nobodyさん2008/11/23(日) 17:35:34ID:???
>>724
ドキュメントに載っていようが、RCの場合は変更されてもしょうがない。(事実findをはじめ変更多々あり)
paginateは、もう変更は無いだろうが
0729nobodyさん2008/11/23(日) 17:37:43ID:???
>>726
該当と思われるスレ

【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/

PHPでOOP
http://pc11.2ch.net/test/read.cgi/php/1172205352/
0730nobodyさん2008/11/23(日) 17:44:50ID:???
>>712氏への反論なのでここに書いたのですが、
確かにスレ違いなので、こちらに移りましょう。

【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
0731nobodyさん2008/11/23(日) 17:44:59ID:???
fuga内の$xはfugaの単なるローカル変数。Testのメンバ変数ではない。
0732nobodyさん2008/11/23(日) 17:51:46ID:???
>>731
それはわかってますし、>>726でも「ローカル変数」って書いてます。
取り合えず>>730のスレにお越しください。
0733nobodyさん2008/11/23(日) 18:08:06ID:???
喧嘩がしたかったようだね('A`)
0734nobodyさん2008/11/23(日) 18:12:23ID:???
わざと喧嘩腰でデタラメ書いて、
顔真っ赤にした人が正解を書くのを釣るタイプ。

このタイプはもう飽きたよ。
0735nobodyさん2008/11/23(日) 18:12:48ID:???
>>733
> 喧嘩がしたかったようだね('A`)

なんでそうなるのかぜんぜん理解できない。
誤解を訂正して誘導しただけじゃん。
0736nobodyさん2008/11/23(日) 18:14:32ID:???
>>734
ぜんぜん釣りじゃないよ。
どこがデタラメなのか真剣に知りたいんだけど。
0737nobodyさん2008/11/24(月) 17:47:59ID:V2OhDKFB
Cakeで開発されたアプリをUMLのシーケンス図などで記述するとどのように
書けるのか、サンプルをご存知のかたいませんか??
0738nobodyさん2008/11/24(月) 18:21:36ID:???
CakeというかMVCモデルでさがしたほうがいいよ。
0739nobodyさん2008/11/24(月) 23:29:29ID:???
シーケンス図なら考えるまでもないような気がしないでもない
0740nobodyさん2008/11/26(水) 15:03:25ID:???
画像フォルダをアプリ毎に分けたくて、下記の様な構成でimgフォルダの下にフォルダを切ってファイルを置きました。
/cake/app/webroot/img/hoge/icon/aaa.gif

Viewではヘルパーを使って、$html->image('hoge/icon/aaa.gif', array('border' => 0))として呼んでいます。

これをPHP4が乗っているサーバー上で実行すると、画像が表示されず、
ソースを見てイメージタグのsrcに指定されているアドレスを直接叩くと下記のエラーが出てしまいます。
Missing Controller
Error: ImgController could not be found.

また元々/cake/app/webroot/img/にあった、cake.power.gifは正常に画像が表示され、
イメージタグのソースに表示されているアドレスを直接叩いても画像が表示されています。

ローカル環境では事情によりPHP5を使用しているのですが、こちらでは正常に表示されています。
PHP4だとこの画像管理方法は出来ないのでしょうか?それとも設定でしょうか?
07417402008/11/26(水) 15:17:25ID:???
書き忘れ。cakephpは1.2.0.7692 RC3です。
0742nobodyさん2008/11/26(水) 16:03:06ID:???
>>740
htaccess は、正常に動作しているの?
webroot/img が存在するなら、index.phpに飛ばない(missing controllerにならない)

php4だと/img 以下にディレクトリを作れないということはないね。少なくとも
0743nobodyさん2008/11/26(水) 16:09:19ID:???
>>740
追加
webroot/hoge が存在していなくても、missing controller にはなる
(ディレクトリ名のtypoとかも、あやしいかな)
0744nobodyさん2008/11/26(水) 16:10:13ID:???
ごめん
webroot/img/hogeだった
07457402008/11/26(水) 16:30:50ID:???
>>742
htaccessは正常に動作していると思っています。
理由は、http://www.hogehoge.ne.jp/php/cake/img/cake.power.gif
だと正常にアクセス出来ているからです。
これをhttp://www.hogehoge.ne.jp/php/cake/img/board/icon/aaa.gif
にすると、Missing Controllerになるので、違う原因だと考えていました。

この考え方自体が変ですかね・・・。

.htaccessは元のファイルに下記の様にRewriteBaseを追加しています。
cake直下 RewriteBase /php/cake
cake/app直下 RewriteBase    /php/cake/app
cake/app/webroot直下 RewriteBase /php/cake/app/webroot

dispatchがPHP4だとうまく動かないのかと考えていましたが違うみたいですね。

後、typoはローカルで動作しているファイルを全てアップロードしているので無いと思います。
実際にFTPで確認しても間違ってなさそうでした。
07467402008/11/26(水) 16:46:48ID:???
すいません。分かりました。
ファイル名が全角なのがダメみたいでした。

$form->selectに画像入れたフォルダ配下のファイル名から拡張子を除いた物を表示させて
アイコンを選択させようと手抜きをしたのがダメでした。

ローカルで出来たのはWindowsだからですかね。(サーバーはLinux)
0747nobodyさん2008/11/26(水) 16:51:43ID:???
>>745
やっぱりhtaccessっぽいね。
webroot直下のやつを見直すと幸せになれそうな気がする

RewriteBaseは必要なのかい?
07487402008/11/26(水) 17:36:45ID:???
>>747
ありがとうございます。
調べてみて、webroot直下のhtaccessに、下記を追加することで、「Missing Controller」は出なくなりました。(404エラーになります)
RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$

原因はやっぱり日本語ファイル名で、これをffftpでアップロードしていたことだと思います。
UTF-8対応版のftpクライアントでアップロードすることで、正常にアクセス出来る様になりました。

RewriteBaseはググってみて、共有サーバーで使用する時の設定に書かれていたので無いとダメなのかと思って入れています。
0749nobodyさん2008/11/26(水) 19:22:08ID:???
cakePHP1.1使ってるんですけど、
debugモードを0にしたらセッションが切れる!みたいな
現象に出くわした方っています?
0750nobodyさん2008/11/26(水) 21:58:19ID:???
>>749
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=817&forum=9
これかな?
07517492008/11/26(水) 22:15:23ID:???
>>750
情報ありがとうございます。
うーん、securityはmediumでやってるんですよねぇ。なんなんだろう・・。
0752nobodyさん2008/11/27(木) 12:33:29ID:???
>>751
セッションが切れるという症状を詳しく
0753nobodyさん2008/11/27(木) 23:19:45ID:???
cakePHP を使いはじめたところで、さっそくどうしていいかわからなくて
困ってしまったんですが、

css を webroot/css 配下においた時、views/layouts/default.ctp で その css を読み込ませたい
のですが、これはヘルパを使うべきですか?

<link href="css/base.css" rel="stylesheet" type="text/css" />

こんな感じで直書きしてもよんでこないのですが、これは /css/base.css のように絶対パスで
書くべきなのか、ヘルパをかますべきなのか、はたまた何か設定がまずいのが
よくわかっていません。

アドバイスをお願いします。
0754nobodyさん2008/11/28(金) 00:28:08ID:dURk+lTo
>753
>これは /css/base.css のように絶対パスで
試してみた?おそらく結果でわかるはず。

また、ヘルパ使うかどうかはどっちでもいいような。 個人的にはヘルパ使うけど。
0755nobodyさん2008/11/28(金) 02:37:47ID:???
いつ1.2は製品版になるん?
0756nobodyさん2008/11/28(金) 03:12:08ID:8hLcD3C8
1.1と、1.2の実行速度ってどう?

1.2が遅いので1.1を新規でも使ってる人はいる?
0757nobodyさん2008/11/28(金) 03:16:26ID:???
1.2の方がはやいんじゃないの?
パフォーマンスの改善がメインでしょ1.2て
0758nobodyさん2008/11/28(金) 03:17:57ID:???
これから作るところなんだけど
1.2がRCだから1.1つかってる
0759nobodyさん2008/11/28(金) 03:40:07ID:???
cakephpってバージョンに依存しない確立されたバージョンアップ手順ってあるの?
このバージョンではこうする、とかじゃなくて
常にこうすれば確実にバージョンアップ出来るみたいな
0760nobodyさん2008/11/28(金) 06:36:27ID:???
1.2の日本語マニュアルだけど
1.1のマニュアルに比べて日本語が変なところが多い
コピーしてきたらいいのにね
0761nobodyさん2008/11/28(金) 14:02:15ID:???
CakePHPに限った話じゃないかもしれないのですが,
<?php e($html->css('my_css_1')); ?>
<?php e($html->css('my_css_2')); ?>

を出力した場合, HTMLソース上では改行されずに出力されます.
動作に支障はないとはいえ気持ち悪いので, 改行させたいのですが
何かよい方法はないでしょうか?
0762nobodyさん2008/11/28(金) 14:54:05ID:???
>>761
間に空行を空ける
or
?>の横にTabを入れる
0763nobodyさん2008/11/28(金) 16:02:50ID:???
Windows vista に XAMPP をインストールして cakephp の稼動環境を作りました。
1つうまくいかない事がありますのでご教示頂けるとうれしいのです。
mod_rewrite は有効にし、.htaccess も設定しました。

/htdocs/test/ 配下を環境とします。
/htdocs/test/app/webroot/js/ にいくつか javascript を入れました。
/htdocs/test/app/views/layouts/post.ctp を作り、その中で、

<script src="js/hoge/hoge.js" type="text/javascript"></script>

のような記述がしてあります。

次に post という、コントローラ、ビュー、モデルが作ってある状態で、
post_controller.php には var $layout ="post"; としてあります。

ここで、
http://localhost/test/post/ にアクセスすると、apache の accesslog に、

"GET /test/post/js/hoge/hoge.js HTTP/1.1" 200

とログが残ります。

どのように webroot/js/ の中身を参照すればいいでしょうか?
0764nobodyさん2008/11/28(金) 16:12:45ID:???
>>763
10個前のレスと同じじゃんね。
俺ならヘルパー使うけど。vendorsに突っ込んだJSとかCSSも読んでくれるし。
0765nobodyさん2008/11/28(金) 16:30:47ID:???
>>763
app/views/layouts/default.ctp を読みましょう。
07667632008/11/28(金) 16:36:33ID:???
>>764
そうか、css も javascript も同じ考え方なんですね。10個前のレスが同じ
問題だと理解できていませんでした。

さっそくヘルパーを調べ、使ってみました。意図したように動作しました。
ありがとうございます。

1つ不安な所があるのでちゃんと理解したいと思うのですが、
layouts や elements の中にある .ctp などで、javascript のヘルパーを使った場合、

それを呼び出す全てのコントローラーに、

var $helpers = array('Html', 'Javascript');

の記述を行なう、という事であっていますでしょうか?


0767nobodyさん2008/11/28(金) 17:46:08ID:???
>>766
app_controller.php に記述すれば全controllerで読み込まれる
'Html'は指定せずとも読み込まれる
0768nobodyさん2008/11/28(金) 23:02:30ID:???
cakephpってなれてくると vendor 使わないよね。
最初の頃使いまくってたけど最近全然使わなくなった。

その代わりコンポーネントを使うようになってく。
0769nobodyさん2008/11/29(土) 13:54:28ID:???
そのうち、モデルとビヘイビアが多くなっていくよw
0770nobodyさん2008/11/30(日) 23:56:45ID:???
1.2RC3

class HogeController extends AppController {
 var $name = 'Hoge';
 var $uses = array("Fuga","Hage");
のようにコントローラと違うモデルを指定して

function index() {
 $this->set('data', $this->paginate("Fuga"));
}
とやるとページングが使えなくなってしまうのは仕様なんでしょうか…
0771nobodyさん2008/12/01(月) 00:30:15ID:???
訂正
コントローラと同じ名前のモデルでもなる所はなるな…
scaffoldで生成しなおした画面は大丈夫だからもう一回見てみるか
0772nobodyさん2008/12/01(月) 00:51:17ID:???
自己解決
1ページ内でpaginateを2つ以上やると片方死ぬのね…
0773nobodyさん2008/12/01(月) 15:03:11ID:uBVWzlfV
webrootに置いたphpファイルに、viewの結果を差し込む方法ってありますか?
別途DBのライブラリ使って直接DBから検索するのが一般的なんですかね
0774nobodyさん2008/12/01(月) 15:38:36ID:???
>>773
file_get_contents()とかつかえばできるんじゃない?
部分的ならajaxで読み込むとか。
0775nobodyさん2008/12/01(月) 17:08:02ID:???
>>773
質問の意味が理解できていないかもしれないけど、
Object にある requestAction メソッドはどう?
0776nobodyさん2008/12/01(月) 18:58:54ID:???
>>773
通常はwebroot直下にオリジナルのphpファイルは置かない。
一般的には、DB読むようなファイルなら、pages以下に持ってくる。
(必要ならURL書き換えれば良いし)
0777nobodyさん2008/12/01(月) 22:26:27ID:???
>>772
それ、なんだっけ。2つ以上つくれるよ。
実際俺つくったし。やり方忘れた。がんばれ。
0778nobodyさん2008/12/01(月) 23:13:14ID:???
それ解説してるサイトってないから手順確立したらヒーローになれるな
0779nobodyさん2008/12/02(火) 10:27:07ID:???
ビヘイビアって実際どうなの?
メール送信ビヘイビアってあるでしょ。
結局コントローラーで qbmailとか使わないといけないからさほど
メリットがないような気が。

英語だけならビヘイビアでいけるだろうが、日本語だからな。
文字化けが。。。

インクリメント・デクリメント以外の便利な使い道を師匠。教えて下さい。
0780nobodyさん2008/12/02(火) 14:29:46ID:???
cakephpって世界で最も使われてるとか言うけど
結構下火だよね
関連開発しょぼいし
本家すら
0781nobodyさん2008/12/02(火) 14:34:47ID:???
symfonyとcakephp使ったけど
cakephpはコード生成が弱すぎ
masterbakeやpowerbakeがあるけど本家開発に組み込まれてるわけじゃなく
バージョンアップ追いついて無いし
標準のbakeだとテーブル一つ毎にモデル作れとかフィールド一つ毎にバリデーション指定しろとかやってられん
機能少ない割にsymfonyより遅いし
0782nobodyさん2008/12/02(火) 14:57:00ID:???
これはものすごい誤認識の方がいらっしゃいました
0783nobodyさん2008/12/02(火) 19:51:38ID:???
>>781
こういうこと言いに来る時点でCakePHPを評価してるって思われるのにな。
0784nobodyさん2008/12/02(火) 20:15:49ID:???
例えば新規作成を行なう add と、登録済みデータを修正する edit を
コントローラに用意するとき、view は、add と edit と2つのファイルを用意すると
思います。

ただ、add の時も edit の時も入力項目は同じで、ページ遷移後の状態が、
空白か、呼び出したデータが表示されているか?程度の差しかないような画面の時でも、
add, edit の view は用意しておくものでしょうか?

それとも、add と edit の両方をまかなえる view を作って、コードで処理させるほうが
いいのでしょうか?
0785nobodyさん2008/12/02(火) 20:40:05ID:???
>>782
「僕すごい事知ってるよ」
じゃなくて具体的な例を出せ

>>783
言いに来てるのは既に仕事で使ってて使わざるを得ないからなのと
こういう事が書かれてれば最初から使わなかったってことだな
0786nobodyさん2008/12/02(火) 21:19:32ID:???
そういう事は仕事場で提案してみればいいんじゃないかな。
確かに参考にはなるけど。
0787nobodyさん2008/12/02(火) 21:55:16ID:???
>>784
たぶん1.2からだけど、bakeして吐き出されたviewは、editとaddを共通化している

それを知ってから、すべてのadd.ctpを削除した
admin_edit とかもすべて共通化したら、viewの数が激減してすっきりしたよ
0788nobodyさん2008/12/02(火) 23:36:54ID:???
symfonyよりCake重いとか
07897842008/12/02(火) 23:43:37ID:???
>>787
情報ありがとうございます。1.2 を使っているので早速 bake してみましたが、
add, edit は別にはきだされました…。

1.2.0.7692 なので、最新だと思うのですが…。
0790nobodyさん2008/12/02(火) 23:58:07ID:???
そういう意味じゃなくてaddとeditで吐き出されてるものはほぼ同じだから
どっちか消してどっちかだけ使えば?って話じゃないの?
0791nobodyさん2008/12/03(水) 01:04:53ID:WkUpG3Q2
ベロベロベロベロオオオオオオオオオオオ
んんー、ほんのりオシッコの味がするよ!!
0792nobodyさん2008/12/03(水) 01:06:12ID:???
誤爆った
■ このスレッドは過去ログ倉庫に格納されています