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

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

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

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

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

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

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

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

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

【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0251nobodyさん2008/08/22(金) 14:45:43ID:???
coreに入ってるinflector使えばでできるんじゃないの?
0252nobodyさん2008/08/22(金) 14:47:56ID:???
これね。
http://book.cakephp.org/ja/view/491/inflector
0253nobodyさん2008/08/22(金) 15:00:49ID:???
>>252
いい事聞いた
0254nobodyさん2008/08/22(金) 16:24:43ID:???
index => indices
0255nobodyさん2008/08/22(金) 21:54:49ID:???
俺は英語よりも日本語のほうが表現力の豊かさの点で好きなんだが
複数形という概念は、すごいと思ったな。
大昔に作られた英語が、ここまでプログラミングにマッチするとは。

もし複数形がなければ、変数名に悩むことが多かっただろう。

でも、日本語は、単語と単語をくっつけて合成語を簡単に作れるから
やっぱり日本語が便利だな。「前月商品金額合計」みたいな。
英語だったら長い。

あと、音を表すだけのひらがな・カタカナ。
外来語を簡単に日本語に変換できてしまうカタカナ。

同じ言葉でも、漢字で書けば男っぽく、ひらがなで書けば女っぽく、カタカナで書けば外国っぽくなる面白さ。
あぁ。日本語ってすばらしい。
0256nobodyさん2008/08/23(土) 00:10:11ID:???
和んだw
0257nobodyさん2008/08/23(土) 02:58:57ID:???
英語的に正しいかとか気にしてないなぁ。
LastMonthItemPriceSummary
とかさぁ。
0258nobodyさん2008/08/23(土) 09:13:23ID:???
ワロタw
0259nobodyさん2008/08/23(土) 11:36:45ID:???
SexAndTheCityHelper
02602492008/08/23(土) 15:26:42ID:???
>>252
横着な要求を聞き入れて九打差り、官舎孟子安芸鱒
0261nobodyさん2008/08/23(土) 17:49:04ID:???
>>250
入ってない単語はいちいち登録してやらないといけないんだよな。
もしくは機能を無効にするか。
結局余計な仕事を増やす設計になってる滑稽さ
0262nobodyさん2008/08/23(土) 21:42:23ID:???
1行定義する労力と、単複区別不能なコードとどっちがいいか?
0263nobodyさん2008/08/24(日) 13:54:17ID:OI90xc3U
複数形とかなんでそんな仕様にしたんだろう?
0264sage2008/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の構造自体理解してなくてすみません。どこに書けばいいんでしょうか?
02652642008/08/24(日) 17:26:21ID:???
すみません、sage間違った・・・
0266nobodyさん2008/08/24(日) 22:43:46ID:???
>>264
コントローラーでもどこでもいいと思うけど。
だめー!って書いてあるエラーの内容見てみれば?
02672642008/08/25(月) 00:01:57ID:???
>>266
なんか色々いじってる間にHTMLヘルパーのエラーが出てしまって
再現できません><すみません!また書きます!
02682642008/08/25(月) 00:07:54ID:???
出ました。えーとチュートリアルで言うとposts_controller.phpの中の
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:???
vendor(パス) → App::import(適当な名前, arary('file'=>パス.php);
こんな感じ
02702642008/08/25(月) 00:33:04ID:???
>>269
App::import('Vendor', array('file' => 'Pager.php');
としてみましたが、エラーメッセージ変わらずです。
vendorsディレクトリの中はPager(ディレクトリ)、Pager.php、
include_path_vendors.php(PEARのディレクトリへパスを通すため)
が入っています。うーむ。
0271nobodyさん2008/08/25(月) 02:22:25ID:???
App::import('Vendor', 適当な名前、array('file' => 'Pager.php');

だったか?
0272nobodyさん2008/08/25(月) 03:25:46ID:???
>>264
depricatedなら1.2のページャとimportしてるライブラリの関数名が被ってるんじゃない?

というかパースエラーさらしてる時点で初心者とみた。
0273nobodyさん2008/08/25(月) 11:53:43ID:???
class PostsController extends AppController{
App:import('Component', 'Pager');
...
}

じゃあ動かないよ

class PostsController extends AppController{

function goodluck()
{
App:import('Component', 'Pager');
}

...
}

じゃない?
0274nobodyさん2008/08/25(月) 17:33:57ID:???
Zendと違ってCakeは直接Cakeの中に色々入れていくタイプなのかな?
Zendの場合は必要なディレクトリ構成さえあれば外部から呼んでくれるが
0275nobodyさん2008/08/25(月) 17:58:11ID:???
そうそう、全部自分で完結させるタイプ、というか。
そのままディレクトリをサーバーに置けば使えるっていう。
私は結構気に入ってたりします。
0276nobodyさん2008/08/25(月) 22:26:29ID:???
FW内で自己完結できるのはいいよな
環境移すのも楽だし
0277nobodyさん2008/08/26(火) 17:35:31ID:???
>>276
VCEEとかだと.NETのフレームワークは外部から読み込むよな
そんな感じでもう慣れちゃったから内部完結みたいなのがまだ慣れない
0278nobodyさん2008/08/27(水) 11:21:42ID:wzctFyRR
Webに公開されないプログラムでCakePHPを使いたいんですが、
CakePHPはhtaccessやルーティングでプログラムを結び付けてるんで、やっぱり使いにくいんでしょうか?

CakePHPのデータベース周りが便利すぎて、どうしても使いたくなっちゃうんですよね。。
0279nobodyさん2008/08/27(水) 12:47:13ID:tVkJ8wOQ
社内向けのアプリ?
別にCakeでもいいんじゃね?
0280nobodyさん2008/08/27(水) 13:57:59ID:???
>>278
多分、Apache(Webサーバ)を通さず実行する
スクリプトとしてphp+cakeでやりたいってことじゃね?
02812782008/08/27(水) 14:30:57ID:wzctFyRR
>>280
その通りです。
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:gXMXTzpH
localhostだけで動かすか、IP規制すればいいだけのことじゃん
0285nobodyさん2008/08/27(水) 16:56:08ID:???
>>294
それでもWebサーバは必要。
なんか上げ足の取り合いになってる感じだが
0286nobodyさん2008/08/27(水) 18:30:20ID:???
>>294
その発想は無かった!
0287nobodyさん2008/08/27(水) 19:24:58ID:???
>>294
天才現る
0288nobodyさん2008/08/27(水) 20:17:20ID:???
CLIのphpで動くようにコード書けば良いだけだろ。JK
0289nobodyさん2008/08/28(木) 12:13:39ID:???
今、cakephpでブログを作って運営してるんだけどタグ機能をつけたいと思うのね。

でも、一度完成したプログラムをいじるのがなんかすごい抵抗があるんだけど。

プロの仕事だと完成後にあれつけろこれつけろってのもよくあること?
0290nobodyさん2008/08/28(木) 12:42:08ID:???
そのCakeで作ったブログとやらを見てみたい。ぜひ・・・・
0291nobodyさん2008/08/28(木) 13:54:59ID:???
>>289
「(タダで)こういう機能を追加して欲しい」
ってのはしょっちゅうだwww
0292nobodyさん2008/08/28(木) 14:23:15ID:???
ありがとうございます。やっぱそうなんですか。
作ったの改造するより、最初っから全部作った方が楽しいですよね。

家のリフォーム業者も同じことを思うんでしょうかね。
0293nobodyさん2008/08/28(木) 14:28:29ID:???
プロ・趣味問わず今のWebアプリはそういう増改築は不可避でしょ?
タグ付きで作り直してもまた別の機能付けたくなったらまた作り直し?
今の状態でとりあえずタグ機能付けて時間あったらソース修繕(何て言うんだっけ)じゃないの
0294nobodyさん2008/08/28(木) 15:17:32ID:???
>>293
たしかにそうですね。一個一個作り直してたらキリないですね。
とりあえずつけることを考えてやってみます。
勉強になります。ありがとうございます。
0295nobodyさん2008/08/28(木) 18:59:25ID:???
あとから修正すると、バグ混入で今まで動いていたところが動かなくなるよ。

そうならないようにユニットテストを書いておくわけだ。

書いておいたテストを実行すればテストできるわけだから、
修正するたびに、毎回全部をテストをするわけだ。
0296nobodyさん2008/08/28(木) 19:04:09ID:???
CakePHP徹底入門って初心者向きの内容?
やっぱり気になる・・・・
0297nobodyさん2008/08/29(金) 09:41:22ID:???
>>295
そうですね。たしかにバグりますよね。
あれ・・・ここいじってないんだけど、どうして動かないの!?って。
だからあまり触りたくなかったんですが。

ユニットテストのメリットってそこにあるわけですね。
0298nobodyさん2008/08/29(金) 12:25:04ID:???
>>289
ない仕事のほうがめずらしい
0299nobodyさん2008/08/31(日) 17:43:38ID:???
>>296
そろそろレビューが欲しいところ。
0300nobodyさん2008/09/01(月) 01:20:41ID:???
>>299
CakePHPと名の付く本は全部買ってる拙者、ぱらぱらっと読んだ感じではイマイチかと。
他の本との差別化をしようとしてか、bakeに多くのページを割いてる。
インストール + bake で半分とか。

拙者のお薦めは PHPフレームワーク完全マスター + CakePHPポケットリファレンス。
前者で入門して、あとは後者をリファレンスに。(後者も一度全部読むと良いと思う。)
0301nobodyさん2008/09/01(月) 01:31:03ID:???
>>300
レビューサンクス。
やっぱりbakeメインかぁ・・・
bake使わないしなぁ・・・

入門はもういいから、
もっとハック的なのをメインにしたのが欲しいところ・・・
bakery読めないし・・・・;;
0302nobodyさん2008/09/01(月) 02:02:49ID:???
CakePHPポケットリファレンス は立ち読みしたが悪くない
1.2のstableでて、この本が対応したら買いたい

あと買った中では CakePHPガイドブック は初中級者向きとして悪くなかった。
0303nobodyさん2008/09/02(火) 09:32:07ID:???
Cake初心者の俺。
1ヶ月前にCakePHPポケットリファレンスを買ったが、
大活躍している。
ただ、それだけではCakeについて全く理解できないので、
友達からCakePHPガイドブックを借りた。

自分としては、『リファレンス+ガイドブック』の組み合わせで
全てがまかなわれると思う。

他には『Fast CakePHP』を読んだけど、あれは簡単すぎた…。
0304nobodyさん2008/09/02(火) 11:01:34ID:???
bakeは釣り
0305nobodyさん2008/09/02(火) 15:54:42ID:DwwkROZ8
マックのインターフェイスービルダーみたいなのでインターフェイス作ってcakephp出来たらいいのに。

0306nobodyさん2008/09/02(火) 20:40:37ID:???
HTMLエディタ使え
0307nobodyさん2008/09/03(水) 06:45:31ID:???
RC3まだかな〜
というかStableまだかな〜・・・

作業大変そうだから無理はいわないが・・・
0308nobodyさん2008/09/03(水) 17:24:21ID:???
ここ1年でCakePHP用の俺俺関数がたくさん出来た
殺人的な工数もなんとかこなせてる。俺のスキルがUPしたんじゃなくて
悪魔でCakePHP用の俺俺関数のおかげ
2、3年はこれで喰っていけそうだ。
短納期でいけるようになったのは俺だけじゃないと思うから
もしかするとWEBのシステム単価は低くなると思うよ
0309nobodyさん2008/09/03(水) 20:22:55ID:???
以上悪魔さんのレポートでした
0310nobodyさん2008/09/03(水) 22:01:16ID:???
>>309のおかげで>>308読み直したら結構ワラタw
0311nobodyさん2008/09/04(木) 00:39:08ID:???
2ちゃんのようなスレッド掲示板ならCakePHPで1週間で作れるやつは多くなってる気がする
だから2ちゃんのようなスレッド掲示板の見積もりをCakePHP使ってる個人に出すと
15万円〜20万円くらいが相場になってきてるよ
0312nobodyさん2008/09/04(木) 00:43:35ID:???
CakePHPで儲けるなら
安い単価でどれだけ沢山のサイトを作るかだよな。
結果として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:???
314と315の繰り返しだよね。
プログラムって。
0317nobodyさん2008/09/06(土) 22:09:53ID:???
日によってプログラミングが冴えるときと、そうじゃないときがある
冴えるときは別人のように俺は天才と思うときがあるけど
50%の割合でしか出せることが出来ない
0318nobodyさん2008/09/06(土) 22:11:37ID:???
納期jに追われてるときに集中力でるから
天才的なコーディングになることが多い
0319nobodyさん2008/09/06(土) 22:14:47ID:???
自信過剰な性格じゃないけど、プログラムに限っては
天才と思うことが多々ある。
0320nobodyさん2008/09/07(日) 04:13:27ID:???
>>319
いやそれを自信過剰な性格というだろ。
0321nobodyさん2008/09/07(日) 15:29:05ID:???
朝が一番頭が冴えると思う。
朝作れなかったら、その日はもうだめだ。
0322nobodyさん2008/09/08(月) 07:47:54ID:???
今日は調子悪いので2ch見て過ごす。
まあ、週に3,4日はそんな感じ。
0323nobodyさん2008/09/09(火) 15:11:13ID:1fHefJEI
cakephp使う以前はsmartyでfetchしたhtml内容をfileにして保存していたのですが
cakephpの表示結果をhtml形式で別に保存する事は可能でしょうか。
0324nobodyさん2008/09/10(水) 23:58:34ID:???
テンプレートでob_flashとかcache系の処理でなんと出来そうじゃない?
と適当に思い付いた事を言ってみる
0325nobodyさん2008/09/11(木) 00:25:09ID:ldL7ucwZ
Smarty使えばいいがな。
0326nobodyさん2008/09/11(木) 00:42:10ID:???
>>324
俺もキャッシュでいいんじゃないの・・・と思うので、同意。
0327nobodyさん2008/09/16(火) 12:22:26ID:AZ36dHRD
バリデーションで任意入力のチェックをする場合に悩んでいます。
たとえば郵便番号は必須でないけど999-9999とかでチェックしたい場合
ruleで正規表現を使うと入力していない場合でもエラーが出てしまいます。
解決策はありますか?
0328nobodyさん2008/09/16(火) 13:48:28ID:???
>>327
つallowEmpty
0329nobodyさん2008/09/16(火) 13:57:26ID:AZ36dHRD
>>328
ありがとうございます!!ためしてみます。
0330nobodyさん2008/09/16(火) 14:11:56ID:AZ36dHRD
>>328
'allowEmpty' => trueで出来ました。
0331nobodyさん2008/09/17(水) 04:28:53ID:BI/ji3+I
formヘルパーがなんか使いにくく感じる。
意図しない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:???
2 tickets closer to RC3

いよいよ・・・か!?
0334Noone2008/09/17(水) 16:58:38ID:???
http://yahoo.php.com
0335nobodyさん2008/09/17(水) 19:03:19ID:???
>>334
怖くて踏めない・・・なにこれ??
0336nobodyさん2008/09/18(木) 08:01:41ID:???
RC3かよ。いい加減に早く出してほしい。
待たせていることをきちんと考えて、最優先で仕上げてもらわないと困る。
0337nobodyさん2008/09/18(木) 20:21:19ID:???
俺は困らん
0338nobodyさん2008/09/18(木) 20:46:54ID:???
RC2で満足してる俺がいる
0339nobodyさん2008/09/22(月) 11:15:53ID:???
複数チェックできるようにしたいのですが、配列から複数のチェックボックスを作成するにはどのようにしていますか?
Formヘルパーで実現できるかどうか教えてください。
0340nobodyさん2008/09/22(月) 12:12:40ID:???
>>339
> 複数チェックできるようにしたいのですが、配列から複数のチェックボックスを作成するにはどのようにしていますか?
> Formヘルパーで実現できるかどうか教えてください。
ちなみに1.2 RC2です。
0341nobodyさん2008/09/22(月) 23:42:37ID:???
マルチポスト乙w
0342nobodyさん2008/09/23(火) 02:22:40ID:???
ここみてる人ならたいていフォーラム見てるでしょw
0343nobodyさん2008/09/23(火) 07:29:42ID:???
フォームヘルパーつかわないな。俺。
使うのは ajax ヘルパーのみかも。
0344nobodyさん2008/09/23(火) 16:40:49ID:???
>>343
ajax ヘルパーってpagination以外にどんな便利な使い方があるの?
0345nobodyさん2008/09/23(火) 22:23:52ID:???
RTFM
0346nobodyさん2008/09/24(水) 00:38:38ID:???
>>345
いまいち読んでも使い方が分かりません
http://www.cakephp.jp/doc/helpers.html#id4810304

どこかに実例があれば・・
0347nobodyさん2008/09/24(水) 09:24:16ID:J5k/glN9
例えば、A、B、Cとテーブルがあって、AとBが1対多、AとCも1対多の関係です。

Aのコントローラーの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:???
>>347
よくわからないけど、Aのコントローラのindex()で
Bのデータ(A付属) と Cのデータ(A付属)を取り出したいってこと?

普通はAのコントローラーで、Aのデータを取り出す。
(ついでにBとCのデータも一緒についてくる)って形だと思うんだけど。

0350nobodyさん2008/09/24(水) 15:47:43ID:???
これってインストール超カンタン?
■ このスレッドは過去ログ倉庫に格納されています