【PHP】フレームワーク CakePHP 4ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/20(金) 01:24:40ID:???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/
0624621
2008/11/14(金) 16:23:40ID:???うーん、落としてきたモノをそのまま展開してるだけなんですよね。
どっかで間違えたのか・・・
>>623
デバッグレベルは3にしてあります。
それでも真っ白なんです><
0625nobodyさん
2008/11/14(金) 16:25:23ID:???PHPかApacheのログ見れ。
多分、cakeの問題ではない。
0627nobodyさん
2008/11/14(金) 17:34:28ID:???0628nobodyさん
2008/11/14(金) 17:36:59ID:???エラー無いのに何も表示されないなら何も出力しない処理に成功してるって事だろ
0629621
2008/11/14(金) 18:29:19ID:???確認したんですが、それもなさそうです。。
>>628
そうですねw
いや、設定かなぁと。RewriteBaseとか。
でも別のサーバでは特に追記しなくても普通に動くので、なんだろう、と。
0630nobodyさん
2008/11/14(金) 19:48:22ID:???結局訳が分からず、一念発起して、1.2で書き直したけど。
同じかなあ?
0631630
2008/11/14(金) 19:50:04ID:???0632nobodyさん
2008/11/14(金) 19:51:34ID:???0633nobodyさん
2008/11/14(金) 22:25:29ID:???Eclipse+XDebug、NetBeansでCake mod_rewite無し版だとちゃんと使えるんだが・・・
0634nobodyさん
2008/11/15(土) 00:12:16ID:???0635621
2008/11/15(土) 01:03:38ID:???うーん・・ダメっぽいです。
とりあえず今回は時間もないので1.1で作ることにします。
いろいろとありがとうございます。
0636nobodyさん
2008/11/15(土) 02:07:44ID:???0637nobodyさん
2008/11/15(土) 02:18:29ID:???例えそれがフレームワーク側のバグだとしても。
過去に経験があったのは文字コードの違いで真っ白になると言う事はあった。
コードに複数の文字コード混じったりしてない?
それ以外はページ上なりapacheログなりにエラー出てたが・・・。
0638nobodyさん
2008/11/15(土) 02:19:34ID:???どこで止まってるか突き止めるのは可能だね
0639nobodyさん
2008/11/15(土) 08:21:24ID:???表示が出なければApacheの設定の問題
出たらコメントアウトを1行ずつ外してデバッグメッセージ出して試していく
0640621
2008/11/15(土) 11:24:41ID:???>>636-639
みなさんありがとうございます。
アドバイスしてくださったようにいろいろ試してみました。
webroot上のファイルがきちんと拾えました。
ということで、mod_rewriteの設定がおかしいようではないようです。
で、現状わかったのは、とりあえず処理としてはdispacher.phpを
読み込むところまでは来ていることがわかりました。
(bootstrap.phpの最後まで)
もうちょっと調べてみます。
ここまで来たら動かしたい。
0641nobodyさん
2008/11/15(土) 18:45:37ID:???頭文字とった略語ってあるじゃん
PHP、DB、FWなんてのもそうだけど
そういうのに複数形つけるのに抵抗感があるんだけど、普通なこと?
0642nobodyさん
2008/11/15(土) 19:01:10ID:???bbsなら一目だけどbbsesじゃ一瞬分からないから
やりたくないんだよなあああ
0643nobodyさん
2008/11/15(土) 19:03:19ID:???テーブル名bbsesだとモデル名bbse
テーブル名bbsだとモデル名bb
テーブル名bbssだとモデル名bbss
だめじゃんwwww
0644nobodyさん
2008/11/15(土) 19:10:27ID:???BBSをモデルにする設計が問題じゃね?
BoardとかThreadとかEntryとかにすればいいんじゃないか?
0645nobodyさん
2008/11/15(土) 19:12:01ID:???非略語にしないとダメっぽ
本当にこんなことしなきゃいけないのか・・・
中途半端に略語でも最後がs以外なら大丈夫なのが困る
英単語って全部非略語にしたらすっごい分かりにくくなると思うし
0646nobodyさん
2008/11/15(土) 19:14:29ID:???略語にされてる英単語に規則なんて無い
ただ長いものは略語にされてそれが広まってる
BBSの件はboardでもギリギリ分かるしそうするつもりだけど
他にもいくらでも略語はあるんだよね
CDでもDVDでも、ISBNでもISDNでもADSLでも
それらを非略語にする事に強い抵抗感があるんだがw
0647nobodyさん
2008/11/15(土) 19:19:38ID:???AS,BS,CS,DS,ES,FS,GS,HS,,,,,,,,,,,,
いくらでもsで終わる略語があるんだが
0648nobodyさん
2008/11/15(土) 19:20:51ID:???0649nobodyさん
2008/11/15(土) 19:25:32ID:???http://www.cpa-lab.com/tech2/inflects/
bbses,bbs,bbss全てモデル名がおかしなことになる
aases,aas,aassでも同じだから
0650nobodyさん
2008/11/15(土) 20:51:02ID:???そもそも命名規約がおかしいっての
0651nobodyさん
2008/11/15(土) 20:52:05ID:???どちらもNewsのまま
0653nobodyさん
2008/11/15(土) 21:13:25ID:???0654nobodyさん
2008/11/15(土) 21:17:17ID:???でもそれ本来は多言語対応や既存テーブルのためでしょ
新規テーブルで正しい英語の複数形つけて対応出来ないケースがあるのはおかしい
0655nobodyさん
2008/11/15(土) 21:23:48ID:???よく
foreach ($posts as $post) {
echo $post['Post']['title]
......
みたいのが出てくるけど、
BBSとかNEWSの場合はどうしてる?
無理やり
foreach ($newses as $news) {
......
とするのか、それとも
foreach ($news as $entry) {
......
みたいにするのか・・・
0656nobodyさん
2008/11/15(土) 21:34:41ID:???例が思いつかないのだが。
0657nobodyさん
2008/11/15(土) 22:01:06ID:???一般的な英語では略語は普通大文字だが、
cakephpではテーブル名は全て小文字にしなきゃいけないからさあ大変
0658nobodyさん
2008/11/15(土) 22:02:35ID:???複数形部分のみ小文字で
CDs,OSs
PROGRAMMERs
WEBSITEs
これでよかったのに
0659nobodyさん
2008/11/16(日) 00:39:32ID:???データベースにシステムを格納するかってことだろ?
格納するのはboardの情報とboardに書かれた記事(contentsやarticleみたいな)だろ
それを管理するシステムを総称してBBSになるんじゃないのか
0660nobodyさん
2008/11/16(日) 00:40:39ID:???そんなのは問題じゃなくない?
ずれた事言ってるよね君
一般的に全ての場合において正しい設計をすれば
略語の複数形で困る事なんて無い、って言えるなら別だけどw
0661nobodyさん
2008/11/16(日) 00:40:50ID:???cd_infomations
os_informations
格納するのはCDやOS自体ではなくそれに関する情報だろ
0662nobodyさん
2008/11/16(日) 00:43:43ID:???頭悪い奴は黙ってろ
usersをuser_informationsとすべき理由なんて無い
cdやosの複数形に困るから苦し紛れでつけるに過ぎないだろ
情報機器であるサーバマシンのDBに入っているものが情報である事なんて明示する必要が無さ過ぎる
0663nobodyさん
2008/11/16(日) 00:45:51ID:l+j4XBOD英語原理主義にこだわってかみついてる奴ってなんなの?
0665nobodyさん
2008/11/16(日) 00:47:15ID:???それがあたかも回避策ですら無くすべての命名はこう行うべきだというニュアンスで言ってるからだろ
0666nobodyさん
2008/11/16(日) 00:50:45ID:???全てのテーブルには末尾に_informationsをつけるべきだの(格納するのはそれ自体じゃなくて情報だもんね?wwww)
電波過ぎるだろ
0667nobodyさん
2008/11/16(日) 01:00:21ID:???0668nobodyさん
2008/11/16(日) 01:07:42ID:???>格納するのはCDやOS自体ではなくそれに関する情報だろ
この様に一般的な解釈のもと行う事じゃない
こんな苦肉の策をとらなきゃいけないのかという話なのに
さも当然の事のようにこんな事主張されてもw
0669nobodyさん
2008/11/16(日) 01:11:08ID:???嫌ならCakeやRoRの使用はお控えください
0670nobodyさん
2008/11/16(日) 01:14:58ID:???開発止める奴いるから仕方ないよ。
0671nobodyさん
2008/11/16(日) 01:16:59ID:???これが一般的な解釈のもとやる事だと言われたら納得できるわけないだろwww
しかも数レス引っ張って何かすごい意見を持ってるのかと聞き出したらこれじゃあなw
0672nobodyさん
2008/11/16(日) 01:18:41ID:???そこまでDBの名前に拘るのって
神経質ではないの?
DBの名前の不自由さ>cakeを使うこと
って単純な話なの??
0673nobodyさん
2008/11/16(日) 01:21:00ID:???そんな気になるならせいぜい100万回でも俺の文章読み直してろ低脳
0674nobodyさん
2008/11/16(日) 01:25:27ID:???0675nobodyさん
2008/11/16(日) 01:28:52ID:???相手は何も主張してないし、俺はそいつがどれ程頭の悪い考え方をしてるのかを親切で教えてやりたいだけだからなww
0676nobodyさん
2008/11/16(日) 01:29:31ID:???0678nobodyさん
2008/11/16(日) 03:47:10ID:???watchlistとかguestbookのような場合、テーブル名は
やはり複数形にするのでしょうか?
ウォッチリストやゲストブックが複数あるわけではないので、
ちょっと違和感があるのですが・・・
それとも、上で話されていたように、
guestbook_entriesのようにするのが妥当でしょうか?
0679nobodyさん
2008/11/16(日) 04:24:01ID:???0680nobodyさん
2008/11/16(日) 14:59:56ID:???ポインタのポインタの配列・・・
ポインタのポインタの配列の配列・・・
ポインタの配列のポインタの配列・・・
0681nobodyさん
2008/11/17(月) 10:02:05ID:???guestbook_をつけるかどうかは他モデルとのかぶり具合によるけど
entriesのようにするのが、適切でしょうな
foreach ($entries as $entry) ... みたいな
0682nobodyさん
2008/11/18(火) 01:37:43ID:???cakeの規約に揃うように設定できるものがみつからない
0683nobodyさん
2008/11/18(火) 13:09:08ID:???変数はforeach宣言したときに初期化されるし
わざわざ命名する時間は省ける
foreach ($entries as $line)
foreach ($entries as $k => $v)
0684nobodyさん
2008/11/18(火) 17:07:52ID:???コード見る時はforeach見た時点で配列の順次処理なんだと分かるし
0685nobodyさん
2008/11/19(水) 00:26:30ID:???$v2とかすればいいのかもしれんが、階層に依存した名前は付けたくないな。
0686nobodyさん
2008/11/19(水) 00:41:14ID:???各階層用のコールバック関数の配列を引数に取って順次処理するような
内部では自分を再帰的に呼び出すようにしておけばforeach自体は一つで済む
0687nobodyさん
2008/11/19(水) 01:22:24ID:???それにforeach外のローカル変数にアクセスできなくなるし。
手間という意味では本末転倒。
0688nobodyさん
2008/11/19(水) 02:21:00ID:???コードを読むときに、foreachを含めて一塊で読むか
foreachの中だけを読むか。
短いコードならforeachも含めて一塊にして読むが
長ければ、ループする処理ってのはおいといて、
中身だけを取り出して読む。
塊の中で名前が適当でもわかるなら(つまり前者)省略してもいいが、
塊の中でいきなり$vとか出てきてもわからないだろう?(つまり後者)って
時はちゃんと名前をつける。
0689nobodyさん
2008/11/19(水) 12:31:25ID:???クラスのプロパティに代入するメソッドを作る場合、
setPramA($data);
setPramB($data);
とプロパティごとに作るより、
set('paramname',$data);
として一カ所にまとめたほうが幸せなんすか?
0690nobodyさん
2008/11/20(木) 05:51:48ID:/cM24YKoDoc.count *100 AS Doc__score
出力が
[0] => Array
(
[Doc] => Array
(
[id] => 6064
[title] => regulations
)
[0] => Array
(
[Doc__score] => 165.34334421158
)
)
のようになってしまいます。
どうにか[Doc]の配列に計算したscoreを含めるようにできないでしょうか?
cake1.2RC3, MYSQLです。
0692nobodyさん
2008/11/21(金) 18:42:51ID:???cake bake で自動生成されるコードのインデントを、TABではなくて半角スペー
ス4つにしたいのですが、それを設定する方法があったら教えていただけないで
しょうか?
0693nobodyさん
2008/11/21(金) 18:52:01ID:???scaffoldなら
cake/libs/view/scaffolds のファイルを書き換えたら良かったはず
bake も利用しているかもよ
0696nobodyさん
2008/11/22(土) 16:36:33ID:qo4yapkz暗号化されたパスワードを復号化する時って、どんなして処理してます?
0697nobodyさん
2008/11/22(土) 18:09:23ID:???だったら複合化は無理だろ
可逆暗号に変える必要があるが、セキュリティを落としてまで複合化する必要性ってなんだ?
0698696
2008/11/22(土) 18:25:21ID:qo4yapkzユーザ自身にパスワードの変更をさせたいのですが、
入力フォームのデフォルトに、復号化した値を入れたいなーと思ったんです。
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:???マニュアルとは、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:???可変変数って、$$x という風に、$が多重になっているものだと思うのですが…。
http://search.net-newbie.com/php/language.variables.variable.html
>>702のコードには、$$ は一つもありません。
0706nobodyさん
2008/11/22(土) 21:42:30ID:???あるじゃん
0707nobodyさん
2008/11/22(土) 21:49:23ID:?????すみませんが、おっしゃることがわかりません。
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:???この部分が可変なんだろ
0709nobodyさん
2008/11/22(土) 22:04:46ID:???字面しか理解できない阿呆の典型だな
0710nobodyさん
2008/11/22(土) 22:22:44ID:???ここのnote欄に、膨大な試行錯誤が見つかりました。
可変変数には、undocumentedな振る舞いがたくさんあるようです。
どうやらこれが答えですね。
こういうundocumentedな挙動って、いつ廃止されるかわからないものでしょう
に、フレームワークに利用するとはすごい話だと思うんですが、考えてみたら
documentedな関数の振る舞いもPHPはしょっちゅう変わるんでしたっけ。
0711nobodyさん
2008/11/22(土) 22:25:32ID:???0712nobodyさん
2008/11/22(土) 23:27:45ID:???書き方も間違ってるし変数のスコープが分かってない。
コンストラクタやセッター的なもので
オブジェクトから見える場所に代入してないんだから
fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。
0713nobodyさん
2008/11/22(土) 23:46:37ID:???何のエラーが出るのか、そのエラーは何が原因なのか、そのエラーの解決方法は何か
って辿っていくのがプログラミングのコツだよ
0715696
2008/11/23(日) 04:48:20ID:l1Rm9lxOうーん、まぁそうですね。
しかしAuth compornent使うと、パスワード一覧表とか表示するのも結構大変てことなんすかね
0716nobodyさん
2008/11/23(日) 05:06:33ID:???0717nobodyさん
2008/11/23(日) 06:16:38ID:???array('hogehoge' => current_date)
array('hogehoge' => '日付')
みたいな感じだと `hogehoge` = `日付` みたいにしかならないよね?
current_dateはともかく日付指定でも不等号条件は使えないのかな?
0718696
2008/11/23(日) 06:19:23ID:???いえ、仕事じゃないです。ていうか、このレベルでphpの仕事出来ないかと…
でもあれですね、こういうことは普通しないってことは解りましたです。
もし、やりたいなら入力時に別のカラムに生のパスワード入れる方法を思いつきましたので、
そうすることにします。皆さんお相手くださってありがとうございました。
0720nobodyさん
2008/11/23(日) 07:45:49ID:???ズバリです
ありがとうございます
('hogehoge' => '<= current_date')
とか最初やってて悩んじゃいました
0721nobodyさん
2008/11/23(日) 12:17:59ID:???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:???ソースはそうなってるね。
00882 } elseif (empty($object) || $object == null) {
00883 if (isset($this->{$this->modelClass})) {
00884 $object = $this->{$this->modelClass};
ドキュメントが必要?
■ このスレッドは過去ログ倉庫に格納されています