トップページ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/
0233nobodyさん2008/08/06(水) 14:38:16ID:???
そりゃあ、単純にdeleteメソッドを置いておけば踏まれるだろ
0234nobodyさん2008/08/06(水) 17:06:11ID:???
>>228の「似たような話」について

おっ。見つけられた。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:???
>>232
世の中には、robots.txtを守らないボットがあるから
気をつけよう。

スパムメール送信の為のアドレスを集めるボットとか。
0237nobodyさん2008/08/06(水) 17:34:27ID:???
>>235
こんな感じじゃないかなぁと思う。

1.クッキー対応していなくてもログインできるようにしたために
URLにセッションIDが追加されてしまっていた。

2.TinyMCEのようなブラウザで動くHTMLエディタを実装していた。
これにより、コピペをするとセッションIDが付加されたAタグまでコピペできる。

3.これが公開ページに置かれ、Googleが発見した。
つまりセッションハイジャック状態

4.セッションIDを含んだアドレスをgooglebotが発見、次々に
セッションIDを含んだリンクをたどる。

5.その中にdeleteリンクがあってgooglebotがそれをクリック。


ログインの仕組みを作るにはCookieを使うのが常識だけど、
携帯対応とかでCookieを使わずにアクセスできるようにしちゃうと大変だね。

URLにセッションIDが含まれているときは、携帯から
アクセスできないようにするという考えもあるけど、
そこに携帯サイトもクロールしてほしいとか言い出すと・・・
ワンタイムトークンでも使うのがいいのかな。
0238nobodyさん2008/08/06(水) 19:08:29ID:???
>>237
詳細にTHX
0239nobodyさん2008/08/09(土) 19:03:49ID:z9jw78px
bakeで作ること自体、素人のやることだと思ってるから
どうでもいいっちゃー、どうでもいい
0240nobodyさん2008/08/09(土) 19:36:35ID:???
bake使ったことないからよく分からんwww
0241nobodyさん2008/08/11(月) 06:36:20ID:???
cakePHP 1.2 RC2ってSQL Server 2000から正常にデータ取得できる?

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なら上手く行くんだが…
0242nobodyさん2008/08/12(火) 00:53:04ID:???
>>241
ADODBを使ってるの?
SQL Server 2000自体には対応してないでしょ
02432412008/08/12(火) 06:18:34ID:???
>>242
d
ADODBじゃなくてmssqlで繋いでる。

無理にmssql使わなきゃ良いんだろうけど、
既存アプリをcakePHPに移行するとどうなるか
テストしてるから上手く行かないならDB変えないとなぁ…

0244nobodyさん2008/08/15(金) 08:44:04ID:???
dreaming of a cakephp RC3

楽しみなような、おそろしいような・・・

はやくstableになってくれ〜
0245nobodyさん2008/08/22(金) 00:34:13ID:MNsA+EAa
すごくバカな質問するんだけど、怒らないで聞いて欲しい。
CakePHPを勉強しているんだけど、命名規則にちょっと疑問が。
なんで、複数形じゃなきゃダメなの?複数形にしなかったらどうなるの?
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:???
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でしても何も取ってこれないのは何故??
■ このスレッドは過去ログ倉庫に格納されています