【PHP】フレームワーク CakePHP
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/18(土) 20:53:22ID:???本家
http://www.cakephp.org/
10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
マニュアル日本語化
http://www.cakephp.jp/doc/
日本語フォーラム
http://cakephp.jp/modules/newbb/
あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
0174nobodyさん
2007/05/07(月) 22:48:01ID:???しかも、悪い噂も多い2ちゃんねる。
自分が作っているのを教えると、
このサイトの開発者は
2ちゃんねらだとばれる。
常識的に考えて教えるわけが無い。
0175nobodyさん
2007/05/07(月) 23:26:24ID:???0176nobodyさん
2007/05/08(火) 00:10:31ID:???0179nobodyさん
2007/05/08(火) 03:24:46ID:???0180nobodyさん
2007/05/08(火) 03:25:29ID:???0181nobodyさん
2007/05/09(水) 00:45:48ID:???0182nobodyさん
2007/05/11(金) 09:49:27ID:???Web2.0 ビギナーズバイブル
http://www.cbook24.com/bm_detail.asp?sku=9784839923228
Chapter 9 CakePHPとPHPによるWeb 2.0高速開発
9-1 WebアプリケーションフレームワークCakePHP
9-1-1 CakePHPとは
9-2 習うより慣れる
9-2-1 ウェブログを作ろう!
9-2-2 開発環境について
9-2-3 CakePHPのダウンロード
9-2-4 新規プロジェクトの作成
9-2-5 データベースの準備
9-3 アプリケーションを作る
9-3-1 新規アプリケーションの作成
9-3-2 モデルの作成
9-3-3 コントローラの作成
9-3-4 ビューの作成
9-3-5 アプリケーションを動かしてみる
9-3-6 なぜ動くのか?
9-4 ブログ機能を追加する
9-4-1 カテゴリとコメント機能を付ける
9-4-2 カテゴリとコメント機能の仕組みを理解する
9-4-3 認証機能を付ける
9-4-4 RSS配信機能を付ける
9-5 もっとブログ
9-5-1 indexページを変えてみる
9-5-2 カテゴリ別indexページを作ってみる
9-5-3 カテゴリ一覧を作ってみる
9-5-4 詳細表示画面でコメントを入力できるようにする
9-6 スタイルの変更
9-6-1 スタイルシートを使う
0183nobodyさん
2007/05/11(金) 17:49:19ID:???0184nobodyさん
2007/05/11(金) 19:38:19ID:???なんで二回も言うんだよ?!
0185nobodyさん
2007/05/11(金) 21:05:47ID:???0186nobodyさん
2007/05/12(土) 15:25:45ID:???PHPによるJavaScriptを書かないAjax
http://www.9-ten.co.jp/bookdata/1753.php
Part 4 AjaxをサポートするPHPフレームワーク
4-1 CakePHP
4-1-1 CakePHPのインストール
4-1-2 アプリケーションの作成
4-1-3 CakePHPのヘルパー
4-1-4 データベースへのアクセス
4-1-5 CakePHPのAjaxサポート
4-1-6 高度なAjax機能
0187nobodyさん
2007/05/12(土) 15:27:41ID:???http://www.phppro.jp/magazine/2007_winter.php#article5
0188nobodyさん
2007/05/17(木) 18:27:26ID:???という俺もないが。
0189nobodyさん
2007/05/21(月) 13:07:42ID:???0190nobodyさん
2007/05/21(月) 13:29:44ID:???http://cakephp.jp/doc/
0191nobodyさん
2007/05/24(木) 14:12:50ID:GefDq5o4レイアウトなのでコントローラからも直接渡せないのです。
よろしくお願いいたします。
0192nobodyさん
2007/05/24(木) 15:09:11ID:???一番スマートかどうかは知らんが
0193nobodyさん
2007/05/24(木) 15:09:46ID:GefDq5o40194nobodyさん
2007/05/24(木) 15:13:26ID:???ttp://www.cakephp.jp/doc/ch07s02.html#id4806116
0195nobodyさん
2007/05/24(木) 15:15:41ID:GefDq5o4それをセッションで判断してるんですけど、
すべてのコントローラとすべてのアクションからセッションの値(ログインしているか)をsetするのは非現実的なので、
何かいい方法はないかなぁという質問です。
0196nobodyさん
2007/05/24(木) 15:22:08ID:???で、現実的にはAppControllerの__construct()をオーバーライドして
そこでsetするのがいいんじゃないかな。
cakeのライブラリを直接いじるのが気になるなら、
AppControllerを継承したMyAppControllerクラスを作って
__construct()のオーバーライドはそこですることにして、
他の自作のたくさんのコントローラはMyApppControllerを継承する。
0197nobodyさん
2007/05/24(木) 15:35:35ID:IzNiejk0ここだけは気をつけろ
0198nobodyさん
2007/05/24(木) 16:28:48ID:GefDq5o4ちょっとめんどくさそうなんで、別の方法模索します。どうもです。
0199nobodyさん
2007/05/25(金) 03:17:17ID:???どうせ、業務でつかうんだろうに。
0200nobodyさん
2007/05/25(金) 03:53:03ID:???コンストラクタのオーバーライドが面倒って・・・w
0201nobodyさん
2007/05/25(金) 11:54:10ID:???MyAppController.phpを作らなくても、
appディレクトリ直下にapp_controller.phpをおけば、アプリからは自動的にこれが使われるようになるよ。
AppModelも同様。
0202nobodyさん
2007/05/25(金) 14:13:21ID:???0203nobodyさん
2007/05/25(金) 14:34:37ID:heBQtPKbって感じでfalse渡すと全部拾ってくるのはどういう理屈?
0204nobodyさん
2007/05/25(金) 19:05:16ID:???string か array を渡せと書いてあるはず。
0205nobodyさん
2007/05/26(土) 00:04:23ID:???0206nobodyさん
2007/05/28(月) 14:07:41ID:???0207nobodyさん
2007/05/28(月) 14:18:38ID:???恥ずかしいので発表しないでください。
0209nobodyさん
2007/05/28(月) 16:21:28ID:???0211nobodyさん
2007/05/28(月) 17:19:52ID:???ブラウザを閉じるまで持続させる、とかはどうやって設定するんでしょうか。
0212nobodyさん
2007/05/31(木) 15:17:02ID:9EiCBHk0たとえば、あるページにだけ使いたいjsを読み込んだり。
レイアウトに指定すると、全てのページで読み込まれるからあまりよろしくないですよね。
よろしくおねがいします。
0213nobodyさん
2007/05/31(木) 15:23:36ID:???0214nobodyさん
2007/05/31(木) 15:23:57ID:???自動的に制御したければそういうヘルパーを書いてもいい。
0215nobodyさん
2007/05/31(木) 15:50:36ID:9EiCBHk0なるほど。盲点でした。
ありがとうございます。
でも、1行のためにファイル1つ増やすのもなんかスマートじゃない気がするんですが、
みなさんが同じ場合でもそうしますでしょうか??アドバイスおねがいいたします。
0216nobodyさん
2007/05/31(木) 15:56:27ID:???どれぐらいの量のタグを追加するのか、
将来的にも他のページで使う可能性はないのか、など。
0217nobodyさん
2007/05/31(木) 16:33:59ID:???0218nobodyさん
2007/05/31(木) 18:08:22ID:9EiCBHk0具体的にどういうことですか?
0219nobodyさん
2007/05/31(木) 20:23:12ID:???いやー、具体的にと言われても…
つーか、レイアウトにエレメント埋めて、そこで条件判別すればー?って話なんだけどさー。
0220nobodyさん
2007/05/31(木) 20:45:45ID:???0222nobodyさん
2007/06/02(土) 08:24:46ID:???layout側の記述
<head>
<?php
if(isset($javascripts) && is_array($javascripts)){
foreach($javascripts as $js){
echo JavascriptHelper::link($js) . "\n";
}
}
?>
</head>
で、controller側から
$this->set('javascripts', array('prototype', 'tekitou');
って記述するとprototype.jsとtekitou.jsが読み込まれる。
0223nobodyさん
2007/06/02(土) 11:18:32ID:???0224nobodyさん
2007/06/02(土) 11:18:50ID:???0225かけphp
2007/06/06(水) 11:42:57ID:i598mYRRCake使ってる人たちにお聞きしたいのですが、実際に使っている方にとってCakePHPって
どこまで満足して使えていると思いますか? CakePHPがあれば大抵のアプリは
簡単に構築できるようになるのかな。
0226nobodyさん
2007/06/06(水) 11:46:51ID:???Paginationや認証もわざわざ自分で書く(持ってくる)必要があるから簡単とはいえない気がする。
bakeに類するものを使っても、対話式は非効率だし。
0227nobodyさん
2007/06/12(火) 11:52:23ID:9MpyswiS0228227
2007/06/12(火) 14:20:15ID:9MpyswiSところで、改行コードを改行タグに変換してくれるヘルパーってないですかね?
標準で実装しててもいい機能だと思うけどなあ
0229nobodyさん
2007/06/12(火) 15:57:53ID:???0230nobodyさん
2007/06/12(火) 17:30:42ID:???0231nobodyさん
2007/06/12(火) 18:00:52ID:???0232nobodyさん
2007/06/14(木) 15:56:59ID:ZlJLpzATclass ChildController extends ParentController
としても、Cannot inherit from undefined class parentcontrollerと、エラーが出てしまいます。
0233nobodyさん
2007/06/14(木) 20:35:37ID:???0234nobodyさん
2007/06/15(金) 10:39:14ID:???うわ、すげぇ、こんなド素人がフレームワークを使おうとしている。
cakePHPはそういうポジションなのか・・・。
0235nobodyさん
2007/06/15(金) 13:08:03ID:???データベースのフィールド増やすたびに
/app/tmp/cache/models
の下のキャッシュを削除しないといかんのでしょうか?
そうしないとcakePHPは新しいフィールドを一切認識してくれません
0237nobodyさん
2007/06/15(金) 16:15:48ID:WBx+PEHj開発中ならDEBUGを1以上にしてればいいんじゃない?
0238nobodyさん
2007/06/15(金) 16:20:32ID:???これのせいで2時間悩んだ
0239nobodyさん
2007/06/18(月) 13:41:31ID:As+yaC2S"2007-06-18 12:00:00"って文字列渡しても認識してくれるけど
0240nobodyさん
2007/06/18(月) 14:18:11ID:???MySQL内で型の変換してるんだとおもうけどな。
時間順にソートできるんだから。
0242nobodyさん
2007/06/18(月) 17:44:42ID:???$this->model->del(array(1,2,3,4));
複数削除するのはSQL直接叩かないとだめなのか?
0243242
2007/06/18(月) 17:46:37ID:???$this->model->del($i);
アホっぽいか('A`)
0244nobodyさん
2007/06/18(月) 18:30:53ID:???DboSource::delete(&$model, $conditions) を呼び出せば一応出来る。
$db =& ConnectionManager::getDataSource($model->useDbConfig);
$db->delete($model, 'id = 1 or id = 2');
ただこの方法だとbeforeDelete()とかはされないので
必要なら明示的にやらないといけないが。
0245nobodyさん
2007/06/18(月) 18:47:07ID:???送信ボタン押したら、確認画面にいくようにしてるんですけど、
この間でバリデーションを行って、エラーが出れば、
edit.thtmlに戻るようにしてるんですが、パラメータのidの値をvalueに入れちゃってるんで、
フォームで編集(変更)した値が消えて、初期値に戻ってしまうんですが、
何かスマートな方法ありますでしょうか?
私の考えでは、
editアクションで、データが送信されなかった場合のみ、valueに設定する初期値を、
コントローラからビューにsetさせ、ビュー側でsetされたかifで調べて、valueに入れる。
データが送信されたら、何も渡さない(inputのfieldNameに基づき送信データがvalueに入る)ようにしているんですが、
inputの数だけifで調べて、コントローラ側でもinputの数だけsetしなければいけないので、かなり面倒なことになってます。
もっとスマートな方法があれば助言お願いいたします。
0246nobodyさん
2007/06/18(月) 18:59:27ID:???何もしてないのに勝手に初期値に戻るわけないだろ。
findとかでDBから値を読み込んでるところがあるはず。
そこを確認画面以降は行わないようにすればいいだけなんじゃないのか?
これで分かんなかったらコントローラのソース晒せ。
0247242
2007/06/18(月) 19:01:11ID:???thx
結構、奥の方まで食い込まないとなのね
>>245
的を射てるか分からないけど
コントローラ側で$this->dataに代入するしないを分岐するだけでいいんじゃないかな
0248nobodyさん
2007/06/18(月) 23:44:54ID:???デフォのvalidatorってpreg系なので、UTFなら日本語自体は通るが、
「ひらがなのみOK」とかってできなくね?
ということで結局mb_ereg系のバリデータ書いちゃったよ。これでええのんか・・・?
0249nobodyさん
2007/06/19(火) 00:13:11ID:???UTF-8なら、u修飾子つかえばOK
var_dump(preg_match('/^[ぁ-ん]+$/u', 'あいうえお'));
var_dump(preg_match('/^[ぁ-ん]+$/u', '漢字かな交じり'));
0251245
2007/06/19(火) 11:37:07ID:OkFSOfnZ$hoge1_attribute['size'] = 20;
$hoge1_attribute['value'] = null;
if(!empty($Hoge['Hoge']['hoge1'])){
$hoge1_attribute['value'] = $hoge['Hoge']['hoge1'];
}
echo $html->input('Hoge/hoge1', $hoge1_attribute);
こんな感じでinputの数だけ直前に記述しているんですが、こんな感じでやるしかないんでしょうかね?
かなりビューがみにくくなっちゃいますが・・・
みなさんならどうしますでしょうか、助言おねがいします。
0252nobodyさん
2007/06/19(火) 12:44:17ID:???Set::merge使えばおわりじゃん。
0255nobodyさん
2007/06/19(火) 15:29:42ID:???0256nobodyさん
2007/06/19(火) 16:10:22ID:???まず、ショッピングカートがあります。
そのショッピングカートはいろんなタイプの商品があります。
その商品タイプごとに入力できるデータ項目が違います。
(飲料商品タイプは内容量ミリリットル入力フィールドがあるけど、
雑誌商品タイプではISBNフィールドがあるなど。)
この場合に商品タイプごとに専用のテーブルをつくるのは
変な設計ではないと思いますが、この商品タイプを
CakePHPで作ったアプリの管理画面から増やそうと思ったら
create table文を発行することになると思います。
またこの商品タイプの管理画面を担当するphpファイルを
コピーして増やすことになると思います。
一般的にはbake等でプログラマが手動で追加していくコード・DB構造が
エンドユーザーが管理画面から操作することにより、
自動的にプログラムコードが拡張されていくようなイメージになります。
こういうのって気持ち悪いシステムなんでしょうか?
他にこのような自動的にプログラムが拡張されるような
仕組みを持ったものありますか?
このまま進めると大きな問題になりそうで不安です。
0257nobodyさん
2007/06/19(火) 16:20:37ID:???「飲料食品タイプ」の内容量ミリリットルって
「雑誌商品タイプ」でいうところの書籍重量ってのと、どう違うの?
逆にISBNコードってのは業界の商品流通コードなんですよ。各業界にも
あれこれあるでしょ?使うかどうかは別にして。
0258nobodyさん
2007/06/20(水) 00:23:26ID:???> そもそも「商品タイプ」というものに必要な属性の抽出が出来てない感じをうけるな。
世の中のすべての商品タイプをあらかじめ抽出なんて不可能でしょう?
> 「飲料食品タイプ」の内容量ミリリットルって
> 「雑誌商品タイプ」でいうところの書籍重量ってのと、どう違うの?
> 逆にISBNコードってのは業界の商品流通コードなんですよ。各業界にも
> あれこれあるでしょ?使うかどうかは別にして。
だからなんなんでしょうか?
例なんだから、細かいところにこだわりすぎ。
共通で汎用の商品タイプ作れとかそういう話ですか?
価格ドットコムで検索したことありますか?
不可能でしょ。そんなこと。
0259nobodyさん
2007/06/20(水) 00:33:05ID:???0261nobodyさん
2007/06/20(水) 02:21:55ID:???>>257 の「使うかどうかは別にして」というのはそういうことだと思うよ。
ただ「書籍重量」という例はちょっと悪いな
もしそういうものを作るんなら、たとえば
・商品カテゴリテーブル(id,商品名)
・商品詳細項目名テーブル(id,商品カテゴリid,項目名,項目タイプ)
・int項目タイプ詳細テーブル(id,商品カテゴリid,商品詳細項目id,値)
・varchar項目タイプ詳細テーブル(id,商品カテゴリid,商品詳細項目id,値)
・text項目タイプ詳細テーブル(id,商品カテゴリid,商品詳細項目id,値)
この4つですむじゃん。たとえばだけど
とにかく>>256は正規化でしらべやがれ、
DB板(ドラゴンボール板)に行け、そして戻ってくるな
つうか、初心者増えたのか?cake界は
0263nobodyさん
2007/06/20(水) 02:34:35ID:???0264nobodyさん
2007/06/20(水) 06:53:32ID:???>239
>242
>245
>256
厨発生中だな。
245と256は同一?
0265nobodyさん
2007/06/20(水) 10:48:12ID:zjQXSfAjやっぱり、CakePHPが絡んでくるので、どうしてもCakePHPの説明が入ってしまいます。
ここの方がよかったかもしれません。
どなたかご回答お願いします。。
0266nobodyさん
2007/06/20(水) 12:04:49ID:???なにがしたいのかわからん。タイプ数減らしたいだけか?
0267nobodyさん
2007/06/20(水) 13:57:48ID:zjQXSfAjclass Bbs1Controller extends AppController
{
var $m = ここに$this->Itemと同等のが入れたい
function index()
{
$this->m->findAll()
}
}
こんな感じのを想像していて、
$m(コントローラで使いたいモデル)をあとで変更できるようにしたいのです。
$this->Item->findAll()みたいな、モデルを使うところがたくさんあるので、
継承したあとに、var $mだけ書き換えれば、違うテーブルを使えるようになったらいいかなぁと思ったんですが。。。
get_object_varsではできませんでした。
0269nobodyさん
2007/06/20(水) 16:59:59ID:zjQXSfAj本番環境に移行するとなると、いろいろとめんどくさいんだよな。
0270nobodyさん
2007/06/20(水) 17:58:58ID:???class anyclass extends base
{
$model = 'default';
function index()
{
$this->{$this->model}->findAll();
}
function setter($model)
{
$this->model = $model;
}
}
$class = new anyclass();
$class->findAll();
$class->setter('other');
$class->findAll();
0271nobodyさん
2007/06/20(水) 18:07:04ID:???>DB板(ドラゴンボール板)に行け、そして戻ってくるな
>つうか、初心者増えたのか?cake界は
君のテーブル見る限り、君自身が完全に初心者なんだが…
0273nobodyさん
2007/06/20(水) 18:23:54ID:???書籍重量って書籍が決まればそれに付随して一意に決まるだろ…
喩え出す奴が馬鹿すぎるとダメだなw
しかもそれに面白レスしてる261が別人ってのはにわかに信じがたい
さすがcakeかっけーぜ
■ このスレッドは過去ログ倉庫に格納されています