【PHP】フレームワーク CakePHP 4ホール目【v1.2】
レス数が1000を超えています。これ以上書き込みはできません。
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/
0002nobodyさん
2008/06/20(金) 06:26:03ID:???0003nobodyさん
2008/06/20(金) 09:26:59ID:???乙
そして。
日本のcakePHP ユーザのためのハブサイト
http://cakephp-users.jp/
0004nobodyさん
2008/06/21(土) 03:16:27ID:???CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/
0005nobodyさん
2008/06/22(日) 01:07:49ID:???xdebugのコードカバレッジ機能ちゃんと使えている人いる?
Apacheが落ちちゃうんだけど。
0006nobodyさん
2008/06/22(日) 18:51:10ID:???0007nobodyさん
2008/06/22(日) 19:20:38ID:???0008nobodyさん
2008/06/23(月) 11:43:43ID:???0009nobodyさん
2008/06/23(月) 18:12:30ID:Buu9Vutr$hasAndBelongsToManyが設定されたUserモデルとUserGroupモデルがある場合に、
Userを登録すると当時に(単|複)数の所属グループをsaveしたいときって、簡単にするにはどうすればいいのでしょう?
$group_ids = 2;//ユーザーグループのIDを仮に2とする
$data['User']['name'] = $data['User']['name'];
$data['User']['register_date'] = date("Y-m-d H:i:s");
$data['User']['created'] = $data['User']['register_date'];
$data['User']['updated'] = $data['User']['register_date'];
$data['UserGroup']['user_group_id'] = $group_ids;//グループを設定
}
$this->controller->User->create($data);
$this->controller->User->save();//レコードを保存
こうした場合に、グループIDが単数(変数)の場合は無事にUserGroupテーブルにもリンクレコードが書き込まれたのですが、
$group_ids = array(2,3);//ユーザーグループ2&3を同時にリンク設定
としたい場合は別の記述方法があるのでしょうか?
0010nobodyさん
2008/06/24(火) 05:09:49ID:???作ったビューを普通にusesに入れるだけで問題ないのかな・・・?
0011nobodyさん
2008/06/24(火) 12:37:51ID:???だれか訳して。
0012nobodyさん
2008/06/24(火) 15:25:43ID:FTW7odGnあんたが予測するコーヒーとチケット、、、今日出るメジャーなRC2が無くても
0013nobodyさん
2008/06/24(火) 15:58:10ID:???0014nobodyさん
2008/06/24(火) 16:32:54ID:???大きな変更は無いよ
0015nobodyさん
2008/06/24(火) 18:09:51ID:???「コーヒーとチケットを、、、何が起ころうともRC2は今日だ!」
じゃないかなぁ、、、分からん
0016nobodyさん
2008/06/24(火) 18:26:54ID:???0017nobodyさん
2008/06/24(火) 20:12:18ID:???コーヒーはケーキだからとして、
チケット? 食券ということか?
mjor むじゃー mjor むじょあー mjor えむじょあ
0018nobodyさん
2008/06/24(火) 20:40:40ID:???0019nobodyさん
2008/06/24(火) 20:42:03ID:???mjorはmajorのtypo
0020nobodyさん
2008/06/25(水) 02:21:23ID:???スターバックスとかでてくるのよ。
なんか修正項目以外の意味があると思うんだど。
ホテルの用語的な。もしかしたらCM?
0021nobodyさん
2008/06/25(水) 03:27:40ID:???CakePHPてこんなレベル低いんけw
0023nobodyさん
2008/06/25(水) 10:18:50ID:???0024nobodyさん
2008/06/25(水) 17:50:14ID:???なんか派生フレームワークだらけなんだけど…
0025nobodyさん
2008/06/25(水) 22:53:19ID:???0026nobodyさん
2008/06/25(水) 23:00:38ID:???0027nobodyさん
2008/06/25(水) 23:06:02ID:???比べてみて、どう?
設置に関してはCakeが一番かんたんかな?
0028nobodyさん
2008/06/25(水) 23:19:01ID:???いや、CIのほうが簡単かと。
CIのほうがライトウェイト。
日本語マニュアルを読むと、Cakeよりはるかに簡単なのが分かる。
んだけど、Cakeの方がコーディングは楽できる気がするなぁ。
0029nobodyさん
2008/06/26(木) 00:53:31ID:???http://pc11.2ch.net/test/read.cgi/php/1122105465/
0030nobodyさん
2008/06/26(木) 01:31:17ID:???パク・・いや参考にしてみたいんだけど。
0031nobodyさん
2008/06/27(金) 01:01:08ID:Tw7z8KLrそれいぜんの1.2で開発したアプリケーションのログイン機能がまるっと動かないのだが。
0032nobodyさん
2008/06/27(金) 01:51:42ID:???CakePHP、あんまりいじってないし、ソース見るの面倒なので、
http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
テキスト比較ツールで比較してみたら結構修正入ってるみたいよ。
0033nobodyさん
2008/06/27(金) 02:30:26ID:bfytbvRvこんな感じでやってます。変かな?
function __construct(){
App::import('Model', 'Unko');
$this->model =& new Unko();
}
こうすれば各メソッド内から
$this->modelで呼べる
003433
2008/06/27(金) 02:53:40ID:bfytbvRvfunction __construct(){
parent::__construct();
App::import('Model', 'Unko');
$this->model =& new Unko();
}
じゃないとバグる
0035nobodyさん
2008/06/27(金) 03:02:45ID:bfytbvRvモデル内てコントローラよりも自由度が低いクセに
モデルでのロジックを多く実装するのがベストだなんて
無茶やな。
0036nobodyさん
2008/06/27(金) 03:30:21ID:bfytbvRvコントローラ内でAモデルのメンバ変数にBモデルのオブジェクトを代入すればいいだけか!
そうすれば、モデル内からモデルをimportしなくても済むな!
そうか、そうか
0037nobodyさん
2008/06/27(金) 03:50:32ID:bfytbvRvモデル内に独自メンバ変数を作ると
モデル内の自由度が上がる
0038nobodyさん
2008/06/27(金) 14:30:32ID:???リレーションがあるはず、つまりアソシエーションでつながっているはず。
その場合、A->B->func()ってな感じで呼び出せる。
0039nobodyさん
2008/06/27(金) 19:16:10ID:???http://hal456.net/qdmail/
これって既出?
マルチバイトのメール送信用のライブラリなんだけど。
CakePHPでも使えるようになってるみたい。
0041nobodyさん
2008/06/27(金) 21:35:16ID:???0042nobodyさん
2008/06/29(日) 23:54:57ID:???scaffoldingをnにしてbasic class methodsをyにすると、
Look okey? が出る前のところで segmentation fault します。
手作業でコントローラを書いても、webからアクセスすると
apacheがexit signal Segmentation fault (11)になります。
前スレのログが見られないのですが、これは既出ですか?
1.1.18だと問題ないのですが、本家はこの問題に気づいているでしょうか。
004342
2008/06/30(月) 14:56:55ID:???ttp://logs.cakephp.nu/cakephp/chat.log.2008-01-02#line_11_33_taddis
ttp://groups.google.co.jp/group/cakephp-de/browse_thread/thread/88c5b12791c71db2/5880a05bac875f55?lnk=raot
当方の環境は、サーバはCentOS4・PHPはphp-4.3.9-3.22.9・apacheは2.0.52-38.ent.centos4.2
DBはpostgresql-8.2.6-1PGDGです。svnの1.1.x.xでも同じ現象が起こります。
0044nobodyさん
2008/07/01(火) 03:17:12ID:Qd4NRnlGbakeなんて使ってんのw
そういう思考がそもそも素人思考
0045nobodyさん
2008/07/01(火) 06:48:02ID:???一アクション(一ページ)たかだか数行の
テンプレートを生成するだけじゃん。
手動でテンプレートファイルをコピーするのと何も変わらん。
0046nobodyさん
2008/07/01(火) 08:05:38ID:???一生そうやって過ごすのかね?
0047nobodyさん
2008/07/01(火) 08:26:54ID:???cakeの場合は、scaffoldでお試しした後でbakeしてるだけで。
やってるのは同じ。bakeを悪く言う意図が分からん。
0048nobodyさん
2008/07/01(火) 17:26:19ID:???自尊心の維持手段が他にないだけだろう、明らかに。
0049nobodyさん
2008/07/01(火) 17:47:52ID:???0050nobodyさん
2008/07/01(火) 18:02:43ID:???アップグレードに伴って、DBのアップグレード
(テーブルや項目の追加)が必要になった場合、
どうやって管理するの?
0051nobodyさん
2008/07/01(火) 21:00:29ID:???2.CakePHP Schemaでぐぐる
DBのアップグレードは知らんけど、
before、afterがあるからそれでやるんじゃね?
0052nobodyさん
2008/07/01(火) 21:51:41ID:???どちらにも定番の方法が無いように思ったのですが。
CakePHPを使われている皆さんは、苦労されてない?
また、ターミナルを使った処理が必要になるのが、
ちょっと一般向けじゃないなーと。できれば、
アップグレード用の(ローカルの)URLに接続して、
対話的にアップグレードできたら良いのに。
アプリの開発者とかなら、ターミナルでの作業も
平気でしょうけれど。一般の利用者の方にアップ
グレードの作業をしてもらうには、ターミナルは
ちょっと敷居が高いので。
0053nobodyさん
2008/07/01(火) 22:11:14ID:???> 対話的にアップグレードできたら良いのに。
そういうコントローラを作ったら?
0054nobodyさん
2008/07/01(火) 22:20:40ID:???\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(・∀・∩< なるほど!!
(つ 丿 \_________
⊂_ ノ
(_)
って、私には無理orz
0055nobodyさん
2008/07/01(火) 22:28:14ID:???なんだ。ひやかしかw
この板に来るべき人じゃないな。君は。
0056nobodyさん
2008/07/01(火) 23:23:29ID:???そりゃ、失礼しました。
0058nobodyさん
2008/07/01(火) 23:44:44ID:???Akelosだと、migrationではフィールドの種別を
自動で決めてくれたり、hasoneとかの設定でも
指定する内容が少なくて、楽そうなんだけど。
CakePHPは、そういうのをかなりの部分、自分で
設定させられるよね? 入れ格子の配列で。
あれって、不便と思わない?
Akelosみたいに、省略されたら自動で設定される
ようになってたら、もっと楽なのに。
0059nobodyさん
2008/07/01(火) 23:50:07ID:???必要だったら適当に書けばいいんじゃない。
チェックアウトはできるがコンソール使えないみたない
うざいデザイナー相手にしてると嫌になるので
難しいと感じるとしても時間さいて書く価値はあるとおもうよ。
まあ、どの方法使うにしても、
アクセスされたらコマンドなりクエリなりを流すだけだと思うのだが。
0060nobodyさん
2008/07/01(火) 23:56:33ID:???パーミッション上の問題が起こると思うんだけど、それは回避できるの?
0061nobodyさん
2008/07/02(水) 01:09:16ID:BNxnFlGa0063nobodyさん
2008/07/02(水) 01:20:02ID:???lighttpdで別プロセスとか。apacheだったらsuEXECとか。
0064nobodyさん
2008/07/02(水) 01:23:18ID:???0065nobodyさん
2008/07/02(水) 02:18:17ID:???p2みたく、ローカルで使うのを想定してるので、なんとかなると思う。
>>61
それはRailsでメシ喰ってる人への挑戦状?
私?私は素人ですけどね。
>>62
できる?
http://cakephp.jp/doc/ch06s04.html
を見ても、やっぱり配列で指定してるんだが。これを、
var $hasOne = 'Profile' ;
だけに出来たら、楽だなーと。
テーブルの作成も、
$this->createTable('users', "id, name, created,updated");
ってしたら、少なくとも規約に沿ってる部分は、
idはINTの自動加算とか、createdはupdatedDATETIMEに
してくれたら、楽だなーと。
ま、些細なことですけどね。ρ(-ε- )イヂイヂ
0066nobodyさん
2008/07/02(水) 03:29:29ID:???http://book.cakephp.org/ja/complete/80/hasone
<?php
class User extends AppModel {
var $name = 'User';
var $hasOne = 'Profile';
}
?>
0067nobodyさん
2008/07/02(水) 04:28:34ID:taRpZf8M0069nobodyさん
2008/07/02(水) 06:31:20ID:???なんで戻したんだろ・・・
0070nobodyさん
2008/07/02(水) 11:09:21ID:???CakePHPのバージョンを書かんかった俺が悪かった。
今、1.1を使ってたんだ。
つーか、ひょっとしてこのスレ、1.2限定?
0071nobodyさん
2008/07/02(水) 12:53:32ID:???0075nobodyさん
2008/07/05(土) 14:02:26ID:???1.1でも、>66みたいに出来ました。
今後ともご指導ご鞭撻の程、よろしくお願い申し上げます。
0076nobodyさん
2008/07/06(日) 01:37:16ID:???A hasMany B
B belongsTo A , B hasMany C
C belongsTo B
の場合、当然、
C belongsTo A
でもあるわけど。それをCのモデルに明示する方法ってありますか?
C belongsTo array('A','B');
ってしたら、scaffoldingのCのviewでエラーが出た。
0077nobodyさん
2008/07/06(日) 02:01:54ID:???0078nobodyさん
2008/07/06(日) 02:25:50ID:???もちろん、B_idもあります。
0079nobodyさん
2008/07/06(日) 02:37:38ID:???Notice: Undefined index: title in /Applications/MAMP/htdocs/cake/cake/libs/view/templates/scaffolds/view.thtml on line 52
だったので、AやCのテーブルからtitle, nameのフィールドを別名にしたら、
エラーは出なくなりました。
しかし、"title"や"name"が使えないのは痛いな。
0080nobodyさん
2008/07/06(日) 02:44:59ID:???0081nobodyさん
2008/07/06(日) 02:50:57ID:???C belongsTo array('B','A');
って書いてた(汗
C belongsTo array('A','B');
にしたら、直ったっぽい
0082nobodyさん
2008/07/06(日) 14:24:50ID:???0083nobodyさん
2008/07/06(日) 14:32:55ID:???0084nobodyさん
2008/07/07(月) 22:11:14ID:???0085nobodyさん
2008/07/09(水) 18:44:09ID:???既存のデータ取得関数に影響が出るから
アソシエーションの設定は
メソッド単位、もしくはメソッド内のロジック単位で
bindModel() をした方がいいね
0086nobodyさん
2008/07/10(木) 03:21:38ID:???フリーターしか選択肢がないというのはよほど問題がある人だろう。
先天や事故で身体的に無理というならばまだしも、
精神的にとかは、もう笑うしかないな。
どれだけ甘えているのだと。
そういうのはバイトで当然だよ。
むしろ金をやる必要すら無い。
0087デフォルトの名無しさん
2008/07/10(木) 11:10:29ID:???デフォルトをチェックが入った状態にしたいのですが、以下のようにvalueを指定してもチェックが入りません。
どのように指定すればチェックが入るのでしょうか?
echo'<div>'.$form->checkbox('comset/admin',array('label'=>"",'value'=>1)).'管理者のみ表示</div>';
0088nobodyさん
2008/07/10(木) 13:01:36ID:???# ComsetsController
if (emtpy($this->data))
$this->data['Comset']['admin'] = 1;
# Views
echo'<div>'.$form->checkbox('Comset.admin',array('label'=>"")).'管理者のみ表示</div>';
じゃないかな?
0090nobodyさん
2008/07/10(木) 14:37:07ID:???ほにゃらって処理をしているんだけど、
CakePHP1.2から、$conditions => array('key =' => 'value');になったでしょ?
今まではarray_keysでkeyがあるかどうかって見ていたんだけど、
これからは'key ?'ってなっちゃって?の部分が変わるから
単純にarray_keysが使えないんだよね。
これの代わりになる便利な関数って用意されているか知らない?
009187
2008/07/10(木) 16:53:38ID:???実現できました、ありがとうございます。
立て続けで申し訳ないのですが、ラジオボタンの表示で
ラジオにチェックを入れるにはどのように指定すればよいのでしょうか?
ラジオの数が動的に変わるため、以下のようにして作成しています。
ループ内である条件に一致する場合に、ラジオにチェックを入れるようにしたいです。
一致するのはループ内で1回のみです。
for($i=1; $i<=$n; $i++){
$arradio[$i] = $dt_hoge['Table']['no_'.$i]."<br />";
}
echo '<div>'.$form->radio('hogeset/hoge',$arradio,array('legend' => false)).'</div>';
0092nobodyさん
2008/07/10(木) 17:06:37ID:???forはview内かな?
だとしたら、viewで
if (!empty($this->data['Hogeset']['hoge']) $this->data['Hogeset']['hoge'] = 初期値 ;
じゃまいか?
やりたいことを、良く理解していないから、はずしてたらすまん。
009387
2008/07/10(木) 19:50:48ID:???ありがとうございます。
$this->dataがない状態で選択しようとしたからか、
教えていただいた方法では、実現できませんでした。
いろいろ試してみた結果、
選択したい値をradio生成時にvalueで指定したらとりあえずできました。
echo '<div>'.$form->radio('ansset/ansr',$arradio,array('legend' => false,'value'=>4)).'</div>';
0095nobodyさん
2008/07/11(金) 15:46:07ID:???今、1.2betaから1.2RC2に移行しているわけだが、
変わりすぎてて俺、涙目wwwww orz
RC2 から 正式版の間ではあまり変わらない事を祈っている・・・
0096nobodyさん
2008/07/11(金) 16:03:01ID:???RC1→2はわりと早かったけど・・・
0097nobodyさん
2008/07/11(金) 17:01:52ID:???すぐに出るんだろうか?
0098nobodyさん
2008/07/12(土) 03:58:01ID:GP2h4BovBモデル->save()みたいなことしたいけど、ダメ?
コントローラ内で
Aモデルのデータとってきて
$this->Bモデル->save()するを完結するのががベストかな?
0099nobodyさん
2008/07/12(土) 03:59:50ID:GP2h4Bovモデルの自由度が凄く悪い気がするんだが・・・
0100nobodyさん
2008/07/12(土) 04:04:06ID:GP2h4Bov結局コントローラが厚くなってしまうんだよな
一通りコーディングが終わってからリファクタリングする形で
モデルを厚くしていかないと。
調べながらだと時間もったい気がする
0101nobodyさん
2008/07/12(土) 11:07:21ID:???コントローラが厚くなってしまうのが
問題って書いてあるな。
わざわざスライドにしてるってことは、
1.2で改善されるんやろか?
0102nobodyさん
2008/07/12(土) 13:48:03ID:???そういうコードを書くなってことだろう。
0103nobodyさん
2008/07/12(土) 19:30:01ID:???> コントローラだと何でも出来ちゃうから
> 結局コントローラが厚くなってしまうんだよな
似たような話。
関数作らなくても何でも出来ちゃうから
結局コードが長くなってしまうんだよな。
結局だ、単なる経験の問題。
経験をつめば自然といいコードが書けるようになるよ。
0104nobodyさん
2008/07/13(日) 07:35:50ID:yyUJjXK2ModelとControllerの厚さを同じくらいにまでしか
もっていけねえw
強引にモデルにもっていけなら別だけどw
0105nobodyさん
2008/07/13(日) 17:55:25ID:???基本的にモデルのvalidatesで全部チェックしていいんもんなんですか?
例えば、会員の新規登録でパスワード(password)と
パスワード確認(password2)を比較して同一かチェックするとか。
0106nobodyさん
2008/07/13(日) 18:01:54ID:???0107nobodyさん
2008/07/14(月) 02:01:47ID:???去年末に発売したばっかりなのになぜ?
0108nobodyさん
2008/07/14(月) 06:42:09ID:???フレームワーク本としては、かなりいい本。
0109nobodyさん
2008/07/14(月) 14:05:46ID:???1.2からbehaviorsのattach/detachができるって、
あちこちに書いてあるけど、最近仕様が変わってるっぽいね。
よく書いてあるのが、コントローラで$this->Model->attach(ビヘイビア名)。
でも今は$this->Model->Behaviors->attach(ビヘイビア名)
間に、Behaviors(BehaviorCollection)が入ったようだ。
0110nobodyさん
2008/07/14(月) 15:48:07ID:???どうも、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っているんだろうか?前のリビジョンのコードには存在しなかった。
とりあえず取ってみたが変化はわからない。
現在リファクタイリング中みたいだからそのうちどうにかされるのかもしれない。
0112nobodyさん
2008/07/15(火) 10:18:07ID:???$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')
);
0113nobodyさん
2008/07/15(火) 14:41:34ID:kKo7V/Gsそれをコントローラから参照したい場合、CSVファイルはどこに設置するのが
一番スマートなんでしょうか?
0114nobodyさん
2008/07/15(火) 14:50:47ID:???XMLファイルとか。
tmpフォルダとかかな?
0117113
2008/07/15(火) 20:00:24ID:???そうなんです、外部から見られたくはない。
いや見られても良いデータなんですけど、なんか変な感じなので。
>>114
tmpフォルダは考えたんですけど、役割的に違和感があるんですよね。
まぁ、結局DBにつっこんで今はやってみましたけど。
うーん。
0118nobodyさん
2008/07/15(火) 20:22:19ID:???appフォルダ以下にはデータは入れたくない。
cakeフォルダ以下には、データは入れるはずない。
appやcakeフォルダと同じ階層に、dataフォルダでも
作って、例えば画像ファイルとか入れられれば、
良さげに思うが。それは無理なん?
0119113
2008/07/16(水) 11:57:50ID:???あ、その方法がありましたね。
確かにそれであれば全然いける上に、スマートかも。
ありがとです。今後、検討してみます。
0120nobodyさん
2008/07/16(水) 13:11:14ID:ahXuksxuDBに入れるほどではないデータは配列にしてモデルに入れてるよ
0121nobodyさん
2008/07/16(水) 13:16:24ID:ahXuksxu0122nobodyさん
2008/07/16(水) 13:22:04ID:ahXuksxuCakePHPはデータ保存場所を考慮したフォルダ構成じゃないから
CakePHP内にデータを置くこと自体がスマートじゃ無いってことかな
0123nobodyさん
2008/07/16(水) 13:24:33ID:ahXuksxuそもそも、おかしい気がしてきたよ
0124nobodyさん
2008/07/16(水) 13:27:51ID:ahXuksxu0125nobodyさん
2008/07/17(木) 08:07:12ID:/Q3Ys2pH10年後、20年後にも、CakePHPはあるだろうか?
そもそもPHPは使われてるだろうか?
0127nobodyさん
2008/07/17(木) 08:46:29ID:???じゃあ、こう考えるんだ
10年前はどうだったかを。
それで今も残っていればあるってことになる。
って10年前はPHPそのものがなかったか。
0128nobodyさん
2008/07/17(木) 09:23:54ID:r8Tb5l59これやれば10年後安心てのはIT社会には無い
0129nobodyさん
2008/07/17(木) 09:26:42ID:???フォルダ内のファイル名を読み込んだ時に
$file = readdir($dir)
だけだと日本語のファイル名が文字化けしてしまう。
部分的に関数通して文字化け回避する方法ってある?
0130129
2008/07/17(木) 09:58:29ID:???0131nobodyさん
2008/07/17(木) 16:12:51ID:hC9JNlTlAppModel::queryを使って取得したデータを
paginatorに渡す方法ってありますか?
0132131
2008/07/17(木) 16:26:20ID:hC9JNlTl0133131
2008/07/17(木) 17:05:12ID:hC9JNlTl対象のModelでpaginateをオーバーライドして、
$coditionsの中にsqlを入れて取り合えず
期待する動作は得られるようになりました。
0135nobodyさん
2008/07/18(金) 16:19:03ID:???無茶じゃなくてまっとうな方法。
Modelにpaginateメソッドは存在しないからオーバーライドではない。
Controllerのpaginateメソッドが最終的にfindする際に
Modelのpaginateメソッドが存在すれば代わりにそっちを呼ぶようにに作ってある。
0136nobodyさん
2008/07/18(金) 19:07:42ID:???DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
DBテーブル1に対してモデルが3つ必要になるよね
Aテーブルがあったとしたら
A1モデル 使用テーブルA
A2モデル 使用テーブルA
A3モデル 使用テーブルA
それぞれのバリデート処理を実装することになるよね
0137nobodyさん
2008/07/18(金) 19:08:40ID:???CakePHPで「ログインされたかどうか」はどのように持つのが一般的なのでしょうか?
PCサイトではセッションを使うことが多かったんですが、キャリアによってセッションが使えない場合があると聞いたもので。
0138nobodyさん
2008/07/18(金) 19:11:29ID:???ひとつのモデルで完結できるのかな?
A1モデル 使用テーブルA
画面1のバリデート処理
画面2のバリデート処理
画面3のバリデート処理
0139nobodyさん
2008/07/18(金) 23:07:31ID:???0140nobodyさん
2008/07/19(土) 11:23:27ID:???自分は
セッションとクッキーの連携プレーを使ってるよ。
キャリアって携帯でしょ?
携帯の場合はセッションキーをクッキーに埋め込むのよ。
0141nobodyさん
2008/07/19(土) 13:45:27ID:???0143nobodyさん
2008/07/19(土) 16:24:22ID:jBy/EgFSモデルを使いたいコントローラメソッド内で
App::Import('Model', $model_name);
$model = new $model_name();
$model->findAll();
した方がいいね
どのコントローラメソッドでも共通利用することの多いモデルだけ
$usesに入れた方がよくね
じゃないと極端な話、一つのコントローラで利用するモデルが30個あった場合
$uses=arrray('A1','A2','A3','A4','A5','A6','A7','A8','A9','A10','A11','A12','A13','A14'・・・・・・・・・)
てなると$usesだけで管理するのしんどいよ。
0144nobodyさん
2008/07/19(土) 16:28:28ID:???どんなシステム?レスポンスどうなの?
0145nobodyさん
2008/07/19(土) 16:39:57ID:jBy/EgFSA8のようなアフィリエイトサイトだよ。
レスポンスはアソシエーションを
その都度 bindModelする方法なら悪くはないよ
重くなるとしたらSQL関連だと思うから後はcacheに頼る
0146nobodyさん
2008/07/19(土) 16:45:53ID:???0147nobodyさん
2008/07/19(土) 16:58:22ID:jBy/EgFS30個あるモデルは使用するDBテーブルは同じでバリデートの内容が若干違うので
モデルを複数分けした。
なのでモデルの数だけコントローラを増やすというのもなあ・・・
ページ構成もおかしくなるし
0148nobodyさん
2008/07/19(土) 17:03:55ID:jBy/EgFSモデルの数はバリデートのケース分、増えて行ってる
0149nobodyさん
2008/07/19(土) 17:08:42ID:jBy/EgFSコントローラが1に対してもモデルが30になる
0150nobodyさん
2008/07/19(土) 17:23:07ID:jBy/EgFS管理的にも$usesで管理するよりも
コントローラメソッドの先頭でApp::Importを宣言する方が管理しやすい気がする
デメリットはコーディング量が少し増えるくらいかな
でも、どのコントローラメソッドでも使うモデルだけは$usesに入れるから
そんなにコーディング量は増えないかな
0151nobodyさん
2008/07/19(土) 17:41:39ID:???そもそも、バリデートの数の分だけ
モデルを増やすのがおかしくね?
モデルのsave()で、バリデートするかしないかのフラグがあるだろ?
これって考え方を変えれば、バリデート1(データチェックする)、
バリデート2(データチェックを一切しない)という二つのバリデートと考えられる。
だからバリデート3(一部だけチェックする)ってのも、一つのモデルに入れてしまうのもありと思うが。
あとは、Model->save()の前に、Model->バリデートタイプ = '一部チェック';
なんてやっておいて、Modelのvalidateメソッドあたりで、バリデートタイプをみて
チェック項目を変更すれば良いんじゃね?
Modelのvar $validate、やったことないけど、
コードの中からでも変更できるんじゃね?
0152nobodyさん
2008/07/19(土) 17:45:08ID:???なんか変な感じ。
0153nobodyさん
2008/07/19(土) 17:51:24ID:???いや、使ったこと無いし情報も見つからなかったからよく知らんが。
ちなみに非推奨になったloadModel関数ではなく、
コントローラのメソッドのloadModel()だから。
0154nobodyさん
2008/07/19(土) 17:55:57ID:jBy/EgFS$validate1
$validate2
$validate3
という風に複数使えれば
バリデート分モデルを増やす必要は無いけど
バリデートタイプをみてチェック項目を変更ていうのは
変更項目が多いとコードが複雑に肥大化するのがなあ・・・
0155nobodyさん
2008/07/19(土) 18:04:40ID:???やろうと思えば、できるとおもうけど?
コントローラで、$model->save()呼び出し前に
$model->validate_type = 'type1';
モデルのどこかで、$this->validate = $this->{'validate_' . $this->validate_type};
そうすりゃ、$validate_type の条件でチェックしてくれるよ。
具体的にどこのメソッドでやるのがふさわしいかは
ちょっとやってみないとわからないけど。
0156nobodyさん
2008/07/19(土) 18:05:53ID:???そうすりゃ、$validate_type1 の条件でチェックしてくれるよ。
0157nobodyさん
2008/07/19(土) 18:19:45ID:jBy/EgFSその方法で出来るのなら、ちょっと試してみます
0158nobodyさん
2008/07/19(土) 18:24:34ID:jBy/EgFSApp::Importよりも、Controller::loadModel()の方がよくね
理由は何でしょうか?
どう違うのですか?
0159nobodyさん
2008/07/19(土) 18:36:14ID:???$usesの代わりと考えるのならば、
$usesで指定したのと同じ状態になるのが良い。
App::Importは単にクラスを読み込むだけ。
$this->Model にインスタンスを生成したりしない。
コードをざっと見ただけの意見だが、
コントローラの初期化処理で、$usersを見て値が入っていれば、
Controller::loadModelを呼び出してモデルを生成している。
loadModelはクラス生成以外にもなんかやってる。
だからloadModelを使ったほうがトラブルが少なくなりそうだと思った。
でも使ったことは無い。loadModelは外部から使うべきものじゃないかのうせいもある。
(普通は使うべきじゃないのなら _loadModelになっているはずだとは思うが)
0161nobodyさん
2008/07/19(土) 19:07:40ID:jBy/EgFSなるほど、よくわりました。
_loadModelてのは何ですか?
0162nobodyさん
2008/07/19(土) 20:12:00ID:???loadModel()に、_が付いていない以上、普通に呼び出して良い(ことが窺い知れる)
http://api.cakephp.org/class_controller.html
0163162
2008/07/19(土) 20:14:27ID:???特定のactionでしか使わないModelなんかは、これで動的に呼んだ方が良さそうだね。
修正しよっと
0164nobodyさん
2008/07/19(土) 23:06:40ID:jBy/EgFSコントローラ内でattach関数を使って読む込むyamlファイルを動的に選択させることで
モデルを増やさずにバリデーションyamlファイルだけ増加させることで解決できた
0165nobodyさん
2008/07/19(土) 23:10:53ID:jBy/EgFS0166nobodyさん
2008/07/20(日) 07:59:18ID:???フレームワークを使っている人が作っている感がでてる。
0167nobodyさん
2008/07/23(水) 16:23:08ID:???0168nobodyさん
2008/07/23(水) 20:47:49ID:???しかもsymfonyの遅い原因だったPropelも今度のバージョンで速くなったし
なんだかなー。
0170nobodyさん
2008/07/23(水) 22:31:35ID:bVhJ1Ly70171nobodyさん
2008/07/23(水) 22:32:47ID:pE/1LCdwチューンナップが進むのを期待するだな。
0172nobodyさん
2008/07/23(水) 22:39:51ID:???モッサリという感じ。
1.1はサクサクだったのに残念。
0173nobodyさん
2008/07/24(木) 01:13:17ID:v8PYU5tTデバッグモード解除してもモッサリするようなら
SQLがらみ、bindmodelで上手にやれば問題なし
0174nobodyさん
2008/07/24(木) 02:22:41ID:???0175nobodyさん
2008/07/24(木) 13:44:45ID:???0176nobodyさん
2008/07/24(木) 13:56:02ID:YLl3rq+tttp://pc11.2ch.net/test/read.cgi/php/1187333485/86
0177nobodyさん
2008/07/24(木) 18:43:29ID:???1.2のbetaの時にくらべ、デバッグ情報の量が
かなり増えているから。
0178nobodyさん
2008/07/24(木) 19:04:07ID:???Cakeが初めてのフレームワークでも、すんなり移れるフレームワークってないですか??
symfonyとかサッパリ;;
0179nobodyさん
2008/07/24(木) 19:13:11ID:???0180nobodyさん
2008/07/24(木) 19:43:19ID:???URLにセッションIDを埋める場合って
session.php内のuse_trans_sidを1にしないと使えないの?
PCサイトとプロジェクトが共通だから、なるべく共通的なところは
いじらずにやりたいと思うのだけど。
0181178
2008/07/24(木) 20:16:32ID:???さすがにライトすぎるというか;
使ってもみないで言うのもなんですが・・・
CIとかも流行ってきてますね。ちょっと気になる。。
0182nobodyさん
2008/07/24(木) 21:26:03ID:???そんなスレ違いなあなたにはここをオススメっ
【PHP】フレームワークについて語るスレ10【総合】
http://pc11.2ch.net/test/read.cgi/php/1202521438/
0183nobodyさん
2008/07/24(木) 23:50:55ID:???0184nobodyさん
2008/07/25(金) 18:19:46ID:???読み直し(=WAIT)が発生しているだけだろ?
謎でもなんでもない。
0185nobodyさん
2008/07/26(土) 16:44:09ID:???オイオイ、いつまでRCだすんだよ;
0186nobodyさん
2008/07/27(日) 10:13:15ID:???0187nobodyさん
2008/07/27(日) 21:27:08ID:???$ ./cake bake all
で、全部のテーブルの基本的な画面を一気に作ってくれんの?
順番に数字を指定するのが面倒・・・
MCVを対話式で一つ一つ作るよりはマシになってるけど。
テーブルの数が多いと、大変。しかも、いちいちtestのを
作るか?とか聞かないで欲しい。
0188nobodyさん
2008/07/29(火) 02:42:26ID:ab6DF8xC長くお付き合いできる方募集します。
https://hp.submit.ne.jp/i/13283/
0190nobodyさん
2008/07/29(火) 19:27:35ID:???www.cakephp.orgもbook.cakephp.orgもダメだ…orz
0191nobodyさん
2008/07/29(火) 20:10:31ID:2mZftY9A0192nobodyさん
2008/07/29(火) 20:24:56ID:???0193nobodyさん
2008/07/30(水) 19:42:29ID:g+nhVb89Database design and CakePHP
http://bakery.cakephp.org/articles/view/database-design-and-cakephp
0194nobodyさん
2008/07/30(水) 21:17:11ID:???0195nobodyさん
2008/07/30(水) 23:23:13ID:???「あるタグが含まれる投稿の一覧」を得るにはどうすればいいですか?
投稿だけじゃなくて付帯するタグのデータも引っ張ってきて欲しいんですが
・投稿のMemoタグをクリック
→Memoタグが付けられたPostの全情報を一覧表示
Title: メモその1 / Body: けーき始めました / Date:2008-07-28
Tag: CakePHP Memo PHP
Title: メモその2 / Body: けーきのためにPHP勉強中 / Date:2008-07-29
Tag: Memo Ruby
Title: らしくないメモ / Body: 内容は何でもイイんだけど / Date:2008-07-30
Tag: C++ Dlang Memo
↑こんな風に表示できるようにデータが欲しい
今はqueryを二回に分けて直発行でやってるんですが、もうちょいマシな方法はないものかと
0196nobodyさん
2008/07/31(木) 13:23:35ID:???commons.php内の関数から同じcommons.php内の関数を呼ぶにはどのように記述すればいいのでしょうか?
$this->関数名だと
Using $this when not in object context とエラーが出てしまうので・・・。
0198196
2008/07/31(木) 15:54:35ID:???自己解決しました。
Commons::関数名で呼び出すことができました。
(なにもつけなかった場合はundefined functionが出ました)
0199nobodyさん
2008/08/01(金) 00:59:56ID:CpiiU14kって認識でOK?
0201nobodyさん
2008/08/01(金) 16:36:12ID:???0202nobodyさん
2008/08/01(金) 17:12:36ID:???0203nobodyさん
2008/08/02(土) 11:01:20ID:???foreach ($部署['社員'] as $社員) {
echo $社員['氏名'];
echo $社員['性別']['性別'];
...
}
こんな感じになるの??
0204nobodyさん
2008/08/02(土) 11:52:56ID:???社員.php
http://example.com/社員/view/1
とか?
0205nobodyさん
2008/08/02(土) 12:07:43ID:aQY+T7Eo0206nobodyさん
2008/08/02(土) 14:11:43ID:???0207nobodyさん
2008/08/02(土) 22:07:43ID:???そういうのはuseTable使ってアルファベットだけにしてる。
作ってたら途中まで問題なかったんだけど、
SQLを""でクォートするところでちゃんとできずにSQLエラー。
正規表現がうまくいってないとこまで分かった。
0208nobodyさん
2008/08/03(日) 03:51:55ID:???0209nobodyさん
2008/08/03(日) 10:57:48ID:???0210nobodyさん
2008/08/04(月) 11:03:43ID:???0212nobodyさん
2008/08/04(月) 11:25:58ID:???1.1/1.2に対応してるようなことが書いてあったけど、
どこまで対応してるのかね?
0213nobodyさん
2008/08/04(月) 13:04:46ID:???0214nobodyさん
2008/08/04(月) 15:39:24ID:???現1.1ユーザーにとっては、1.2対応の基本は押さえられる
RC前なので、betaからRCになって変わったところとかは未対応。その辺把握していないと辛いかも。
ex Modelのconditions
1.2betaすら使ったことがない人は、買って損はない、と思う。
0215nobodyさん
2008/08/04(月) 15:42:55ID:???0216nobodyさん
2008/08/05(火) 12:11:46ID:???CakePHP徹底入門だったか。
0217nobodyさん
2008/08/05(火) 13:01:29ID:???0218nobodyさん
2008/08/05(火) 14:55:44ID:???まじか!
とりあえず買っておこうかな。
cakephp 全部持ってるけど一番役に立つのはリファレンスかな。
0219nobodyさん
2008/08/05(火) 16:49:14ID:???Amazonより
> CakePHPの最新バージョンである1.2をメインとした初の解説書
ほんとうかよ?
beta -> RC でずいぶんと変わったぞ?
時期的にあやしいんだよなぁ。
0220nobodyさん
2008/08/05(火) 21:22:57ID:???Cakeって本と相性悪いねぇ。
0221nobodyさん
2008/08/06(水) 00:46:37ID:???今Cake本出すならstableまで待って原稿上げる英断をして欲しい
0222nobodyさん
2008/08/06(水) 02:09:25ID:???仕事なら普通だよな?
0223nobodyさん
2008/08/06(水) 04:49:56ID:c9uoLYnSphp5が出てるのにphp3でやるといってるのと同じだぞ
0224nobodyさん
2008/08/06(水) 04:52:09ID:c9uoLYnS1.1と1.2の機能面での差は、かなりでかい
0225nobodyさん
2008/08/06(水) 10:41:07ID:???もう一年近く前になるかな?
CakePHPの本が何一つ出ていなかった頃。
海外の書籍でCakePHPがでると聞いて予約した。
いまだに出てないw 当然キャンセルしたw
0226nobodyさん
2008/08/06(水) 10:46:43ID:???機能面もそうだし、1.1と1.2じゃ仕様の変更が多いよな。
一番の基本である、findXXX系まで変わってるし。
1.1と1.2じゃなくて、1.1と2.0ぐらいのバージョンの差があるよ。
たしかに、RCは正式版じゃなくリスクもあるけど、流石にもう大丈夫だと思うな。
ただ作っているうちにstableでて入れ替えることになるだろうから、
UnitTestはちゃんとしとけ。でないと再テストが苦痛になる。
仕事だから当然だ。
0227nobodyさん
2008/08/06(水) 11:17:06ID:???これから新規開発するには1.2を選べってさ。
http://cakebaker.42dh.com/2008/07/30/rip-cakephp-11/
0228nobodyさん
2008/08/06(水) 12:25:03ID:???bakeで簡単に焼いたものをWeb上においておくと、グーグルボットが
deleteメソッドを踏んで、データを消してゆく、という話です。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1323&forum=3
ワロタw
俺は以前CakePHPとは関係ない話で似たような話をどこかでみたので
それですぐにこうなることに気づいていたが恐怖だろうなぁw
というかPostで制限意味ねーw Postに対応したbotがあったらどうすんだよ。
お問い合わせフォームにまでスパム投稿してくる時代に。
0230nobodyさん
2008/08/06(水) 13:51:20ID:???おお。bakeで作って認証かけてないやつあるわ(笑)
googleに発見されたらアウトだ。
さて。手っ取り早く対応するには、どうしようかな。。
0233nobodyさん
2008/08/06(水) 14:38:16ID:???0234nobodyさん
2008/08/06(水) 17:06:11ID:???おっ。見つけられた。gigazineだったか。
Googleにサイトを全消去されたかわいそうなサイト
http://gigazine.net/index.php?/news/comments/20060331_google/
正確には、Googleがページのクロールに使用する「Googlebot」によって
CMS(コンテンツマネジメントシステム)のデータが全部消えてしまったというお話。
このCMSは従業員が各自で情報を入力していくという、まぁ一般的な方式で、
最終的なテストも終えて、インターネット経由でアクセスできるようになったわけです。
が、わずか2,3日後に悲劇発生。全ページが消えてしまい、
「内容を入力してね♪」
というような初期ページのみになってしまったのです
0235nobodyさん
2008/08/06(水) 17:12:05ID:???0236nobodyさん
2008/08/06(水) 17:14:45ID:???世の中には、robots.txtを守らないボットがあるから
気をつけよう。
スパムメール送信の為のアドレスを集めるボットとか。
0237nobodyさん
2008/08/06(水) 17:34:27ID:???こんな感じじゃないかなぁと思う。
1.クッキー対応していなくてもログインできるようにしたために
URLにセッションIDが追加されてしまっていた。
2.TinyMCEのようなブラウザで動くHTMLエディタを実装していた。
これにより、コピペをするとセッションIDが付加されたAタグまでコピペできる。
3.これが公開ページに置かれ、Googleが発見した。
つまりセッションハイジャック状態
4.セッションIDを含んだアドレスをgooglebotが発見、次々に
セッションIDを含んだリンクをたどる。
5.その中にdeleteリンクがあってgooglebotがそれをクリック。
ログインの仕組みを作るにはCookieを使うのが常識だけど、
携帯対応とかでCookieを使わずにアクセスできるようにしちゃうと大変だね。
URLにセッションIDが含まれているときは、携帯から
アクセスできないようにするという考えもあるけど、
そこに携帯サイトもクロールしてほしいとか言い出すと・・・
ワンタイムトークンでも使うのがいいのかな。
0239nobodyさん
2008/08/09(土) 19:03:49ID:z9jw78pxどうでもいいっちゃー、どうでもいい
0240nobodyさん
2008/08/09(土) 19:36:35ID:???0241nobodyさん
2008/08/11(月) 06:36:20ID:???SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
が実行された段階で、
「SQL Error: データベース コンテキストは targetdb' に変更されました。」
ってWarningが出て
「Error: Database table targetviews for model Targetview was not found.」
って怒られるんだが、targetdbにはちゃんとtargetviewsってビューを作成済み。
クエリアナライザからtargetdb上で
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
してもちゃんと抽出できる。
理由がよく分からん…orz
DBがMySQLなら上手く行くんだが…
0243241
2008/08/12(火) 06:18:34ID:???d
ADODBじゃなくてmssqlで繋いでる。
無理にmssql使わなきゃ良いんだろうけど、
既存アプリをcakePHPに移行するとどうなるか
テストしてるから上手く行かないならDB変えないとなぁ…
0244nobodyさん
2008/08/15(金) 08:44:04ID:???楽しみなような、おそろしいような・・・
はやくstableになってくれ〜
0245nobodyさん
2008/08/22(金) 00:34:13ID:MNsA+EAaCakePHPを勉強しているんだけど、命名規則にちょっと疑問が。
なんで、複数形じゃなきゃダメなの?複数形にしなかったらどうなるの?
0246nobodyさん
2008/08/22(金) 01:11:39ID:???した方が楽に自動設定できるだけ。
0247nobodyさん
2008/08/22(金) 02:41:14ID:???それをsつけるだけであらわせるんだから便利じゃん。
しなかったら気持ち悪いと思うんだけどな。
0248nobodyさん
2008/08/22(金) 06:39:31ID:???indexs じゃだめだったときあったな。
indexies ってやらんと。
複数形って規則性がバラバラだから難しい。
グレーの色も gray でも glay でもどっちでもいいんでしょ?
0249nobodyさん
2008/08/22(金) 09:25:24ID:???英語の勉強しなくちゃな…
0250nobodyさん
2008/08/22(金) 12:33:06ID:???RoRは入ってるとか聞いたけど
0251nobodyさん
2008/08/22(金) 14:45:43ID:???0252nobodyさん
2008/08/22(金) 14:47:56ID:???http://book.cakephp.org/ja/view/491/inflector
0254nobodyさん
2008/08/22(金) 16:24:43ID:???0255nobodyさん
2008/08/22(金) 21:54:49ID:???複数形という概念は、すごいと思ったな。
大昔に作られた英語が、ここまでプログラミングにマッチするとは。
もし複数形がなければ、変数名に悩むことが多かっただろう。
でも、日本語は、単語と単語をくっつけて合成語を簡単に作れるから
やっぱり日本語が便利だな。「前月商品金額合計」みたいな。
英語だったら長い。
あと、音を表すだけのひらがな・カタカナ。
外来語を簡単に日本語に変換できてしまうカタカナ。
同じ言葉でも、漢字で書けば男っぽく、ひらがなで書けば女っぽく、カタカナで書けば外国っぽくなる面白さ。
あぁ。日本語ってすばらしい。
0256nobodyさん
2008/08/23(土) 00:10:11ID:???0257nobodyさん
2008/08/23(土) 02:58:57ID:???LastMonthItemPriceSummary
とかさぁ。
0258nobodyさん
2008/08/23(土) 09:13:23ID:???0259nobodyさん
2008/08/23(土) 11:36:45ID:???0261nobodyさん
2008/08/23(土) 17:49:04ID:???入ってない単語はいちいち登録してやらないといけないんだよな。
もしくは機能を無効にするか。
結局余計な仕事を増やす設計になってる滑稽さ
0262nobodyさん
2008/08/23(土) 21:42:23ID:???0263nobodyさん
2008/08/24(日) 13:54:17ID:OI90xc3U0264sage
2008/08/24(日) 17:24:57ID:KEdveE+J今まで1.1の環境でPEAR::Pagerを使うためにvendor()で読み込んでたんですが、
1.2に入れ替えたためDeprecatedだというWarningが出ます。で、1.2からは
http://book.cakephp.org/ja/view/538/vendor
App::importを使うようにと書かれているんですが、このApp::importって
どこに書けばいいんでしょう?posts_controller.phpのクラス?色んな
ところに書いてみたんですが、全部だめー!て怒られました。
Cakeの構造自体理解してなくてすみません。どこに書けばいいんでしょうか?
0265264
2008/08/24(日) 17:26:21ID:???0268264
2008/08/25(月) 00:07:54ID:???class PostsController extends AppController{
App:import('Component', 'Pager');
...
}
と書いてみたところ
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION
と怒られます。何か根本的に勘違いしているような気がするのですが、
どこがそうなのか・・・
0269nobodyさん
2008/08/25(月) 00:16:56ID:???こんな感じ
0270264
2008/08/25(月) 00:33:04ID:???App::import('Vendor', array('file' => 'Pager.php');
としてみましたが、エラーメッセージ変わらずです。
vendorsディレクトリの中はPager(ディレクトリ)、Pager.php、
include_path_vendors.php(PEARのディレクトリへパスを通すため)
が入っています。うーむ。
0271nobodyさん
2008/08/25(月) 02:22:25ID:???だったか?
0272nobodyさん
2008/08/25(月) 03:25:46ID:???depricatedなら1.2のページャとimportしてるライブラリの関数名が被ってるんじゃない?
というかパースエラーさらしてる時点で初心者とみた。
0273nobodyさん
2008/08/25(月) 11:53:43ID:???App:import('Component', 'Pager');
...
}
じゃあ動かないよ
class PostsController extends AppController{
function goodluck()
{
App:import('Component', 'Pager');
}
...
}
じゃない?
0274nobodyさん
2008/08/25(月) 17:33:57ID:???Zendの場合は必要なディレクトリ構成さえあれば外部から呼んでくれるが
0275nobodyさん
2008/08/25(月) 17:58:11ID:???そのままディレクトリをサーバーに置けば使えるっていう。
私は結構気に入ってたりします。
0276nobodyさん
2008/08/25(月) 22:26:29ID:???環境移すのも楽だし
0277nobodyさん
2008/08/26(火) 17:35:31ID:???VCEEとかだと.NETのフレームワークは外部から読み込むよな
そんな感じでもう慣れちゃったから内部完結みたいなのがまだ慣れない
0278nobodyさん
2008/08/27(水) 11:21:42ID:wzctFyRRCakePHPはhtaccessやルーティングでプログラムを結び付けてるんで、やっぱり使いにくいんでしょうか?
CakePHPのデータベース周りが便利すぎて、どうしても使いたくなっちゃうんですよね。。
0279nobodyさん
2008/08/27(水) 12:47:13ID:tVkJ8wOQ別にCakeでもいいんじゃね?
0280nobodyさん
2008/08/27(水) 13:57:59ID:???多分、Apache(Webサーバ)を通さず実行する
スクリプトとしてphp+cakeでやりたいってことじゃね?
0281278
2008/08/27(水) 14:30:57ID:wzctFyRRその通りです。
0282nobodyさん
2008/08/27(水) 15:04:50ID:???スクリプト動くわけ無いやんw
CakePHP以前にPHPが動かない。
PHPだけじゃなく、CGI、Perl、Ruby、何も動かんw
0283nobodyさん
2008/08/27(水) 16:26:42ID:???0284nobodyさん
2008/08/27(水) 16:48:18ID:gXMXTzpH0288nobodyさん
2008/08/27(水) 20:17:20ID:???0289nobodyさん
2008/08/28(木) 12:13:39ID:???でも、一度完成したプログラムをいじるのがなんかすごい抵抗があるんだけど。
プロの仕事だと完成後にあれつけろこれつけろってのもよくあること?
0290nobodyさん
2008/08/28(木) 12:42:08ID:???0292nobodyさん
2008/08/28(木) 14:23:15ID:???作ったの改造するより、最初っから全部作った方が楽しいですよね。
家のリフォーム業者も同じことを思うんでしょうかね。
0293nobodyさん
2008/08/28(木) 14:28:29ID:???タグ付きで作り直してもまた別の機能付けたくなったらまた作り直し?
今の状態でとりあえずタグ機能付けて時間あったらソース修繕(何て言うんだっけ)じゃないの
0294nobodyさん
2008/08/28(木) 15:17:32ID:???たしかにそうですね。一個一個作り直してたらキリないですね。
とりあえずつけることを考えてやってみます。
勉強になります。ありがとうございます。
0295nobodyさん
2008/08/28(木) 18:59:25ID:???そうならないようにユニットテストを書いておくわけだ。
書いておいたテストを実行すればテストできるわけだから、
修正するたびに、毎回全部をテストをするわけだ。
0296nobodyさん
2008/08/28(木) 19:04:09ID:???やっぱり気になる・・・・
0297nobodyさん
2008/08/29(金) 09:41:22ID:???そうですね。たしかにバグりますよね。
あれ・・・ここいじってないんだけど、どうして動かないの!?って。
だからあまり触りたくなかったんですが。
ユニットテストのメリットってそこにあるわけですね。
0300nobodyさん
2008/09/01(月) 01:20:41ID:???CakePHPと名の付く本は全部買ってる拙者、ぱらぱらっと読んだ感じではイマイチかと。
他の本との差別化をしようとしてか、bakeに多くのページを割いてる。
インストール + bake で半分とか。
拙者のお薦めは PHPフレームワーク完全マスター + CakePHPポケットリファレンス。
前者で入門して、あとは後者をリファレンスに。(後者も一度全部読むと良いと思う。)
0301nobodyさん
2008/09/01(月) 01:31:03ID:???レビューサンクス。
やっぱりbakeメインかぁ・・・
bake使わないしなぁ・・・
入門はもういいから、
もっとハック的なのをメインにしたのが欲しいところ・・・
bakery読めないし・・・・;;
0302nobodyさん
2008/09/01(月) 02:02:49ID:???1.2のstableでて、この本が対応したら買いたい
あと買った中では CakePHPガイドブック は初中級者向きとして悪くなかった。
0303nobodyさん
2008/09/02(火) 09:32:07ID:???1ヶ月前にCakePHPポケットリファレンスを買ったが、
大活躍している。
ただ、それだけではCakeについて全く理解できないので、
友達からCakePHPガイドブックを借りた。
自分としては、『リファレンス+ガイドブック』の組み合わせで
全てがまかなわれると思う。
他には『Fast CakePHP』を読んだけど、あれは簡単すぎた…。
0304nobodyさん
2008/09/02(火) 11:01:34ID:???0305nobodyさん
2008/09/02(火) 15:54:42ID:DwwkROZ80306nobodyさん
2008/09/02(火) 20:40:37ID:???0307nobodyさん
2008/09/03(水) 06:45:31ID:???というかStableまだかな〜・・・
作業大変そうだから無理はいわないが・・・
0308nobodyさん
2008/09/03(水) 17:24:21ID:???殺人的な工数もなんとかこなせてる。俺のスキルがUPしたんじゃなくて
悪魔でCakePHP用の俺俺関数のおかげ
2、3年はこれで喰っていけそうだ。
短納期でいけるようになったのは俺だけじゃないと思うから
もしかするとWEBのシステム単価は低くなると思うよ
0309nobodyさん
2008/09/03(水) 20:22:55ID:???0311nobodyさん
2008/09/04(木) 00:39:08ID:???だから2ちゃんのようなスレッド掲示板の見積もりをCakePHP使ってる個人に出すと
15万円〜20万円くらいが相場になってきてるよ
0312nobodyさん
2008/09/04(木) 00:43:35ID:???安い単価でどれだけ沢山のサイトを作るかだよな。
結果としてWEB制作費用の相場は下がるけど
業界がそういう流れになってるから仕方ないよね
0313nobodyさん
2008/09/04(木) 21:17:37ID:???これが一番儲かりそう。
ホームページ無料で作ってサーバー代をすげー値段とるとこも多いからね。
0314nobodyさん
2008/09/05(金) 09:51:29ID:???なんで俺て頭いいのと思うことが最近多い。
過去の経験も大事だけど、経験にはない
ひらめきみたいなものも大事だと思う
経験+ひらめきがプラスアルファされることで良いものが早く出きる
0315nobodyさん
2008/09/06(土) 01:38:01ID:???何でこんな頭悪いことやってたんだ俺
設計からやり直してー
ってなる。
ならなかったら頭が停滞しているということ。
0316nobodyさん
2008/09/06(土) 15:10:34ID:???プログラムって。
0317nobodyさん
2008/09/06(土) 22:09:53ID:???冴えるときは別人のように俺は天才と思うときがあるけど
50%の割合でしか出せることが出来ない
0318nobodyさん
2008/09/06(土) 22:11:37ID:???天才的なコーディングになることが多い
0319nobodyさん
2008/09/06(土) 22:14:47ID:???天才と思うことが多々ある。
0321nobodyさん
2008/09/07(日) 15:29:05ID:???朝作れなかったら、その日はもうだめだ。
0322nobodyさん
2008/09/08(月) 07:47:54ID:???まあ、週に3,4日はそんな感じ。
0323nobodyさん
2008/09/09(火) 15:11:13ID:1fHefJEIcakephpの表示結果をhtml形式で別に保存する事は可能でしょうか。
0324nobodyさん
2008/09/10(水) 23:58:34ID:???と適当に思い付いた事を言ってみる
0325nobodyさん
2008/09/11(木) 00:25:09ID:ldL7ucwZ0327nobodyさん
2008/09/16(火) 12:22:26ID:AZ36dHRDたとえば郵便番号は必須でないけど999-9999とかでチェックしたい場合
ruleで正規表現を使うと入力していない場合でもエラーが出てしまいます。
解決策はありますか?
0329nobodyさん
2008/09/16(火) 13:57:26ID:AZ36dHRDありがとうございます!!ためしてみます。
0330nobodyさん
2008/09/16(火) 14:11:56ID:AZ36dHRD'allowEmpty' => trueで出来ました。
0331nobodyさん
2008/09/17(水) 04:28:53ID:BI/ji3+I意図しないDivやらFieldsetが吐かれ、
それを抑制するオプションが用意されていないものがあったり。
あっても引数にnullやfalseを並列しなきゃならない。
checkboxによる1フィールド複数選択が作りにくい気もする。
当方、checkboxやradioボタンは<ul>-<li>でマークアップするのが好きなんだけど、
ヘルパー使うとうまくいかなくてやむなく自前で
<input name="data[Model][field]"〜 />って書いてしまう。
私の書くviewはヘルパー使ってたりなかったりでお行儀悪く感じてます。
皆さんformアイテムは全部ヘルパー使って書いてます?
0332nobodyさん
2008/09/17(水) 15:03:58ID:HoHA6PJPまだまだ小規模なのでこれからはまるかもしれんが・・
アプリで共通で使う配列の指定はどうしてますか?
app.phpに記載してbootstrap.phpでconfig('app')として取得できないです。
さらにglobalでしても何も取ってこれないのは何故??
0333nobodyさん
2008/09/17(水) 15:25:41ID:???いよいよ・・・か!?
0334Noone
2008/09/17(水) 16:58:38ID:???0336nobodyさん
2008/09/18(木) 08:01:41ID:???待たせていることをきちんと考えて、最優先で仕上げてもらわないと困る。
0337nobodyさん
2008/09/18(木) 20:21:19ID:???0338nobodyさん
2008/09/18(木) 20:46:54ID:???0339nobodyさん
2008/09/22(月) 11:15:53ID:???Formヘルパーで実現できるかどうか教えてください。
0340nobodyさん
2008/09/22(月) 12:12:40ID:???> 複数チェックできるようにしたいのですが、配列から複数のチェックボックスを作成するにはどのようにしていますか?
> Formヘルパーで実現できるかどうか教えてください。
ちなみに1.2 RC2です。
0341nobodyさん
2008/09/22(月) 23:42:37ID:???0342nobodyさん
2008/09/23(火) 02:22:40ID:???0343nobodyさん
2008/09/23(火) 07:29:42ID:???使うのは ajax ヘルパーのみかも。
0345nobodyさん
2008/09/23(火) 22:23:52ID:???0346nobodyさん
2008/09/24(水) 00:38:38ID:???いまいち読んでも使い方が分かりません
http://www.cakephp.jp/doc/helpers.html#id4810304
どこかに実例があれば・・
0347nobodyさん
2008/09/24(水) 09:24:16ID:J5k/glN9Aのコントローラーのindex()でBに関連付けられているA、Cに関連付けられてるA
をそれぞれ分けて抽出するには、どのようなモデルの関係と条件を作ればいいのでしょうか?
paginate()を使っているのですが、->recursiveを変えたりとかしても、
paginate()で実行されるconditionが反映されるSQLでは
Bのテーブルが含まれないので、どうしたらいいものでしょうか?
0348nobodyさん
2008/09/24(水) 11:52:29ID:bvaeEkejサーバにcakePHPをアップロードしていろいろやってて、同じディレクトリーのほかのファイルにアクセスしようとしたら出来ませんでした。なんでですか?
ディレクトリー構造はこうです。
public_html ┬ cakePHP
├ testphp ←ここの中にアクセスできません
└ eroPhoto ←ここの中にアクセスできません
ご教授お願いします
0349nobodyさん
2008/09/24(水) 13:07:16ID:???よくわからないけど、Aのコントローラのindex()で
Bのデータ(A付属) と Cのデータ(A付属)を取り出したいってこと?
普通はAのコントローラーで、Aのデータを取り出す。
(ついでにBとCのデータも一緒についてくる)って形だと思うんだけど。
0350nobodyさん
2008/09/24(水) 15:47:43ID:???0351nobodyさん
2008/09/24(水) 15:51:42ID:???PHPのフレームワークは
cakephpで決まりだな。
0352nobodyさん
2008/09/24(水) 16:59:48ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=731&forum=2&post_id=1362#forumpost1362
でどうよ!
0353nobodyさん
2008/09/24(水) 17:01:07ID:???リンクつけたり、フォームをajaxにしたり。
すっげー便利じゃない?
javascriptでAjax書くよりスッキリしていい。
俺気が短いからできるだけ早く動くようにできるだけAJAXで書いてるんです^^
0354348
2008/09/24(水) 23:43:42ID:bvaeEkejうわ〜すげー久しぶりに2ちゃんで感謝しちゃう;;
教授!!ありです!!!
0355nobodyさん
2008/09/25(木) 03:14:13ID:FEQjxQnpAの外部キーを持つテーブルBとCがあって、1対多で、
Bに関連づく場合とCに関連づく場合でAの性質が異なるので、
分けて出力できるようにしたいです。
SQL的には
SELECT * FROM `A` WHERE id IN (SELECT DISTINCT A_id FROM B)
みたいな感じなのですが、やはり$usesでBのモデルも指定して、まず
SELECT DISTINCT A_id FROM B
の部分を実行して、その結果をconditionsに入れる感じしかないのでしょうか。
0358nobodyさん
2008/09/25(木) 13:49:24ID:???0359nobodyさん
2008/09/25(木) 15:32:43ID:ddZpNdwx0360nobodyさん
2008/09/26(金) 09:56:35ID:???0361nobodyさん
2008/09/26(金) 13:03:20ID:???cakePHP1.2でSecurityコンポーネントのSecurity->requireAuthを使うと
input->hiddenのnameがすべて{_モデル名}になるのは仕様ですか?
data[_Hoge][id]
みたいに勝手にhiddenに(_)アンダースコアが付くようなんですが。
0362nobodyさん
2008/09/27(土) 07:20:34ID:???設定はどうすればいいの?
0364nobodyさん
2008/09/27(土) 08:41:41ID:???このムービーを見ながら進めてるんだけど、
ムービーの55%くらいのところ、
http://localhost/bookmark/items
をブラウザのアドレス欄に入れて、
表示させるところでつまずいています。
CakePHP Rapid Development
Missing controller
You are seeing this error because controller ItemsController could not be found.
Notice: If you want to customize this error message, create app\views/errors/missing_controller.thtml.
Fatal: Create the class below in file : app\controllers\items_controller.php
<?php
class ItemsController extends AppController {
var $name = 'Items';
}
?>
となってしまいます。
0365nobodyさん
2008/09/27(土) 11:00:39ID:???エラーの表示であってました。
よく見てなかった。
0366nobodyさん
2008/09/27(土) 18:08:20ID:???いれられるレンタルサーバーおしえて。
0367nobodyさん
2008/09/27(土) 18:11:40ID:???それとも、php+mysql対応って書いてるところであれば
どこでも入れられる?
0369nobodyさん
2008/09/27(土) 23:30:54ID:???0370nobodyさん
2008/09/28(日) 00:56:57ID:???phpとmysqlだけでは駄目で、
他にxvfbとgs(Ghostscript)とcli-phpが必要。
phpが入っていればcli-phpも多分入っていると思うけど
xvfbとghostscriptは普通入ってないので、cake-php対応のところがベスト
0371nobodyさん
2008/09/28(日) 14:10:13ID:???0372nobodyさん
2008/09/28(日) 16:42:27ID:???0373nobodyさん
2008/09/28(日) 17:16:23ID:???一番安いところはどこ?
0374nobodyさん
2008/09/28(日) 17:20:25ID:???0375nobodyさん
2008/09/28(日) 17:53:44ID:???月額の料金が一番安いところはどこ?
0376nobodyさん
2008/09/28(日) 19:34:27ID:???0377nobodyさん
2008/09/28(日) 19:47:50ID:???0378nobodyさん
2008/09/28(日) 19:49:31ID:???これってなんでなるの?
0379nobodyさん
2008/09/28(日) 19:55:09ID:???http://www.web2-labo.com/cakephpxrea.html
0380nobodyさん
2008/09/28(日) 20:53:05ID:???http://www.cafechantant.com/blog/2007/09/17/%E3%81%95%E3%81%8F%E3%82%89%E3%81%A7-cakephp/
0381nobodyさん
2008/09/28(日) 20:53:37ID:???なるべく安い方がいいんだけど、
設定がなるべくかんたんなほうがいいな。
そういう観点だと、どこがおすすめ?
0383nobodyさん
2008/09/28(日) 21:30:14ID:???複数形は単純に「s」が足されるわけではなく,
英語として正しい複数形である必要があります。
たとえばdiaryはdiariesとなります。
----------------------------------------
↑って書いてあるけど、ただしい複数形って、
どうやって認識してるの?
0385nobodyさん
2008/09/28(日) 22:57:56ID:???環境さえそろってりゃ使う分には大した手間はかからんだろうよ。coreで十分。
シェルが使えればなお良いがそうなると月2000円以上のクラスか海外使うしかない。
0386nobodyさん
2008/09/29(月) 05:17:18ID:???↑これってどういう意味なのかな?
0387nobodyさん
2008/09/29(月) 06:00:03ID:???0388nobodyさん
2008/09/29(月) 07:02:14ID:???0389nobodyさん
2008/09/29(月) 07:07:55ID:???0390nobodyさん
2008/09/29(月) 07:42:47ID:???レンタルサーバーでcakeが使えるかどうかの話だよ
0392nobodyさん
2008/09/29(月) 10:27:46ID:???0393nobodyさん
2008/09/29(月) 10:32:37ID:???これみて、サンプルは作れたんだけど、
これって計算とかできないの?
カラム1に「3」を入力して、
カラム2に「4」を入力して、
合計を出すとか。
0395nobodyさん
2008/09/29(月) 10:48:40ID:???なんかクエスト出してよ
0396nobodyさん
2008/09/29(月) 10:56:16ID:???フィールド2の値をPHPで取得して、
それをPHPのコードで足して、
変数にいれて
出力して、
ってやるのかな?
0398nobodyさん
2008/09/29(月) 11:02:28ID:???これでできるの?
0399nobodyさん
2008/09/29(月) 14:08:58ID:???cakeでこれと同じの、作れる?
何時間で作れる?
0401nobodyさん
2008/09/30(火) 06:11:34ID:???Λ_Λ Λ_Λ
./) ゚д゚)') ('(゚д゚ (ヽ
(( / / )) ((ヽ ) ))
し―J し―J
0402nobodyさん
2008/10/02(木) 10:34:35ID:???そもそもRC3で直るバグとかって大きいのあるのかな?
0403nobodyさん
2008/10/02(木) 15:03:07ID:???0404nobodyさん
2008/10/02(木) 16:10:21ID:???http://cakeforge.org/frs/?group_id=23&release_id=399
0405nobodyさん
2008/10/02(木) 16:24:33ID:???the bootstrap process is over 10x faster than RC2, and basic requests for static content are now about 5x faster overall.
早くなってるなら大歓迎。
0407nobodyさん
2008/10/02(木) 18:38:43ID:???あと、RC2のとき、リリース直後にすぐ修正版がでたことを忘れないように!
0408nobodyさん
2008/10/02(木) 22:37:50ID:???model->saveが全部うごかねー
0409nobodyさん
2008/10/03(金) 00:16:10ID:???と適当に言ってみる。
0410nobodyさん
2008/10/03(金) 07:26:48ID:???10.1.8 Postビューの作成
がエラーでてできねーと思ったらチュートリアルが1.2用なのかよ。
1.1でやってて1時間くらい悩んじまったよ。
0412408
2008/10/04(土) 07:01:33ID:???テストが動かなくなったけどね。simpletestうぜー
0413nobodyさん
2008/10/05(日) 17:56:46ID:???本末転倒とはこのことですね。
0414nobodyさん
2008/10/05(日) 18:10:04ID:???シンプルなものとか、データーベースからめないで
作りたいときは、データーベースは連携させなくてもつくれるの?
0415nobodyさん
2008/10/05(日) 18:20:00ID:???これとおなじことcakeでやるにはどうしたらいいの?
0416nobodyさん
2008/10/05(日) 18:27:10ID:???0418nobodyさん
2008/10/05(日) 23:46:32ID:???0420nobodyさん
2008/10/06(月) 07:23:58ID:8+YJokg0俺も知りたいわけだが
0421nobodyさん
2008/10/06(月) 12:02:05ID:???app/test/case/model/hoge.test.php
---
class HogeTest extends Hoge {
var $cacheSources = false; var $name = 'HogeTest';
var $useDbConfig = 'test_suite';
}
class HogeTestCase extends CakeTestCase {
var $fixtures = array( 'app.hoge_test' );
---
app/test/fixture/hoge_testfixture.php
---
var import = array('table' => 'hoges');
一部省略しているけど、普通にテスト作って、test.phpを実行すると
「Database table hoges for model Hoge was not found.」
と怒られます。config/database.phpには$testでテスト用DB指定して、
実際にデータベースも作っているんだけど、このエラーのように
hogesテーブルっているの?hoges_testができているから、
これだけで良いんじゃないの?hogesとhoges_test2つ作ったら
エラーはなくなったけど、意味なくない?
0422nobodyさん
2008/10/06(月) 19:58:02ID:???0423nobodyさん
2008/10/06(月) 20:46:28ID:???0424nobodyさん
2008/10/06(月) 22:28:04ID:???0425nobodyさん
2008/10/07(火) 13:12:18ID:???0426nobodyさん
2008/10/07(火) 15:39:11ID:???30分で全部埋まってるw
0427nobodyさん
2008/10/07(火) 19:05:05ID:???0428nobodyさん
2008/10/07(火) 21:15:15ID:???0429nobodyさん
2008/10/08(水) 04:18:11ID:???見過ごせないチケットあんの?
0430nobodyさん
2008/10/08(水) 10:25:50ID:???0432nobodyさん
2008/10/09(木) 02:56:13ID:???いいやがんのよ。で、普通にwebrootの下においたら、全員に丸見えだからさー
どっかに起きたいんだけど、php経由で認証判断してファイルを読み込む仕様なんだけど
こういう系のファイルってみんなはどこにおいている?
候補1)appの下にfilesとかdir作って放り込む
候補2)tmpの下におく
候補3)localeの下におく
候補1っすかねー
それか素直にDBにバイナリで持つか
0433nobodyさん
2008/10/09(木) 03:22:41ID:???0434nobodyさん
2008/10/09(木) 09:15:03ID:???0435nobodyさん
2008/10/09(木) 10:32:15ID:???テキストだけを登録できるソフト、って
先入観があったから、、、、
0436nobodyさん
2008/10/09(木) 13:01:09ID:???0438nobodyさん
2008/10/09(木) 22:07:38ID:z61RYR7MCakephp1.2-RC3でformヘルパー使用してて、radioボタンのnameを[Model名][hoge]みたいにしたくて、
$radioName = 'Model名.hoge';
としたのですが、下記のようなエラーが出てしまいました。
ConnectionManager::getDataSource - Non-existent data source default
ちなみにDBは不使用です。
よかったら教えてもらえませんか…
0439438
2008/10/09(木) 22:10:59ID:z61RYR7M$radioName = 'Model名.hoge';
$radioValue = array("1"=>'1');
?>
<?php echo $form->radio($radioName,$radioValue); ?>
こんな感じです
0440nobodyさん
2008/10/09(木) 22:23:48ID:???CakePHPガイドブックってのが良かった。
あとはオンラインのマニュアルと、ポケットリファレンスが
あれば十分
0441438
2008/10/09(木) 22:27:12ID:z61RYR7Mご迷惑をおかけしました
0442nobodyさん
2008/10/10(金) 15:13:54ID:???0443nobodyさん
2008/10/10(金) 22:48:18ID:/mk3YX6a0445nobodyさん
2008/10/11(土) 00:43:55ID:???function test() {
echo "hoge";
}
ってコントローラに書いたら、hogeは表示されるんだけど、test.ctpが無いと警告が出る。
1.2にて。
0446nobodyさん
2008/10/11(土) 00:50:54ID:???ごめん自己解決。
function test() {
$this->autoRender = false;
echo "hoge";
}
でいけた。
0448nobodyさん
2008/10/11(土) 01:58:46ID:???0449nobodyさん
2008/10/11(土) 02:07:49ID:???DBを使わないフォームを作成したいのですが、
Modelを使用せずに、Controllerに入力チェックとか書いちゃうのは
MVCとしてどうなのかなぁと思いまして
0450nobodyさん
2008/10/11(土) 03:42:32ID:???データベースなのか、ファイルなのかは関係ないはずなので、
入力チェックをするとしたら、モデルでやるのが妥当。
0451nobodyさん
2008/10/11(土) 05:30:44ID:???0452nobodyさん
2008/10/11(土) 07:46:51ID:???var $useTable = false;
でモデルつかってDB使わずでいけるだろ。
0454nobodyさん
2008/10/11(土) 22:44:35ID:???0455nobodyさん
2008/10/13(月) 23:28:41ID:???今案件受けたらRCのCakePHPを使うんでしょうか…?
それとも1.1ですか?
0456nobodyさん
2008/10/15(水) 13:59:49ID:???先日納品した案件は1.2RC2。特に問題はなかったよ。
今日から新しいプロジェクトの開発にかかるけど、そっちはRC3でやるつもり。
1.1は今後使うつもりはないですわ。
以前1.1で開発してたものを途中で1.2に乗り換えたとき、
変更対応でかなりロスしたもんで。
いくら現状唯一のstable版とはいえ、1.1の文法がヘタに染みつくと1.2への移行が精神的にきつくなるかと。
さて。飯にしようかね。。。
0457nobodyさん
2008/10/16(木) 21:22:33ID:???0458nobodyさん
2008/10/21(火) 17:24:56ID:???<?php echo $this->requestAction('/users/login', array('return')); ?>と書くと
users/loginにリダイレクトしちゃうのは仕様?
0459nobodyさん
2008/10/21(火) 22:18:09ID:???0460nobodyさん
2008/10/23(木) 05:04:43ID:???PHPのIDE何使っている?Eclipse?
俺、どうもEclipseのごちゃごちゃ感になじめず
今までテキストエディタを使っていた。
Java以外はなんか怪しいにおいがするし。
で、NetBeans 6.5が標準でPHPサポートするではないか。
今RCがでてる。一般的なIDE的機能はサポートされているだろうから
俺が興味あるのがリファクタリング機能。
デモをざっと見たところ変数名の置換とかには対応しているのかな?
ためしてみようとおもう。うまくCakePHPと連携できるかな?
もしすでにやっている人がいたら、なんか教えてちょうだい。
0461nobodyさん
2008/10/23(木) 07:37:12ID:???0463nobodyさん
2008/10/23(木) 12:18:23ID:???デモにあった名前変更は、よく分からないけど
カーソル行があるスコープ名前を一括で変えるだけ?
遠くにあるコードまでは変わらないようだ。残念。
まあこんなもんか。PHPとしてはまだ初期段階だろうし、
型無し動的言語のリファクタリングは難しいだろうし。
0464nobodyさん
2008/10/24(金) 18:54:01ID:???0465nobodyさん
2008/10/24(金) 22:08:58ID:???0466nobodyさん
2008/10/24(金) 22:22:17ID:???行けるなら行きたいが
0467nobodyさん
2008/10/25(土) 11:39:19ID:???0468nobodyさん
2008/10/25(土) 12:15:33ID:???0469nobodyさん
2008/10/25(土) 13:45:20ID:???RC4までくるとは予想外
0470nobodyさん
2008/10/25(土) 21:06:54ID:???1.2RC4 もうすぐ出る
1.2Stable バグが0件になったら出る
1.3 機能追加等
2 PHP5のみサポートに変更
3 PHP6対応?
0471nobodyさん
2008/10/26(日) 00:22:27ID:???0472nobodyさん
2008/10/26(日) 07:55:28ID:???0473nobodyさん
2008/10/26(日) 11:49:16ID:???0474nobodyさん
2008/10/26(日) 12:14:59ID:???0475nobodyさん
2008/10/26(日) 20:28:30ID:???$html->input('Model.field'); だけになったんだな。
最初気づかなくて焦ったぜ。
0476nobodyさん
2008/10/28(火) 00:36:30ID:???CakePHPで作られているCMSを有名にするのが早いのだろうか。
XOOPSレベルのCMS作って、有名どころの拡張モジュールを移植しまくれば。。。
0477nobodyさん
2008/10/28(火) 00:52:39ID:???表から見える所はいいんだけど、ただひたすら管理画面を作らなきゃならないのが
めんどくさくなって手抜きしちゃうんだよなー。
0479nobodyさん
2008/10/29(水) 10:02:34ID:???idとcreated以外の全カラムが更新されるよね?
俺はカラム指定で保存する場合はこうしてるよ
更新カラムが少ないときはこうするけど
$this->data['モデルA'] = array('name'=>'うんこ');
$this->モデルA->save($this->data, false, array('name'));
更新カラムが多いときはこうすると楽だよ
$this->data['モデルA'] = array('name'=>'うんこ','mail'=>'unko@unko.com');
$this->モデルA->save($this->data, false, array_keys($this->data['モデルA']));
0480nobodyさん
2008/10/29(水) 10:09:11ID:???php初心者だと思うけど
なんか間違ってると思うよ。俺は
var $useTable = false;
でいけてるよ
0481nobodyさん
2008/10/29(水) 10:12:11ID:???eclipseで自分にあったプラグイン作ればいいよ
これほど自分にあったIDE環境はないよ
0482nobodyさん
2008/10/29(水) 15:09:41ID:???controllerに、$this-set('users',$this->paginate()); と書いたのですが、
Fatal error: Call to undefined method TasksController::paginate()
と、コントローラでエラーが出ます。
こうした場合、どこを調べれば良いでしょうか?
0485nobodyさん
2008/10/29(水) 16:28:20ID:???それともhtmlヘルパーのimageで工夫すればよいのでしょうか?
0487nobodyさん
2008/10/29(水) 18:45:53ID:???謝謝
googleで調べまくっていたのですがなかったのですがマニュアルにありましたか。
もっとじっくり読めばよかったです。
0488nobodyさん
2008/10/29(水) 19:27:11ID:???標準ヘルパー系はマニュアルにちゃんと書いてある
0489nobodyさん
2008/10/30(木) 20:56:23ID:???http://book.cakephp.org/ja/
は、深い階層を開いていくと、右側が切れて
table of contentsが見えなくなるんだろう…
IEでもFirefoxでもいっしょ。
0492nobodyさん
2008/10/31(金) 18:02:22ID:???小さな会社の優秀な技術者の採り方 第0回を開催しました
ttp://techlife.cookpad.com/2008/10/27/yu-shu-0/
この記事読んでどう思う? 特に下のあたりについて。
>入社しようと思った理由
> * やりたいことができる
> o 好き勝手やってよい文化がある
> o 経験が生きる
> o キャリアパス上重要なことが学べる
> * 環境がいい
> o 優秀な同僚
> o 海外の事業所がある
> o 女の子かわいい
> * 会社の将来性が感じられる
> o 世界で唯一のチャレンジを行っている
> o 目的がはっきりしている
> * 感じが良い
> o 採用プロセス上 で会ったのがとても良い人
> o 社長が面白い
> * 縁があった
> o 友達とか先輩とかが居た
> o バイトしてた
0494nobodyさん
2008/10/31(金) 20:32:17ID:???頼むから次は、スレ違い、とか言わないでくれよー
0495nobodyさん
2008/10/31(金) 22:54:26ID:???0496nobodyさん
2008/11/01(土) 00:18:12ID:???0497nobodyさん
2008/11/01(土) 02:50:08ID:???id、カテゴリid、値引率、……
みたいになってるとして、
カテゴリid(≒PK以外)を指定して
「該当するカテゴリの値引率を一括で10%に」
みたいな更新って、
(CAKEの機能として)可能ですか?
(Model->save()は
id指定して一件ずつ更新するしかないんだよね?)
0498nobodyさん
2008/11/01(土) 08:59:38ID:???0499nobodyさん
2008/11/01(土) 23:47:11ID:???それぞれの顧客の取引情報をデータベースに入れるとする。
だけど、それぞれの顧客の情報を串刺しで集計する事は無い。」
という(まあ普通じゃない)状況があるとする。
CakePHPで使うデータベースとしてSQLiteを使って、
SQLiteとかならデータベース1つ=1ファイルなので、
それぞれの顧客ごとにデータベースを分けて保存する事って、
できますか?つまり、動的に接続するデータベースを増やせるか?
って事なんですが。
本来なら、MySQLでもなんでも、一つのデータベースに入れて、
SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
組み立てる条件が増えるとミスが増えそうなんで。
データベースを使わず、1顧客につき1つのテキストファイルに
入れるって案も有るんだけど。テキストファイルよりは、
一応SQLiteでもデータベースに入れた方が楽かな、と思ったので。
0500nobodyさん
2008/11/02(日) 00:12:07ID:???0501nobodyさん
2008/11/02(日) 00:53:13ID:???function db($kokyaku){
sqlite_open($kokyaku);
...
}
ってするだけと思ってるんだけど。
0503nobodyさん
2008/11/02(日) 10:58:34ID:???でも、顧客一人一人のデータに関しては、
データベースって言えると思う。
例えば、顧客AのデータをノートPCに
移して持ち出したりする時に、
データベース全体を持ち出すのは危険だし、
その度にいちいちDUMPするのも無駄が多い
(と思う)
そこで、(例えば)SQLiteなら、その顧客の
データベースのファイルだけを持ち出すのが
簡単かな、と。思ったわけですが。
0504nobodyさん
2008/11/02(日) 11:04:28ID:???>組み立てる条件が増えるとミスが増えそうなんで。
ここら辺から考え方がおかしくなっている気がするぞw
串刺しの集計はしなくても、IDをキーに単純抽出する為の場所という認識で
一つの顧客テーブルを使えばいいんじゃないのか?
0505nobodyさん
2008/11/02(日) 12:25:01ID:???> SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
> 組み立てる条件が増えるとミスが増えそうなんで。
この理由でデータベース分けるくらいなら、RDB使わないほうがいいんじゃ‥
データベース単位じゃないけど、テーブル自動生成するやつならつくったことある
0506497
2008/11/02(日) 12:31:59ID:???ありがと
1.2で追加されたのね……
手元の資料になかったお ><
0508nobodyさん
2008/11/02(日) 15:11:53ID:???必要なデータをクラスにまとめて
保存・更新の際にシリアラズしてDBにぶちこめばいんじゃね
0509nobodyさん
2008/11/02(日) 17:41:13ID:???「顧客」って書くから漠然としていて分かりづらいんだな・・・
「辞典」って読み替えてみて。「顧客A」は「国語辞典」、「顧客B」は「カタカナ語辞典」
と、目的毎に辞典の種類は増えて行く。(辞書の場合、串刺し検索できると便利だけど)
全部のデータを一まとめにしたくない。辞書の種類毎にデータベースを分類したいんです。
で、その分類は、例えば「萌え用語辞書」が追加されるとか、どんどん増やして行きたい。
その度に、別のデータベースに分けたい。一つのデータベース、例えば「国語辞典」の中では、
もちろん検索できないと困る。ただし、用語の説明の中身は、用語によって様々だから、
シリアライズして放り込むつもり。
そうすると、SQLiteでデータベースを分けて作ると、1つのファイルがそのまま1冊の
辞書そのものになる。←今回は、ここが重要
これなら「カタカナ語辞書」のファイルを友達に渡しても、「萌え用語辞書」が雑じってる
ことは無いので安心。(例えば、ね)
そういう、いわば辞書編集システムを、CakePHPのデータベースを扱う部分の工夫で
なんとか簡単に作れないかなー、というところなんです。
CakePHPでも複数のデータベースは使えるけど、あらかじめ'database.php'に
書き込んだ物に限られる。これが、動的に増やしたり変更する方法があれば有り難い。
0510nobodyさん
2008/11/02(日) 17:49:09ID:???0512nobodyさん
2008/11/02(日) 21:47:23ID:???0513名無し募集中。。。
2008/11/03(月) 23:33:04ID:8PMDTqib左上に実行中のメソッド名が表示されちゃう(HTMLの最初にメソッド名が出力されている)
んだけどなぜなんだろうか。
0514nobodyさん
2008/11/03(月) 23:35:05ID:???出ているのはメソッド名じゃなくてview名らしい。
0515nobodyさん
2008/11/03(月) 23:40:04ID:???拾ってきたbeforeRender()のサンプルの中に
echo $this->action;があったよ死のう。
0516nobodyさん
2008/11/04(火) 00:02:52ID:???0518nobodyさん
2008/11/04(火) 12:59:24ID:???0519nobodyさん
2008/11/06(木) 21:23:56ID:???bakeについてですが、これはCakeの配置のされ方が、下のページの
http://book.cakephp.org/view/32/Installation
Developmentであることを前提にファイルを生成するもので、Production や
Advanced の配置では使うことができない(現実的でない)という理解でよろし
いでしょうか?
0520nobodyさん
2008/11/06(木) 21:30:59ID:???もし、上の理解が間違っていて、Advancedの配置でもBakeが使えるのだとした
ら、Advancedの一例として、Cake のシステムは共通だが、作成するWEBアプリ
ケーションが同一サーバに複数あって、Cakeの同一のシステムを共有している
場合、特定のWebアプリをどうやってコード生成のターゲットとするか、その指
定方法を教えていただけたら、と思います。
0521nobodyさん
2008/11/06(木) 21:38:37ID:???0522nobodyさん
2008/11/06(木) 21:39:33ID:???http://manual.cakephp.org/ja/view/32/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
駄目だとしても他の場所に作って移動すればいいのではないかと思うんだけど
それじゃ駄目なのかな?
まあ俺が>>513と同一人物と言うことは内緒だが
0523nobodyさん
2008/11/06(木) 22:00:26ID:???すみません、ちょっとおっしゃる内容が分かりません。
少し詳しく質問し直させてください。
例えば、こういう配置だとします。
cake
/usr/lib/cake(個々のユーザは読み取り権限しか持たない)
app
/home/user01/app
/home/user02/app
...
webroot
/home/user01/htdocs
/home/user02/htdocs
...
webrootには各人ごとにindex.phpを置いて、cakeとappの位置を指定します。
この場合、/usr/lib/cake/console に個々のユーザが移動して、./cake bake
を実行した場合、例えばModelのファイルはどこに生成されるのでしょうか?
おそらく /usr/lib/cake/app/models だと思うのですが、ここには一般ユーザ
の書き込み権限がないので、動作しません。
個々のユーザごとに、/home/user0X/app/modelsに出力するよう bakeは指定で
きるのでしょうか?
0524nobodyさん
2008/11/06(木) 22:01:50ID:???日本語のほうはURLが長いのでわずらわしいかと思いまして。
ひとつ前のレスに書きましたが、書き込み権限がない場合を想定しています。
0525nobodyさん
2008/11/06(木) 22:20:55ID:???質問させていただいたのに、非礼をお詫びいたします。
0526nobodyさん
2008/11/07(金) 01:23:09ID:???Bakeでapp一式を生成する話かと思ってたが、modelとかを作る場合の話ね。
cake bake -app <appフルパス>で指定できる
または、
/home/user01/appをカレントディレクトリとして、cake bakeを実行すればよい。
但し、/usr/lib/cake/consoleにはパスを通しておくこと。(ちと気持ち悪いが)
0527nobodyさん
2008/11/07(金) 10:47:32ID:???ありがとうございます!なるほど、コマンドラインオプションで指定するのか。
それにしてもbakeのドキュメントって見つからないと思ったら、
./cake bake help
こうすれば説明が読めることにやっと気づきました。
この説明以外にドキュメントがないというのが何ともですが。
後はソース読むしかないか。Railsもそうだったけど。
0528nobodyさん
2008/11/07(金) 13:57:45ID:???MySQLに画像は保存できるのですが、その画像をselectしてViewで表示するにはどうやればいいですか?
外部のPHPに記述して読み出すようにはあるのですが、cakePHPのViewから同様のことができません。
0529nobodyさん
2008/11/07(金) 14:03:58ID:???何をやって、どう駄目だったのか書いたほうがいい。
外部のPHPなら、Cakeのviewで普通に画像として呼び出せばいいんじゃないの?
0530nobodyさん
2008/11/07(金) 14:13:15ID:???$this->data['Event']['imagedata']にイメージのバイナリがセットされています。
echo $html->image($form->value('Event.imagedata'));
で表示させるとバイナリのまま表示されます。
それでimage.phpを作成して、header("Content-type:image/gif");を指定して
外部のPHPファイルで画像のバイナリを表示させようとしたのですが、
ビュー以下において単純な<img src="image.php">では呼び出せずにいます。
webroot以下やコントローラー以下にも配置したのですが同じでした。
ファイルの置き場所が悪いのでしょうか?
それとも簡単に出来る方法があればよろしくお願いします。
0531nobodyさん
2008/11/07(金) 14:51:26ID:???イメージのバイナリを画像表示用のviewに渡して、viewでheader吐けばいけそうだけど。
MVCの設計としてどうかは知らん
最終的には画像表示用のコントローラ作ればいいんじゃないかな
0532nobodyさん
2008/11/07(金) 14:55:58ID:???ビューでheaderをはきたいのですが他にもHTMLがありますので、画像の部分だけ「Content-type:image/gif」とかを指定したいのです・・・
0534nobodyさん
2008/11/07(金) 15:44:18ID:???メディアビューは初めて聞きます。
サンプルはバイナリファイルをダウンロードさせるようになっていますね。
画像の場合はどのようにすればいいのかまだ分かりません。
例えばMySQLから取得した画像のバイナリーデータを
SNSのプロフィール画像のように表示させたいのです。。。
0535nobodyさん
2008/11/07(金) 16:06:14ID:???>>532
そもそもHTMLと画像は別ファイルだよ。
外部のPHPファイルで画像表示に成功しているなら、viewに直接imgタグ書けばいいだけかと。
0536nobodyさん
2008/11/07(金) 16:12:29ID:???0537nobodyさん
2008/11/07(金) 16:12:54ID:???0538nobodyさん
2008/11/07(金) 16:37:20ID:???2.MySQLから取得した画像のバイナリをイメージで表示
3.HTMLを表示
上みたいな感じなので、2のパートだけをContent-type:image/jpegにしたいのですが
エレメントとかで分けてもheader("Content-type:image/jpeg");を記載したら
URLだけしか表示されないのです。
そのままだとバイナリデータが表示されます。。。
おとなしく画像をアップしてパス指定で管理するしかないのですかね。。。
0539nobodyさん
2008/11/07(金) 16:47:27ID:???http://q.hatena.ne.jp/1141838059
0541nobodyさん
2008/11/07(金) 17:40:49ID:???0543nobodyさん
2008/11/07(金) 18:13:58ID:???ご回答ありがとうございます。なかなか難しいのですね。
cakePHPでSNSのプロフィール画像を表示させたいイメージなのです。
ファイルをアップしてリンクのテキストで対応するのは出来るのですが、
バイナリーで保存してやりたいということです。
0545nobodyさん
2008/11/07(金) 19:05:29ID:???つまんねぇレスすんなハゲ
これは使えないかな?
サムネイルコンポーネント
http://www.hideblog.net/nikkis/show/16
もっとスマートにできるなら俺も知りたい。
0546nobodyさん
2008/11/07(金) 20:24:31ID:???文字データなら出来たけど。
0547nobodyさん
2008/11/07(金) 21:14:59ID:???0548nobodyさん
2008/11/07(金) 22:25:45ID:???コントローラのファイルを、種類によっていくつかのサブディレクトリに分け
て配置することは出来るのでしょうか?
app/controllers/hoge/hoge0_controller.php
app/controllers/hoge/hoge1_controller.php
app/controllers/fuga/fuga0_controller.php
app/controllers/fuga/fuga1_controller.php
このように複数のサブディレクトリを作り、その中にコントローラを分けて納
めるようなイメージです。
また出来るとしたら、それらのコントローラにはどのようなURLでアクセスでき
るのでしょうか?
0549nobodyさん
2008/11/07(金) 22:48:44ID:???http://book.cakephp.org/ja/view/48/CakePHP%E3%81%AE%E3%83%96%E3%83%BC%E3%83%88%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97
0550nobodyさん
2008/11/07(金) 23:08:49ID:???なるほど、ありがとうございます。bootstrap.phpの$controllerPathsですか。
CakePHPでコントローラーを複数のディレクトリに整理する方法 - yandodの日記
http://d.hatena.ne.jp/yandod/20080510/1210416583
> 分散したディレクトリ内でファイル名やクラス名が衝突すると面倒な事になる
> と思われますので接頭語を付けるなどして管理するのが良いかもしれません。
うーん。コントローラの名前空間は共通なのか。
URLのパス指定で、各ディレクトリを呼び分けるとか出来ないでしょうか?
0551nobodyさん
2008/11/07(金) 23:29:48ID:???0552nobodyさん
2008/11/07(金) 23:32:23ID:???そもそもmysqlは画像データを格納するために作っていないから
画像はフォルダに入れて管理した方がいいと
mysql作者が語ってるのに。
そんな自分もかけだしのときはmysqlに画像データ入れてました
管理は楽だけどね。かなりの負荷がかかる。
Bakeとか使う人も素人くさいと思う。
0554nobodyさん
2008/11/08(土) 00:12:16ID:???http://book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A
Routes追加すればURL上は階層化されてるように見せることは出来るが、名前の衝突は回避できない。
コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
0555nobodyさん
2008/11/08(土) 00:14:48ID:???使うのはスキーマ検証時くらいだけど。
0556nobodyさん
2008/11/08(土) 00:17:44ID:???0557nobodyさん
2008/11/08(土) 00:19:20ID:???case by caseだとおもうけど
DBでファイルのパス管理してたらそのファイルが消されてたりとか。
かといって参照頻度が高いときはDBに置きたくないしな
さすがにデザインとかで使うような画像は普通に置いとくけどさ
0558nobodyさん
2008/11/08(土) 01:37:22ID:???DBに入れておいて、参照されたらキャッシュを作り、そのキャッシュを送信するって方法もあるらしい。
2回目以降は早いし、ファイルが消えても問題ない。
0559nobodyさん
2008/11/08(土) 02:27:53ID:???0561nobodyさん
2008/11/08(土) 03:22:53ID:???0562nobodyさん
2008/11/08(土) 07:55:27ID:???画像もDBに格納して管理する −扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め
http://neta.ywcafe.net/000774.html
0563nobodyさん
2008/11/08(土) 11:22:34ID:???mysqlは画像を格納するという目的で設計されてないからね
だから画像をDBに入れるのが悪いというのではなく
画像をmysqlに入れるということがナンセンス
0564nobodyさん
2008/11/08(土) 11:26:06ID:???画像格納させたいならoracleとかの方が合理的だと思うよ
0565nobodyさん
2008/11/08(土) 11:33:20ID:???DBと連携させて管理するのが面倒だけど、そこまで面倒な管理とも思えない
画像はデータの一つだからDB格納がよいという理念なら
htmlもcssも全部DBに入れよということになる
0566nobodyさん
2008/11/08(土) 11:38:58ID:???DBの持つ性能とバランスをどこまで考えてるの疑問に思う
0567nobodyさん
2008/11/08(土) 11:42:47ID:???0568nobodyさん
2008/11/08(土) 12:05:42ID:???通常の Web サーバセットアップを使用する場合は、画像をファイルとして格納する。
言い換えると、データベース内にはファイル参照のみを格納する。この主な理由は、
通常の Web サーバのほうがデータベースコンテンツと比較してファイルのキャッシュに優れているためである。
このため、ファイルを使用したほうがシステムの高速化を容易に図れる。
0569nobodyさん
2008/11/08(土) 12:09:44ID:???ザのデータを一括管理できるというメリットしか存在しないと思うけどな。
Railsのときはそうやってて、非常に便利だった。
0570nobodyさん
2008/11/08(土) 14:24:18ID:???> コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
了解です。ありがとうございます。
今回はbootstrap.phpの$controllerPathsでやって、名前の衝突についてはその
都度対処することにしようと思います。
0571nobodyさん
2008/11/08(土) 15:12:49ID:???B hasMany C
で
C belongsTo D
みたいなときのリレーションの貼り方が判らないんですが、
そもそも可能なんでしょうか?
(Aを基点にA〜Dのテーブルからデータを取ってくる想定)
SQL直書きでは勿論可能ですが。
0572nobodyさん
2008/11/08(土) 15:56:39ID:???そこまでしてリレーションに拘るのは返って
生産性を落とす可能性があるから
要はバランスですね
どこからSQLl直書きにするかの線引きはね
0573nobodyさん
2008/11/08(土) 16:42:40ID:???アクセス頻度やキャシュの実装、使い方や状況によって向いてる場合もあろう。
0574nobodyさん
2008/11/08(土) 17:08:34ID:???簡単に出来るのなら採用したかったのですが・・・
0575nobodyさん
2008/11/08(土) 18:47:57ID:???履歴書の写真とか。
0576nobodyさん
2008/11/08(土) 18:54:20ID:???置くわけでは無いと思うが。
認証チェック経由でファイルを返すのが普通でしょ。
0577nobodyさん
2008/11/08(土) 19:06:19ID:???0578nobodyさん
2008/11/08(土) 19:11:50ID:???ファイルパスのみDBに突っ込んで画像はファイルシステムから読み出すようにすりゃ良いんじゃないの?
画像データそのものをDBに突っ込む必要があるとしたら、
バイナリデータで検索する場合しかなくない?
0579578
2008/11/08(土) 19:15:44ID:???例えばDBだとデータをまとめて暗号化するようなソリューションがある場合があるが
ファイルシステムに保存するとそういう枠組みから漏れてしまう
まあファイルシステムドライバで暗号化すれば良いだけなんだけど
ドライバ方式とDB方式の差異はパフォーマンスくらいか
それも特定ディレクトリだけ暗号化するようにすれば良いだけか
0580nobodyさん
2008/11/08(土) 19:26:04ID:???// 何かしらの認証チェック...
header("Content-type: ...");
...
readfile( 直接ブラウズできないパスの画像ファイル );
?>
な処理をimgのsrcに指定。
0581nobodyさん
2008/11/08(土) 19:32:38ID:???php⇔hdd間での画像データのやり取りをどうするかって事だよね
0583nobodyさん
2008/11/09(日) 06:03:18ID:???同じくらい面倒だ、DB画像管理が最高に楽じゃない限り
パフォーマンスのいいファイルシステムになる
0584nobodyさん
2008/11/09(日) 06:10:19ID:???0586nobodyさん
2008/11/09(日) 13:38:34ID:???> 画像はデータの一つだからDB格納がよいという理念なら
> htmlもcssも全部DBに入れよということになる
画像はM
htmlやcssはV
DBには入れませんが。。。
0587nobodyさん
2008/11/09(日) 13:55:11ID:???リリース時で固定)は別物だと思うが。
前者をDBで一元管理できると便利だよ。
まあ抵抗のある人に無理強いするつもりはないし、個々人の自由だと思うけど。
自分はCakePHPでもこれがやれるならやりたいなあ。
何とか実現できないものか。
0588nobodyさん
2008/11/09(日) 14:11:02ID:???条件があえば、DB管理で一元管理でも良いと思う。
この辺を思い出した。
ttp://neta.ywcafe.net/000774.html
ttp://blog.livedoor.jp/techblog/archives/64648176.html
0589nobodyさん
2008/11/09(日) 15:42:14ID:???0590nobodyさん
2008/11/09(日) 15:47:24ID:???ページ上に表示されるような画像はVだよ
そしてページ上に表示されない画像ならWEBシステムの中に入れておくべきものじゃない
画像でありながらMになりうるのは、画像検索システムのようなものだけ
0591nobodyさん
2008/11/09(日) 15:48:39ID:???それをWEB上からログインして観覧するようなシステムがあるならV
一切使い道が無いならWEBシステム外で保管しておくべきもの
無いと思うけどその画像で画像検索するならM
0592nobodyさん
2008/11/09(日) 23:20:30ID:???検索対象じゃないとMになれないの?
↓そう読み取れなかったが
http://ja.wikipedia.org/wiki/Model_View_Controller
0593nobodyさん
2008/11/09(日) 23:25:24ID:???要件次第だと思うよ。
0594nobodyさん
2008/11/11(火) 09:18:04ID:???ファイルをバイナリーデータに変えたものがMである
0596nobodyさん
2008/11/11(火) 11:39:47ID:???Vはデータを表示する仕組み
Cはデータを操作する仕組み
画像はデータなのでそのどれでもないと思うが
0597nobodyさん
2008/11/11(火) 11:48:43ID:???辞書には
> あつか・う〔あつかふ〕【扱う】
> 道具・機械などを、使ったり操作したりする。取り扱う。
ってあったっす
0598nobodyさん
2008/11/11(火) 12:46:42ID:???Mはデータの出し入れや変換、型決めなど広範囲に扱える
0599nobodyさん
2008/11/11(火) 18:28:03ID:???0600nobodyさん
2008/11/11(火) 18:41:57ID:???0601nobodyさん
2008/11/12(水) 01:29:19ID:???コントローラはモデルで引っ張ったデータをチェックしてビューに渡すだけだな
0602nobodyさん
2008/11/12(水) 09:05:32ID:???モデルに書くと生産性が落ちる
なぜなら
再利用できるように関数化させるのが手間
再利用が2回程度ならコントローラ上でコピペが最短
0603nobodyさん
2008/11/12(水) 09:12:09ID:???総体的にコード量が多くなる。
なぜなら
symfonyのように
MとVのやりとりが直接出来ないから
Cに橋渡し的なコードを書かないといけない分
コード量が増える
symfonyのうような仕様なら
モデルをどんどん厚くすべきだが
CakePHPの場合は
モデルを厚くしすぎるのも
作業効率が落ちると思う
0604nobodyさん
2008/11/12(水) 17:43:12ID:???ここ見るとfind系が全部find()に統合されたって書いてあるけど、
findAllByって使っちゃっていいの?
特に非推奨とは書いてないけど。
findByとfindAllByだと配列で条件指定する新しい形式が使えなくて
nullを並べる旧形式のままだから、条件指定方法が統一できなくて
ちょっと気持ち悪いんだけど…
新形式の条件指定に対応しないってことは、そのうちマジックメソッド自体が
消える予定なのかな。
調べてみたけど、日本語だとこれくらいしか記事がない
http://d.hatena.ne.jp/ichiichinini/20081104/1225832073
0605nobodyさん
2008/11/12(水) 17:55:00ID:???0606nobodyさん
2008/11/12(水) 20:14:45ID:???find系てfind()でほとんど出来ると思うので
最初から意味の無さそうな機能だなとは思ってた
したがってfind()で統一してる人ばかりだと思うんで
どうでもいいよ
0607nobodyさん
2008/11/12(水) 20:23:16ID:???可読性とコーディング量は改善されるけど。
いつも使わない関数だとすれば、単なる無駄
0608nobodyさん
2008/11/12(水) 20:32:06ID:???データのやりとりが配列思考なところなんだよね
というのはphp自体が壊れたオブジェクト指向だから
配列思考型のフレームワークはphpにはピッタリだと思う。
あと配列思考型は中小規模にも適してる
CakePHP自体が中小規模を対象として設計されてると思う
rubyは完成されたオブジェクト指向言語だから
rorのようなオブジェクト指向型でのデータのやりとりがマッチする
0609nobodyさん
2008/11/12(水) 20:36:33ID:???> MとVのやりとりが直接出来ないから
つーかやったらいかんだろw
MVCって何か知ってるか。
まあそんなにやりたきゃ、viewにmodelを渡せばいいだけ。
0611nobodyさん
2008/11/12(水) 21:43:29ID:???0613604
2008/11/13(木) 11:26:34ID:???やっぱりfind()で統一の方向なのか…
AND検索はマジックメソッド使った方が書きやすいから好きだったんだけど。
今後はfind()で統一してみる。
0614nobodyさん
2008/11/13(木) 12:56:14ID:???いいと思うんだけどなぁ・・・。
再利用するかしないかは別として。
まぁ、個人的な意見なのですが。
0615nobodyさん
2008/11/13(木) 16:20:24ID:???0616nobodyさん
2008/11/13(木) 18:25:42ID:???0617nobodyさん
2008/11/13(木) 20:23:44ID:???生産性を第一に考えると関数化してモデルに入れるよりも
コントローラ内で同じ構文を連続コピペした方が早い場合もあるんだよね。
例えば、納期がほとんどないという、追い込まれた状況なら
わざわざ関数化するのも時間がかかるじゃん、そういう意味もあるんだな
時間が限りなくあるなら、出来るだけ関数化してモデルに入れるのがベストだけどさ
0618nobodyさん
2008/11/13(木) 20:26:25ID:???0619nobodyさん
2008/11/13(木) 20:32:36ID:???CakePHPでの経験が無いと、いきなりは、逆に時間がかかり
重要である生産性が落ちると思う。
経験を積みながら、少しずつリファクタリングすてモデルを厚くしていく方法がベストかな
0620nobodyさん
2008/11/13(木) 22:47:32ID:???コントローラーにコードを書きまくってたんだが、
徐々に慣れてきてからは、モデルを厚くする方が良さそうだなという感想。
0621nobodyさん
2008/11/14(金) 15:37:31ID:???って現象に陥った人っていらっしゃいますか?
ブラウザ?と思ったんですが、どのブラウザでも真っ白になっちゃいます。
1.1系で試したらうまくいくのに…。
mod_rewriteも有効、phpのバージョンもOK、パーミッションも変更済み。
.htaccessの内容も確認しましたが、1.1と1.2で同じでした。
同じ現象にぶち当たった方、いらっしゃったら教えてください><
0622nobodyさん
2008/11/14(金) 15:43:57ID:???0623nobodyさん
2008/11/14(金) 15:59:49ID:???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};
ドキュメントが必要?
0724nobodyさん
2008/11/23(日) 13:28:06ID:???やっぱりソースを読むしかないのでしょうか?
> ドキュメントが必要?
あってほしいですね。ドキュメントに載ってない機能って、いつ廃止変更され
るかわからないから。
0725nobodyさん
2008/11/23(日) 17:29:12ID:???詳細なドキュメントあってもなあ
該当記事を探すのに時間かかるし、英語だら翻訳とか余計手間だ
0726nobodyさん
2008/11/23(日) 17:30:39ID:???> >>707
> 書き方も間違ってるし変数のスコープが分かってない。
>
> コンストラクタやセッター的なもので
> オブジェクトから見える場所に代入してないんだから
> fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。
別に間違っていないと思うのですが。
最終行の$xは、その一行前で定義されたグローバル変数です。
function fuga() の中で定義されているローカル変数とは
別のものです。
$y = "hoge"
var_dump($test->$y); // これはNG.
変数名を変えたら紛らわしくなかったかもしれません。
0728nobodyさん
2008/11/23(日) 17:35:34ID:???ドキュメントに載っていようが、RCの場合は変更されてもしょうがない。(事実findをはじめ変更多々あり)
paginateは、もう変更は無いだろうが
0729nobodyさん
2008/11/23(日) 17:37:43ID:???該当と思われるスレ
【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:???確かにスレ違いなので、こちらに移りましょう。
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
0731nobodyさん
2008/11/23(日) 17:44:59ID:???0732nobodyさん
2008/11/23(日) 17:51:46ID:???それはわかってますし、>>726でも「ローカル変数」って書いてます。
取り合えず>>730のスレにお越しください。
0733nobodyさん
2008/11/23(日) 18:08:06ID:???0734nobodyさん
2008/11/23(日) 18:12:23ID:???顔真っ赤にした人が正解を書くのを釣るタイプ。
このタイプはもう飽きたよ。
0735nobodyさん
2008/11/23(日) 18:12:48ID:???> 喧嘩がしたかったようだね('A`)
なんでそうなるのかぜんぜん理解できない。
誤解を訂正して誘導しただけじゃん。
0737nobodyさん
2008/11/24(月) 17:47:59ID:V2OhDKFB書けるのか、サンプルをご存知のかたいませんか??
0738nobodyさん
2008/11/24(月) 18:21:36ID:???0739nobodyさん
2008/11/24(月) 23:29:29ID:???0740nobodyさん
2008/11/26(水) 15:03:25ID:???/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だとこの画像管理方法は出来ないのでしょうか?それとも設定でしょうか?
0741740
2008/11/26(水) 15:17:25ID:???0742nobodyさん
2008/11/26(水) 16:03:06ID:???htaccess は、正常に動作しているの?
webroot/img が存在するなら、index.phpに飛ばない(missing controllerにならない)
php4だと/img 以下にディレクトリを作れないということはないね。少なくとも
0743nobodyさん
2008/11/26(水) 16:09:19ID:???追加
webroot/hoge が存在していなくても、missing controller にはなる
(ディレクトリ名のtypoとかも、あやしいかな)
0744nobodyさん
2008/11/26(水) 16:10:13ID:???webroot/img/hogeだった
0745740
2008/11/26(水) 16:30:50ID:???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で確認しても間違ってなさそうでした。
0746740
2008/11/26(水) 16:46:48ID:???ファイル名が全角なのがダメみたいでした。
$form->selectに画像入れたフォルダ配下のファイル名から拡張子を除いた物を表示させて
アイコンを選択させようと手抜きをしたのがダメでした。
ローカルで出来たのはWindowsだからですかね。(サーバーはLinux)
0747nobodyさん
2008/11/26(水) 16:51:43ID:???やっぱりhtaccessっぽいね。
webroot直下のやつを見直すと幸せになれそうな気がする
RewriteBaseは必要なのかい?
0748740
2008/11/26(水) 17:36:45ID:???ありがとうございます。
調べてみて、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:???debugモードを0にしたらセッションが切れる!みたいな
現象に出くわした方っています?
0750nobodyさん
2008/11/26(水) 21:58:19ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=817&forum=9
これかな?
0753nobodyさん
2008/11/27(木) 23:19:45ID:???困ってしまったんですが、
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>これは /css/base.css のように絶対パスで
試してみた?おそらく結果でわかるはず。
また、ヘルパ使うかどうかはどっちでもいいような。 個人的にはヘルパ使うけど。
0755nobodyさん
2008/11/28(金) 02:37:47ID:???0756nobodyさん
2008/11/28(金) 03:12:08ID:8hLcD3C81.2が遅いので1.1を新規でも使ってる人はいる?
0757nobodyさん
2008/11/28(金) 03:16:26ID:???パフォーマンスの改善がメインでしょ1.2て
0758nobodyさん
2008/11/28(金) 03:17:57ID:???1.2がRCだから1.1つかってる
0759nobodyさん
2008/11/28(金) 03:40:07ID:???このバージョンではこうする、とかじゃなくて
常にこうすれば確実にバージョンアップ出来るみたいな
0760nobodyさん
2008/11/28(金) 06:36:27ID:???1.1のマニュアルに比べて日本語が変なところが多い
コピーしてきたらいいのにね
0761nobodyさん
2008/11/28(金) 14:02:15ID:???<?php e($html->css('my_css_1')); ?>
<?php e($html->css('my_css_2')); ?>
を出力した場合, HTMLソース上では改行されずに出力されます.
動作に支障はないとはいえ気持ち悪いので, 改行させたいのですが
何かよい方法はないでしょうか?
0763nobodyさん
2008/11/28(金) 16:02:50ID:???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:???10個前のレスと同じじゃんね。
俺ならヘルパー使うけど。vendorsに突っ込んだJSとかCSSも読んでくれるし。
0766763
2008/11/28(金) 16:36:33ID:???そうか、css も javascript も同じ考え方なんですね。10個前のレスが同じ
問題だと理解できていませんでした。
さっそくヘルパーを調べ、使ってみました。意図したように動作しました。
ありがとうございます。
1つ不安な所があるのでちゃんと理解したいと思うのですが、
layouts や elements の中にある .ctp などで、javascript のヘルパーを使った場合、
それを呼び出す全てのコントローラーに、
var $helpers = array('Html', 'Javascript');
の記述を行なう、という事であっていますでしょうか?
0767nobodyさん
2008/11/28(金) 17:46:08ID:???app_controller.php に記述すれば全controllerで読み込まれる
'Html'は指定せずとも読み込まれる
0768nobodyさん
2008/11/28(金) 23:02:30ID:???最初の頃使いまくってたけど最近全然使わなくなった。
その代わりコンポーネントを使うようになってく。
0769nobodyさん
2008/11/29(土) 13:54:28ID:???0770nobodyさん
2008/11/30(日) 23:56:45ID:???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別途DBのライブラリ使って直接DBから検索するのが一般的なんですかね
0775nobodyさん
2008/12/01(月) 17:08:02ID:???質問の意味が理解できていないかもしれないけど、
Object にある requestAction メソッドはどう?
0776nobodyさん
2008/12/01(月) 18:58:54ID:???通常はwebroot直下にオリジナルのphpファイルは置かない。
一般的には、DB読むようなファイルなら、pages以下に持ってくる。
(必要ならURL書き換えれば良いし)
0778nobodyさん
2008/12/01(月) 23:13:14ID:???0779nobodyさん
2008/12/02(火) 10:27:07ID:???メール送信ビヘイビアってあるでしょ。
結局コントローラーで qbmailとか使わないといけないからさほど
メリットがないような気が。
英語だけならビヘイビアでいけるだろうが、日本語だからな。
文字化けが。。。
インクリメント・デクリメント以外の便利な使い道を師匠。教えて下さい。
0780nobodyさん
2008/12/02(火) 14:29:46ID:???結構下火だよね
関連開発しょぼいし
本家すら
0781nobodyさん
2008/12/02(火) 14:34:47ID:???cakephpはコード生成が弱すぎ
masterbakeやpowerbakeがあるけど本家開発に組み込まれてるわけじゃなく
バージョンアップ追いついて無いし
標準のbakeだとテーブル一つ毎にモデル作れとかフィールド一つ毎にバリデーション指定しろとかやってられん
機能少ない割にsymfonyより遅いし
0782nobodyさん
2008/12/02(火) 14:57:00ID:???0784nobodyさん
2008/12/02(火) 20:15:49ID:???コントローラに用意するとき、view は、add と edit と2つのファイルを用意すると
思います。
ただ、add の時も edit の時も入力項目は同じで、ページ遷移後の状態が、
空白か、呼び出したデータが表示されているか?程度の差しかないような画面の時でも、
add, edit の view は用意しておくものでしょうか?
それとも、add と edit の両方をまかなえる view を作って、コードで処理させるほうが
いいのでしょうか?
0785nobodyさん
2008/12/02(火) 20:40:05ID:???「僕すごい事知ってるよ」
じゃなくて具体的な例を出せ
>>783
言いに来てるのは既に仕事で使ってて使わざるを得ないからなのと
こういう事が書かれてれば最初から使わなかったってことだな
0786nobodyさん
2008/12/02(火) 21:19:32ID:???確かに参考にはなるけど。
0787nobodyさん
2008/12/02(火) 21:55:16ID:???たぶん1.2からだけど、bakeして吐き出されたviewは、editとaddを共通化している
それを知ってから、すべてのadd.ctpを削除した
admin_edit とかもすべて共通化したら、viewの数が激減してすっきりしたよ
0788nobodyさん
2008/12/02(火) 23:36:54ID:???0789784
2008/12/02(火) 23:43:37ID:???情報ありがとうございます。1.2 を使っているので早速 bake してみましたが、
add, edit は別にはきだされました…。
1.2.0.7692 なので、最新だと思うのですが…。
0790nobodyさん
2008/12/02(火) 23:58:07ID:???どっちか消してどっちかだけ使えば?って話じゃないの?
0791nobodyさん
2008/12/03(水) 01:04:53ID:WkUpG3Q2んんー、ほんのりオシッコの味がするよ!!
0792nobodyさん
2008/12/03(水) 01:06:12ID:???0793nobodyさん
2008/12/03(水) 01:43:34ID:o3/nvN5Xhttp://f.hatena.ne.jp/images/fotolife/b/begorian/20070111/20070111005904.jpg
0794nobodyさん
2008/12/03(水) 01:45:36ID:???0795nobodyさん
2008/12/03(水) 09:35:31ID:???あれ?そうなの?
と、思ったら、記憶違いでscaffold使ったときのことだったかも
/cake/libs/view/scaffolds にはadd.ctp無かったから(rc3で確認)
でも、どっちか消したほうがオススメなのは確か
$form-> create , input は共通で使えるだろうから
0796nobodyさん
2008/12/03(水) 13:24:13ID:???0797nobodyさん
2008/12/03(水) 13:45:22ID:???0798nobodyさん
2008/12/03(水) 13:48:04ID:???0799nobodyさん
2008/12/03(水) 14:48:04ID:???このエラーはどういう意味だろう?
bake allで作成したMVCなのにテーブルが見つからないとは。
publishesなんてテーブル作ってないんだけどね。
cakephp使う際にはそういう名前のテーブルを用意しなきゃいけないとか?
0800nobodyさん
2008/12/03(水) 14:49:48ID:???インデックスなんてプログラムにとって知った事じゃないだろ
0802nobodyさん
2008/12/03(水) 14:55:18ID:???URL:http://localhost/Areas
MVCはbake allで作ってるからテーブル名から正しく生成されてるはず
0803nobodyさん
2008/12/03(水) 17:40:54ID:???Publish モデルがあったり、areas_controller.php で $uses = array('Publish') してない?
0804nobodyさん
2008/12/03(水) 22:50:50ID:???0805802
2008/12/04(木) 03:52:30ID:???特定の場合に、cake allで生成すると
cakephpが内部で使ってるpublishと言うダミーモデルのデータが残ってしまうらしい。
いくつかモデルを生成した中で、一つだけpublishがはいってしまったものがあった。(Userモデル)
cakephpはデフォルトで全モデルを読み込んでるらしく、どのコントローラにアクセスしようと
publishesテーブルが無いと怒られた。
0807nobodyさん
2008/12/04(木) 10:09:08ID:???でもcakeのダミーモデルなのは確か
0808nobodyさん
2008/12/04(木) 10:42:12ID:???2-3個しか入力項目のないフォームがあって、それらの項目に、
hoge, piyo, fuga とか入っているとする。
これを submit したとき、こんなURLに遷移させたい。
http://(base-url)/hoge/piyo/fuga
JavaScriptを使えば簡単だけど、できたらクライアントサイドスクリプトには
依存したくない。
CakePHPに、これを実現するのに便利な仕組みはないんだろうか?
普通に$this->dataからを取得して、implode('/', ...)でつないで redirectす
るしかないのかしら?
0809nobodyさん
2008/12/04(木) 10:46:31ID:???0811nobodyさん
2008/12/04(木) 11:10:30ID:???まあそうなんだけど、もし元々あるんなら利用したいと思って。
>>810
え? mod_rewrite って、
base-url/hoge/piyo -> base-url/index.php?param0=hoge¶m1=piyo
という変換だけじゃなくて、
base-url/index.php?param0=hoge¶m1=piyo -> base-url/hoge/piyo
こっちもできるの?
0812nobodyさん
2008/12/04(木) 13:22:38ID:???0813nobodyさん
2008/12/04(木) 14:33:53ID:???Apache module mod_rewrite
http://www.net-newbie.com/trans/mod_rewrite.html
> 膨大な設定例やドキュメントがあるにもかかわらず、 mod_rewrite は黒魔
> 術である。かなりイケてるっぽい黒魔術だが、 やっぱり所詮は黒魔術である。
> -- Brian Moore
つうかCake関係ないな。すんません。
0814nobodyさん
2008/12/04(木) 14:45:09ID:???0815nobodyさん
2008/12/04(木) 18:08:36ID:???変数・グローバル変数をアソシエーションの定義に使えないよね?
この問題はどう解決すればいい?
0816nobodyさん
2008/12/04(木) 19:08:19ID:???両方のテーブルのフィールドを条件にして片方のテーブルのレコードを抽出したい場合、どうすれば良いですか?
つまりjoinテーブルでつながれた相手側のテーブルのフィールドで自分のレコードを絞り込むと言う事です。
0817816
2008/12/04(木) 19:11:19ID:???SQLを書くしかありませんか?
0819nobodyさん
2008/12/04(木) 22:21:39ID:???routeの設定でいけるんじゃね?
http://cakephp.jp/doc/ch04s03.html#id4799268
0820nobodyさん
2008/12/04(木) 23:20:13ID:???http://domain/controller/action/hoge/fuga
みたいな、actionに渡すパラメータが二つ(hoge, fuga)あるページがあります。
これを paginator でめくれるようにしたいのです。
ところがビューのpaginatorヘルパーは、最初の hoge までしか認識してくれな
いようで、生成されたURLは
http://domain/controller/action/hoge/page:1
みたいになってしまいます。(hogeだけが残り、fugaが消えている)
hoge, fuga両方とも paginatorに認識させる設定はないでしょうか?
0821nobodyさん
2008/12/05(金) 05:38:33ID:???それってアソシエーションをモデルにまとめる以外になんかあるの?
0822nobodyさん
2008/12/05(金) 09:07:44ID:???これなんてほぼモデルに書いてるよ。
http://www.hideblog.net/nikkis/show/99
コントローラーをプログラムの流れだけといった感じにすると
デバッグも楽だし、何しろ仕様変更の時も対応しやすい。
0823nobodyさん
2008/12/05(金) 11:11:35ID:???SQLが分割されて遅くならない?
完全に柔軟にテーブル結合とかやれるわけじゃないし
0824nobodyさん
2008/12/05(金) 13:36:35ID:???逆に下手にjoinせずにクエリー投げたほうが、キャッシュが働いてパフォーマンスが良くなったりしてるんじゃないかと。
「Cakeのデフォルトで充分じゃね?」みたいなこと調べた人いないかな?
0825nobodyさん
2008/12/05(金) 13:47:18ID:???普通、1クエリにまとめた方が速くなる
0826nobodyさん
2008/12/05(金) 13:56:12ID:???そういう場合、SQLの種類を増やすより、パフォーマンスが良くなるっていう話を聞くよね
0827nobodyさん
2008/12/05(金) 17:34:18ID:???バリデーションでエラーになった入力項目(テキストボックス)の
背景色を変更するのによい方法はないでしょうか?
0829nobodyさん
2008/12/05(金) 18:31:39ID:???バリデーションでエラーになった項目の $form->input で class を指定する、という事
でしょうか?
その場合、バリデーションでエラーになった場合、
その $form-input 項目の css を変更するにはどうしたらいいのでしょう?
何かよい方法があるのでしょうか?
0830nobodyさん
2008/12/05(金) 19:00:08ID:???たとえばUser.usernameがvalidation errorの場合、以下のようになる
<div class="input text error">
<label for="UserUsername">ID</label>
<input name="data[User][username]" id="UserUsername" class="form-error" />
<div class="error-message">入力内容を確認してください</div>
</div>
なので、/webroot/css/cake.generic.cssの以下を修正する
.error
.form-error
.error-message
inputの背景色なら
input.form-error { background-color : red } って感じかな
0831nobodyさん
2008/12/05(金) 19:10:47ID:???FORMヘルパーって、DBテーブルと関係の無いフォームを作ることってできます
か?それともそういうのを作るためなら、ただのHTMLを書いたほうが良いので
しょうか?
0832nobodyさん
2008/12/05(金) 19:50:33ID:???丁寧にありがとうございます。
バリデーション後の画面にて、class="form-error" が自動で付いている事に
全く気付いていませんでした…。
希望の画面になりました、ありがとうございました。
0833nobodyさん
2008/12/05(金) 20:29:18ID:???モデルのところにnull入れてやったらいいんじゃない?
<?php echo $form->text(null, array()); ?>
デフォルトのname属性で足りないなら上書きできる
<?php echo $form->text(null, array('name' => 'title')); ?>
ヘルパのおいしいところを享受できるかはわからん
0834nobodyさん
2008/12/05(金) 21:02:40ID:???1. var $validate = array(
2. 'login' => array(
3. 'rule' => array('minLength', '8'),
4. 'message' => 'ユーザ名は8文字以上にしてください。'
5. )
6. );
の
4. 'message' => 'ユーザ名は8文字以上にしてください。'
の 8 の部分を、\config\const.php などに定義してある値でおきかえたいのですが
class Post extends AppModel
{
var $name = 'Posts';
var $validate = array (
のように、クラスのインスタンス変数で定義?するためか、文字列の結合がエラーになって
できなくて困ってますが、対応できる方法はありますか?
0835nobodyさん
2008/12/05(金) 21:19:03ID:???0836nobodyさん
2008/12/05(金) 21:24:02ID:???/コントローラ/
でアクセスする場合、引数って渡せないよね?
0837nobodyさん
2008/12/05(金) 21:54:29ID:???貼付けられたソースが切れてるのでよくわかりませんが、
そのケースではクラス定数を使った方がベターだと思います
>>836
ルーティングの設定によりますが、アクションのindexが省略されてるんだと思うんですが・・・
0838nobodyさん
2008/12/05(金) 21:56:38ID:???本来indexに続けて書くはずの引数をルートから書いても
アクションだと思われて正しく動作しないよね
ルーティング設定で正規表現書けば出来るんだろうけど
0839nobodyさん
2008/12/05(金) 22:04:42ID:???ありがとうございます。
ごめんなさい、切れてるソースの部分は、
var $validate = array(
'login' => array(
'rule' => array('minLength', USERNAME_MAX_LENGTH),
'message' => 'ユーザ名は' . USERNAME_MAX_LENGTH . '文字以上にしてください。'
)
);
こんな感じにしたいんです。
で、USERNAME_MAX_LENGTH は別途 define してあります。
クラス定数にすると、他で使いまわせないのですが、あきらめるしかないでしょうか?
0840nobodyさん
2008/12/06(土) 00:12:44ID:???/controller/?hoge=hage
こんなんどうよwww
>>839
ん?クラス定数だと使い回せないのはなぜ?
むしろグローバルに宣言しちゃった方がライブラリ化して使い回すときに不便だと思うんだけど
0841nobodyさん
2008/12/06(土) 01:05:12ID:???例えば、モデル内で定義するバリデーションのメッセージとして、
「既に登録されています」というメッセージは、どのモデル、ビューかに関わらず
サイト内で一意にしたいわけです。
これを、モデルのクラス定数に定義するという事は、存在しているモデルの数だけ、
同様の「既に登録されています」を定義しなければならないわけで。
こういったサイト全体で一意としたいメッセージ的な文字列は、クラス定数よりは
グローバル定数で定義しちゃいたい、と思うのですが、よろしくないでしょうか?
0842nobodyさん
2008/12/06(土) 01:20:59ID:???つconfigクラス
ついっそ後で置き換え
0843nobodyさん
2008/12/06(土) 05:40:38ID:???railsでしか使ったことないけど、phpでgettextはあんまり情報ないなー
http://codezine.jp/article/detail/3040
http://labs.unoh.net/2007/10/symfony-i18n-with-gettext.html
0846nobodyさん
2008/12/06(土) 08:42:06ID:???アドバイスをお願いできれば…。
User テーブルがあります。ここは、ログインID と、名前、パスワードがあります。
で、その User テーブルの追加/編集/削除ができるように、UsersController, add/edit ビュー、モデルを
作成しました。
これで、Users テーブルへの追加、削除はできるようになりました。
次に、この Users テーブルの内容に基づいてログインするページを作りたいと思います。
その、ログインを管理するコードというのは、別途コントローラを作成するほうがいいのか、
それとも Users テーブルへのアクセス、という事で、作成済の、UsersControlle や、モデルに
ログインするためのコードを追加するのか、どうすべきなのでしょうか?
同じテーブルへのアクセスでも目的が違う場合は、コントローラも別途作成するものなのか、
それとも、テーブルを主体にコントローラ、モデルをふくらませるべきなのか、
混乱しています。
このあたりアドバイスを頂けるととてもうれしいです。
0847nobodyさん
2008/12/06(土) 10:08:35ID:???http://book.cakephp.org/ja/view/172/%E8%AA%8D%E8%A8%BC
ここら辺みてみるのが良いと思う。
よっぽどの事がない限りはこれで大丈夫じゃないかな
0848nobodyさん
2008/12/06(土) 18:17:57ID:???聞いた話だが、cakeって、月500円レベルのレンタルサーバーでも
十分、実用的なスピードで動くんだよね?
0849nobodyさん
2008/12/06(土) 18:21:01ID:???WEBアプリフレームワークとしては重たい部類
WEBアプリフレームワーク自体は今のコンピュータにとって大した重量じゃない
0850nobodyさん
2008/12/06(土) 18:27:41ID:???その500円ってのがさくらのスタンダードなら問題ない
0851nobodyさん
2008/12/07(日) 10:07:09ID:???3年ぶりにPHPでWebアプリを書く事になったのですが、フレームワークが便利になって
ました。これからはCakePHP1.2を利用しようと考えて開発環境のインストールの所から
書籍を購入して進めようと考えてます。
皆さん、どちらの書籍をお勧めですか?
(自分のPCは現在LAMP環境も削除してしまってます。)
1.CakePHPガイドブック(CakePHP1.1 安藤、新原、堂園 07/10/25)
2.CakePHP徹底入門(CakePHP1.2 イージーゲート 08/8/29)
verが1.1ですがCakePHPガイドブックの方が評判が良さそうです。こちらで良いでしょうか?
また、他に良い書籍がありますでしょうか?よろしくお願いします。
0852nobodyさん
2008/12/07(日) 10:52:40ID:???http://www.garacter.com/
こことハンドブックとポケリファ使って勉強してます
0853nobodyさん
2008/12/07(日) 11:20:32ID:???今普通に1.2で作ったサイトを運営してるけど別に問題ないよ
(さくらスタンダード)
>>852
同感。ある程度理解できたらさっさとポケットリファレンスに移行したほうがいいね
0854nobodyさん
2008/12/07(日) 11:42:22ID:???コメントありがとうございます。
どちらも微妙ですか。
それなら、ver1.2で説明してある「CakePHP徹底入門」にしようかな。
(フラフラしてて、いいのかなあ?)
インストールが出来、基本的な使い方が理解できたら
「CakePHPポケットリファレンス」Webページ情報の活用へ移行なのですね。
0855nobodyさん
2008/12/07(日) 13:14:19ID:???翻訳の方乙であります!
0856nobodyさん
2008/12/07(日) 13:40:53ID:???新開発環境の入門時に書籍を活用するのは、効率よく体系的に入門できるのでお勧め
お金に余裕がある人は、人気の入門書籍による入門を勧める。
0857nobodyさん
2008/12/07(日) 13:47:18ID:???ではなく○時間に余裕のない人は、 だな。
0858nobodyさん
2008/12/07(日) 20:42:33ID:???cakephpは全部読破。
お金がなくても自分への投資だからちょっとくらい奮発しても
いいかもね。
0859nobodyさん
2008/12/07(日) 20:45:28ID:???あれ印刷してまとめれば立派な本だよ
0860nobodyさん
2008/12/07(日) 21:01:21ID:???1.CakePHPガイドブック(CakePHP1.1 安藤、新原、堂園 07/10/25)
2.CakePHP徹底入門(CakePHP1.2 イージーゲート 08/8/29)
のそれぞれの特徴をお知らせ頂けると助かります。
また、>>858さんのお勧めがあれば、よろしくお願いします。
ちなみに「CakePHPポケットリファレンス」は購入の予定です。
0861nobodyさん
2008/12/07(日) 22:03:18ID:???0862nobodyさん
2008/12/07(日) 22:23:30ID:???と厳しく言われてんだろう。わかってやれよ。
0863nobodyさん
2008/12/07(日) 22:50:18ID:???昼飯何回か我慢すれば買えるでしょ。
0864nobodyさん
2008/12/07(日) 22:58:55ID:???どこだっけ?
いや、まだ作りかけなんだろうってのはわかるけど
1.2の前の作りかけバージョンの印刷物があってね。
そのPDF版をとっておきたいなと。
0865nobodyさん
2008/12/08(月) 00:02:09ID:???グローバル的な値の場合、セッションに入れるのが定石でしょうか?
CakePHP でそういったグローバル変数的な値を管理するのに勧められる方法があれば
教えてください。
0868nobodyさん
2008/12/08(月) 16:26:31ID:???何か作れば、そのうち、cake流のやり方が身につく。
最初は大変だけど、慣れれば楽しくなってくる。
0869nobodyさん
2008/12/08(月) 17:07:00ID:???0870nobodyさん
2008/12/08(月) 17:07:56ID:???マニュアルもかなり充実してていいけど、
APIの方見たら、ああこんなメソッドもあったのかみたいなのもあるし、なによりcakeの全てが出てるわけだし。
0871nobodyさん
2008/12/08(月) 17:12:43ID:???とか書いて押してみても、submitの値が送信されてないんだけど。
0873nobodyさん
2008/12/08(月) 17:58:48ID:???dataなんてつけるんだ
マニュアル見ても見つからなかった
0874nobodyさん
2008/12/08(月) 19:02:10ID:???コントローラでデータ自体のセットはbakeがデフォルトで出力してくれるからいいけど。
ビューでforeachで探すしかないかな?
APIでidとモデル名入力する感じで取得したいんだけど
マニュアルもAPIリファレンスも落ちてるみたいだし
0875nobodyさん
2008/12/09(火) 17:29:11ID:???二つのフィールドのデータが同じかどうかをチェックする組み込みバリデーションルールってないんだね
なんでだろ
簡単なやり方ってあるの?
0877nobodyさん
2008/12/09(火) 17:50:50ID:???全角通ったり半角しかないのにエラーでたり
0879nobodyさん
2008/12/09(火) 18:18:45ID:???10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
をver 1.2 RC3で実行しようとしています。
http://〜〜/10min_bookmark/
という形でアクセスし、初期画面は表示され、DBの設定もしました。
その後、
app/models/item.php をつくり、
app/views/Items ディレクトリを作り、
app/controllers/items_controller.php を作り、
それぞれを動画通り記述したのですが、
DBの設定前などから現れていた以下のような画面しか出ません。
Release Notes for CakePHP 1.2.0.7692 RC3.
Read the release notes and get the latest version
:
ver 1.2ではこの他にしないといけないことがあるのでしょうか?
0880nobodyさん
2008/12/09(火) 18:20:30ID:???ここへいけ
app/config/route.php
これを編集しろ
てかマニュアル読め
0881nobodyさん
2008/12/10(水) 12:44:02ID:???1度ログインするとブラウザ落としてまたアクセスしても認証状態が保たれてるんだけど
なんでだろう?
1.2
0882nobodyさん
2008/12/10(水) 13:40:53ID:???0883nobodyさん
2008/12/10(水) 13:51:31ID:???highにしたら出来た
ありがとう
0884nobodyさん
2008/12/12(金) 01:20:56ID:???ページアクセス→サーバー側でセッションID変更→ページ読む前に停止
→サーバーから送られてきた新しいセッションIDを受け取らない
→セッションが保たれない。
って問題が昔あったけど、これ改善された? 仕様といえば仕様であるが、
ページ読み込み連打するってことよくあるだろう?
0885nobodyさん
2008/12/12(金) 04:11:49ID:???こりゃhighは使い物にならんな。
0886nobodyさん
2008/12/12(金) 13:15:34ID:???0887nobodyさん
2008/12/12(金) 13:43:18ID:???1.1で覚えたなら1.2での違いはポケットリファレンスなりネットなりを見ればすぐ理解できる。
アマゾンにもそこそこレビューついてるから自分に近い感性の人が勧めているのを選んでもいい。
0888nobodyさん
2008/12/12(金) 19:13:28ID:???マスタ保守系、入力系、問い合わせ系のような分類でパスをかえたいんですが、
CakePHP では、そういう分類をもたせる事はできないでしょうか?
例えば /master/employee, /master/supplier, /master/customer
の配下にそれぞれ、新規、編集、削除を用意する
同じように, /entry/order, /entry/ship のように…。
全部 controllers の中での1次元で管理するしかないでしょうか?
0889nobodyさん
2008/12/12(金) 19:47:38ID:???0890nobodyさん
2008/12/12(金) 20:06:04ID:???Routesの設定 :: 環境設定 :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook
http://book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A
結構ややこしいんで、実は自分もよく分かってないんだけど。
0891nobodyさん
2008/12/13(土) 07:24:42ID:???ちょっと気になることがあって、該当するソースを確認すると、
下記のようになっていた。
return htmlspecialchars($text);
配列を渡すと、その値をすべて処理してくれるのは
便利だけど、htmlspecialchars() はデフォルトのまま
使っているから、シングルクォートは変換されない
(ENT_COMPACT になる)。これはちょっと危険な気が
する。といって、コア部の cake/basics.php を直しても、
バージョンアップのたびに対処しなきゃいけないし、
むしろ忘れてしまう可能性大。
0892nobodyさん
2008/12/13(土) 09:27:11ID:???必要な人は自分でヘルパー作ればいいだけでは
0893nobodyさん
2008/12/13(土) 09:27:59ID:???0894nobodyさん
2008/12/13(土) 09:34:57ID:???http://api.cakephp.org/basics_8php-source.html
0896nobodyさん
2008/12/13(土) 10:07:11ID:???0897nobodyさん
2008/12/14(日) 01:36:39ID:???マニュアル首っ引きでないと作れないからツラい。
うまいことマニュアルを保存しておく方法ないかな。
0898nobodyさん
2008/12/14(日) 12:07:36ID:???0899nobodyさん
2008/12/15(月) 19:20:01ID:???アソシエーションの定義をちまちま書くより joins を自分で書いたほうが楽な
気がしてるんだけど、アソシエーションを作るメリットがあれば
教えて。
0900nobodyさん
2008/12/15(月) 19:23:50ID:???0902nobodyさん
2008/12/15(月) 21:09:51ID:???0903nobodyさん
2008/12/15(月) 22:31:16ID:???例として、
テーブル AAA
コードA, コードB, コードC、その他項目
テーブルA
コードA, 名前A
テーブル B
コードB, 名前B
テーブルC
コードC, 名前C
とあって、テーブルAAA と、テーブルA, テーブルB, テーブルC をつないで、
名前A, 名前B, 名前C を取得したいんですが、複数テーブルを hasOne する方法が
よくわからなくて。
0904nobodyさん
2008/12/15(月) 22:58:07ID:???でもいいし、
カスタマイズしたいなら
var $hasOne = array( 'A' => array('hoge' => 'fuga',
'hoge' => 'fuga'),
'B' => array('hoge' => 'fuga',
'hoge' => 'fuga'),
'C' => array('hoge' => 'fuga',
'hoge' => 'fuga') );
でもいい。
0905nobodyさん
2008/12/16(火) 05:22:00ID:???アソシエーションは親のキーで子のデータを別のSQLで呼び直してる
0906nobodyさん
2008/12/16(火) 11:12:03ID:???替えることってできないだろうか?
単にデバッグレベルを下げるのじゃなくて、他の画面と統一されたデザインの
画面にエラーを出力するようにしたいのだけど。
0907nobodyさん
2008/12/16(火) 11:34:07ID:???cake/libs/view/errors フォルダの中身をまるごと自分のviewに入れる。
APP/view/errors/missing_table.ctp ..とか。
で、あとは好きなようにできるはず。
0908nobodyさん
2008/12/16(火) 11:44:07ID:???ありがとう!試してみます。
質問ついでで申し訳ないのだけど、DBがエラーを起こした場合(バリデーショ
ンではなく、DBそのものの物理的なエラー)に表示されるエラーページって、
どのページなんでしょう?
missing_action.ctp とかいろいろあるけれど、DBエラーに対応するページが分
からない。
0909nobodyさん
2008/12/16(火) 13:55:19ID:???物理的なエラーの時の表示がどんな表示なのかわからないけど、
missing_connection.ctp // DB接続失敗
missing_table.ctp // テーブルが見つからない
このどっちかじゃだめ?
0910nobodyさん
2008/12/16(火) 14:53:25ID:r+TWFAeS0911nobodyさん
2008/12/16(火) 17:16:28ID:???0912nobodyさん
2008/12/16(火) 19:10:08ID:???自分のモデル内で、
function beforeFind(&$model, $query)
{
//コード
}
じゃ駄目なのかな?
Missing argument 2 ってエラーになるんだけど、なんでだろ。
0913nobodyさん
2008/12/16(火) 19:27:30ID:???function beforeFind(&$query)
が正解のようでした。
ところで、今、http://book.cakephp.org/ja にアクセスすると、firefox だと、自動転送がループしています
って接続できませんが、うちだけでしょうか。
0916nobodyさん
2008/12/16(火) 19:57:03ID:???0917nobodyさん
2008/12/16(火) 20:07:34ID:???URL末尾につく全角文字列を消すとアクセス出来るけど
0918nobodyさん
2008/12/16(火) 20:10:16ID:???どうなってんだ
てかマニュアルDLして使いたいわ
重過ぎて使えない事も多いし
0919nobodyさん
2008/12/16(火) 20:15:12ID:???0920nobodyさん
2008/12/16(火) 22:45:16ID:???最初/ja以下を取って来ようとしたらエラいファイル数になったので、
ja/tocとja/viewの中身だけ持ってきました。あとCSSをいくつかと。
ローカルで見ると早くていいわー
0921nobodyさん
2008/12/16(火) 22:55:33ID:???0922nobodyさん
2008/12/17(水) 00:38:26ID:???0923nobodyさん
2008/12/17(水) 06:08:04ID:???0924nobodyさん
2008/12/17(水) 11:18:00ID:???俺もダウンロードしとけばよかった・・・
0925nobodyさん
2008/12/17(水) 13:43:33ID:???どこが管理してんの?
0926nobodyさん
2008/12/17(水) 14:16:17ID:???管理出来ないならwikiサービスにでも書いとけよw
0927nobodyさん
2008/12/17(水) 14:51:11ID:/y/VN6Cv0928nobodyさん
2008/12/17(水) 15:26:29ID:???てか開発参加してー
日本語しか出来ないけど
0930nobodyさん
2008/12/17(水) 17:24:37ID:???ライブラリ増やすとかは問題無いが
0931nobodyさん
2008/12/17(水) 17:38:44ID:???どんなカスが管理してんだ
0932nobodyさん
2008/12/17(水) 17:43:44ID:???細々した機能はCakeのが多機能になってきたねー
AuthとかACLとかお手軽すぎるw
フレームワークなしでは開発できなくなりそう・・・
0933nobodyさん
2008/12/17(水) 18:03:29ID:???パン屑とかツリー表示とか、おいおい前に俺が自作しちゃったライブラリはどうしてくれるんだよ。
ってのが多いわ。
0934nobodyさん
2008/12/17(水) 18:08:10ID:???WindowsXPSP2+Firefox3.0.4
IE6でも見られる
0935nobodyさん
2008/12/17(水) 19:30:18ID:???ループするページが変わっただけ
0936nobodyさん
2008/12/17(水) 19:32:30ID:???そんなんで多機能とか言ってるのが悲しすぎるし
cake本家の開発力を疑う
0937nobodyさん
2008/12/17(水) 19:48:48ID:???マニュアルのいくつかのページでこうなる
自動転送がループしています
このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
リクエストされたリソースの取得を中止しました。このサイトではリクエストの自動転送がループしています。
* このサイトで要求されている Cookie を無効化またはブロックしていないか確認してください。
* 注意: サイトによる Cookie の使用を許可しても解決しない場合、これはご利用のコンピュータではなくサーバの設定に問題があると思われます。
0939nobodyさん
2008/12/17(水) 19:55:33ID:???どんなのが増えるんだろ・・・
どんなの欲しい?
0940nobodyさん
2008/12/17(水) 19:58:10ID:???0941nobodyさん
2008/12/17(水) 20:18:30ID:???0943nobodyさん
2008/12/17(水) 21:28:07ID:???それでお前がライブラリを知っているのかどうかもわかるしw
0944nobodyさん
2008/12/17(水) 21:47:21ID:???役に立つライブラリが少な過ぎるっていってるの
0945nobodyさん
2008/12/17(水) 21:56:58ID:???0947nobodyさん
2008/12/18(木) 12:50:24ID:???0948nobodyさん
2008/12/18(木) 12:56:08ID:???他のコミュニティでも話題になってないだろ
0949nobodyさん
2008/12/18(木) 15:00:40ID:???英語版とかは特に問題なく見れるし、キャッシュがぶっ壊れてるとかじゃないのかなあ。
0950nobodyさん
2008/12/18(木) 15:10:12ID:???リダイレクトのルール設定が間違ってるんじゃないの?
ループしてる奴何人くらい居る?
一人目ノ
0951nobodyさん
2008/12/18(木) 15:24:26ID:???何言ってんだろと思ってたら
3 CakePHPによる開発に移動しようとしたらループ発生したんだぜ・・・
Firefox3.0.4
0952nobodyさん
2008/12/18(木) 15:27:12ID:???0953nobodyさん
2008/12/18(木) 16:52:08ID:???http://book.cakephp.org/ja/view/171
デフォルトのタイトル名がURLに含まれるやつは、リダイレクトの時にデコードされてるからかリダイレクトがうまくいかないね
0954nobodyさん
2008/12/18(木) 16:54:09ID:???俺も試したらなったよ。
自動転送がループしています
このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
0955nobodyさん
2008/12/18(木) 16:56:11ID:???0956nobodyさん
2008/12/18(木) 21:23:43ID:???そこから元のページのある部分の
0957956
2008/12/18(木) 21:25:01ID:???CakePHP のあるページから、別のページを別画面(ブラウザ)に表示して、
そこから元のページのある部分の値をかきかえたい、という事がやりたいのですが、
CakePHP での何かよい方法はありますか?
Javascript をゴリゴリ書くしかないでしょうかね。
0958nobodyさん
2008/12/18(木) 21:41:14ID:???0960nobodyさん
2008/12/18(木) 21:52:50ID:???> それは既に独自に作って自分の競争力にしてるんで言えないな
お前は頭悪いのか?
CakePHPのライブラリの話じゃなかったか?
お前のそのライブラリ、競争力になりえるというのなら
CakePHP以外でも存在しないってことになるよな?
CakePHP以外でお前のそのライブラリがあるのなら、
競争力になるはずがない。
よって、CakePHPだけに使えるライブラリがないわけじゃなく、
どこにもないライブラリという話だ。
その競争力になるライブラリをCakePHPに標準搭載しろと
要求しているのか? お前の競争力なくなるぞ。
まあその程度のライブラリなのだろうなw
0961nobodyさん
2008/12/18(木) 22:05:08ID:???全てのフレームワークを調査したわけじゃないからそんな事は考慮して話してない。
ただちょっと頭を使えばフレームワークに組み込むべき汎用的なコンポーネントがいくつも足りない。
0962nobodyさん
2008/12/18(木) 22:05:59ID:???もう話がしたいんじゃなく単に「僕の不機嫌を治してください」って言ってるようなものだからな
病院いきなよ
0963nobodyさん
2008/12/18(木) 22:14:25ID:???だから、その組み込むべき汎用的なコンポーネントってなんだよw
それは競争力になるから教えられない?
本当に組み込むべき汎用的なコンポーネントなら、
近い将来組み込まれるだろう。
そしたらお前の競争力はなくなる。
お前のはその程度の競争力なんだよ。理解しろ。
0964nobodyさん
2008/12/18(木) 22:18:31ID:???既に論点が変わってるよ
君はCakeの機能が豊富だと主張したいのか
俺には競争力が無いといいたいのか
どっちだったかな?
0965nobodyさん
2008/12/18(木) 22:19:34ID:???なぜいえないんだろうなw
0966nobodyさん
2008/12/18(木) 22:22:08ID:???汎用的なコンポーネントには、競争力なんて存在しない。
汎用的なものは誰でも考えつくし、言った程度でまねされるようなレベルのものなのか?
だから(お前が考えている)汎用的なコンポーネントとは何か言えと言う話。
0967nobodyさん
2008/12/18(木) 22:25:22ID:???0968nobodyさん
2008/12/18(木) 22:26:22ID:???もういえない時点で論外でしょ。こいつ。
0969nobodyさん
2008/12/19(金) 10:20:36ID:???使いたい人だけが使えばよい。
「仕事で仕方なく使ってやってる」とかいうやつは、使いたくないなら仕事辞めればよい
0970nobodyさん
2008/12/19(金) 10:22:08ID:???0971nobodyさん
2008/12/19(金) 11:49:47ID:???テーブル追加
登録、編集、削除、検索(5項目AND Like)、ャyージャー
*フィールドは5つくらい
この一連の作業が30分くらいで出来てしまうんだけど
恐るべきCakePHP
0972nobodyさん
2008/12/19(金) 11:54:53ID:???今年の3月くらいから始めたんだけど
来年はCakePHPで案件フル稼働させるぞ
0973nobodyさん
2008/12/19(金) 11:59:50ID:???コンポーネント利用して簡素化した方が楽だね
0974nobodyさん
2008/12/19(金) 12:01:37ID:???入れ替えで、すぐ使える
http://www.mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination
0975nobodyさん
2008/12/19(金) 12:03:50ID:???ヘルパーでspan扱えるよう加工した
0976nobodyさん
2008/12/19(金) 12:32:47ID:???みたいに、URLにコロンが入るのがちょっとなぁ・・・
まだ?page=1のほうがいい。
どこに手入れればいいのかな?
0977nobodyさん
2008/12/19(金) 12:43:08ID:???html.phpに
var $tags = arrayに
'spanblock' => '<span%s>%s</span>',
'spanblockstart' => '<span%s>',
'spanblockend' => '</span>',
を追加して
span関数を定義したよ
function span($class = null, $text = null, $attributes = array(), $escape = false) {
if ($escape) {
$text = h($text);
}
if ($class != null && !empty($class)) {
$attributes['class'] = $class;
}
if ($text === null) {
$tag = 'spanblockstart';
} else {
$tag = 'spanblock';
}
return $this->output(sprintf($this->tags[$tag], $this->_parseAttributes($attributes, null, ' ', ''), $text));
}
もっと丁寧に説明するべきだけど時間ないから
後はなんとかうまくやってください
0978977
2008/12/19(金) 12:44:21ID:???俺はCSS詳しくないから
ヘルパー加工しただけだよ
0981nobodyさん
2008/12/19(金) 14:06:18ID:???0982nobodyさん
2008/12/19(金) 14:08:46ID:???Our expectation is that we will be able to release a stable very soon after RC4.
ほぼstableなんだろうね
0983nobodyさん
2008/12/19(金) 14:54:35ID:???今俺の使ってるバージョンは
GETデータとPOSTデータの入ってくる配列が違うから
こんなかんじで
$this->params['data']['Model']['mail'];
$this->params['named']["Model.name"];
検索条件は最初POSTデータで飛ばすけど
次ページ処理させるとGETデータでくるから
POSTとGETに対応させるのが面倒だったんだよな
RC4でそれが楽になるってことなんかな?
0984nobodyさん
2008/12/19(金) 14:55:19ID:???RC4て検索条件のGET、POSTパラメーターをとりやすくしてあるのか?
今俺の使ってるバージョンは
GETデータとPOSTデータの入ってくる配列が違うから
こんなかんじで
$this->params['data']['Model']['mail'];
$this->params['named']['Model.mail'];
検索条件は最初POSTデータで飛ばすけど
次ページ処理させるとGETデータでくるから
POSTとGETに対応させるのが面倒だったんだよな
RC4でそれが楽になるってことなんかな?
0985nobodyさん
2008/12/19(金) 15:06:02ID:???BehaviorsRevision Behavior - Revision control made easy Behaviors
Multiple Display Field Behaviors
AttributeBehavior - DRY and powerful
Wizard Component 1.2 Components
A new "automagic" for CakePHP layouts with the CustomLayouts component Components
reCAPTCHA Component & Helper for CakePHP
Validanguage Helper for customizable Javascript form validation Helpers
0986nobodyさん
2008/12/19(金) 15:06:33ID:???FlashChartHelper - version 3
Extending of DboSource and Model with sql generator function. Models
Obvious trick to reduce amount of HABTM relationship tables Models
LDAP datasource for cakePHP
Ajax Chat Plugin (using jQuery) Plugins
GeoCouch Plugin - Storing Geocoded data in CouchDB Plugins
ACL Management Plugin
How to create an XML-RPC server with CakePHP Snippets
eAccelerator Cache Engine Snippets
Form posting with '_GET' parameters
0987nobodyさん
2008/12/19(金) 15:55:16ID:???http://pc11.2ch.net/test/read.cgi/php/1229669539/
0988nobodyさん
2008/12/19(金) 16:07:36ID:???0989nobodyさん
2008/12/19(金) 17:27:39ID:???なんか名前だけ見るとめっちゃワクワクするんだがw
以下、訳じゃない。名前から俺が想像したもの。
BehaviorsRevision Behavior ・・・リビジョン管理?なんか面白いこと出来そう。
AttributeBehavior- DRY and powerful ・・・DRYってことはテーブル変更せずに属性付けられる?
Wizard Component 1.2 Components ・・・これでウィザード的なページ変移が簡単に行える?
reCAPTCHA Component & Helper for CakePHP ・・・うほっ。キャプチャwww
Validanguage Helper for customizable Javascript form validation Helpers ・・・JavaScriptバリデーション生成? これで完全にQuickForm不要?
FlashHelper、FlashChartHelper・・・Flashまああると便利だね。
Ajax Chat Plugin (using jQuery) Plugins ・・・いるのかこれ?w
Form posting with '_GET' parameters ・・・ん? 今でも出来るような気がするが何か勘違い?
0990nobodyさん
2008/12/19(金) 17:35:51ID:???0991nobodyさん
2008/12/19(金) 17:53:25ID:???汎用性の無いヘルパーだったり、設計がダメダメだったりするんだろ?
0992nobodyさん
2008/12/19(金) 18:12:25ID:???野良で作ってるような機能を、公式できちんと載せればいいのにってことだろ。
0993nobodyさん
2008/12/19(金) 18:56:00ID:???RC4 をダウンロードしてみたんだけど、どこに実装されているのかわからない…。
0994nobodyさん
2008/12/19(金) 19:47:29ID:???0995nobodyさん
2008/12/19(金) 20:01:03ID:???俺の探し方が悪いのか?
0997nobodyさん
2008/12/19(金) 20:28:01ID:???それはべつにrc4の新機能じゃない
0998nobodyさん
2008/12/20(土) 09:50:59ID:???0999nobodyさん
2008/12/20(土) 14:31:32ID:???10001001
2008/12/20(土) 14:37:49ID:rjb0NaLDもう書けないので、新しいスレッドを立ててくださいです。。。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。