08/08/06 17:34:27
>>235
こんな感じじゃないかなぁと思う。
1.クッキー対応していなくてもログインできるようにしたために
URLにセッションIDが追加されてしまっていた。
2.TinyMCEのようなブラウザで動くHTMLエディタを実装していた。
これにより、コピペをするとセッションIDが付加されたAタグまでコピペできる。
3.これが公開ページに置かれ、Googleが発見した。
つまりセッションハイジャック状態
4.セッションIDを含んだアドレスをgooglebotが発見、次々に
セッションIDを含んだリンクをたどる。
5.その中にdeleteリンクがあってgooglebotがそれをクリック。
ログインの仕組みを作るにはCookieを使うのが常識だけど、
携帯対応とかでCookieを使わずにアクセスできるようにしちゃうと大変だね。
URLにセッションIDが含まれているときは、携帯から
アクセスできないようにするという考えもあるけど、
そこに携帯サイトもクロールしてほしいとか言い出すと・・・
ワンタイムトークンでも使うのがいいのかな。
238:nobodyさん
08/08/06 19:08:29
>>237
詳細にTHX
239:nobodyさん
08/08/09 19:03:49 z9jw78px
bakeで作ること自体、素人のやることだと思ってるから
どうでもいいっちゃー、どうでもいい
240:nobodyさん
08/08/09 19:36:35
bake使ったことないからよく分からんwww
241:nobodyさん
08/08/11 06:36:20
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なら上手く行くんだが…
242:nobodyさん
08/08/12 00:53:04
>>241
ADODBを使ってるの?
SQL Server 2000自体には対応してないでしょ
243:241
08/08/12 06:18:34
>>242
㌧
ADODBじゃなくてmssqlで繋いでる。
無理にmssql使わなきゃ良いんだろうけど、
既存アプリをcakePHPに移行するとどうなるか
テストしてるから上手く行かないならDB変えないとなぁ…
244:nobodyさん
08/08/15 08:44:04
dreaming of a cakephp RC3
楽しみなような、おそろしいような・・・
はやくstableになってくれ~
245:nobodyさん
08/08/22 00:34:13 MNsA+EAa
すごくバカな質問するんだけど、怒らないで聞いて欲しい。
CakePHPを勉強しているんだけど、命名規則にちょっと疑問が。
なんで、複数形じゃなきゃダメなの?複数形にしなかったらどうなるの?
246:nobodyさん
08/08/22 01:11:39
しなくても出来るはず。
した方が楽に自動設定できるだけ。
247:nobodyさん
08/08/22 02:41:14
単数と複数の区別は重要。
それをsつけるだけであらわせるんだから便利じゃん。
しなかったら気持ち悪いと思うんだけどな。
248:nobodyさん
08/08/22 06:39:31
以前のバージョンとき
indexs じゃだめだったときあったな。
indexies ってやらんと。
複数形って規則性がバラバラだから難しい。
グレーの色も gray でも glay でもどっちでもいいんでしょ?
249:nobodyさん
08/08/22 09:25:24
複数形一発検索とかのサービスはないのかな?
英語の勉強しなくちゃな…
250:nobodyさん
08/08/22 12:33:06
内部に、複数形⇔単数形の変換関数か何か入ってるんじゃないの?
RoRは入ってるとか聞いたけど
251:nobodyさん
08/08/22 14:45:43
coreに入ってるinflector使えばでできるんじゃないの?
252:nobodyさん
08/08/22 14:47:56
これね。
URLリンク(book.cakephp.org)
253:nobodyさん
08/08/22 15:00:49
>>252
いい事聞いた
254:nobodyさん
08/08/22 16:24:43
index => indices
255:nobodyさん
08/08/22 21:54:49
俺は英語よりも日本語のほうが表現力の豊かさの点で好きなんだが
複数形という概念は、すごいと思ったな。
大昔に作られた英語が、ここまでプログラミングにマッチするとは。
もし複数形がなければ、変数名に悩むことが多かっただろう。
でも、日本語は、単語と単語をくっつけて合成語を簡単に作れるから
やっぱり日本語が便利だな。「前月商品金額合計」みたいな。
英語だったら長い。
あと、音を表すだけのひらがな・カタカナ。
外来語を簡単に日本語に変換できてしまうカタカナ。
同じ言葉でも、漢字で書けば男っぽく、ひらがなで書けば女っぽく、カタカナで書けば外国っぽくなる面白さ。
あぁ。日本語ってすばらしい。
256:nobodyさん
08/08/23 00:10:11
和んだw
257:nobodyさん
08/08/23 02:58:57
英語的に正しいかとか気にしてないなぁ。
LastMonthItemPriceSummary
とかさぁ。
258:nobodyさん
08/08/23 09:13:23
ワロタw
259:nobodyさん
08/08/23 11:36:45
SexAndTheCityHelper
260:249
08/08/23 15:26:42
>>252
横着な要求を聞き入れて九打差り、官舎孟子安芸鱒
261:nobodyさん
08/08/23 17:49:04
>>250
入ってない単語はいちいち登録してやらないといけないんだよな。
もしくは機能を無効にするか。
結局余計な仕事を増やす設計になってる滑稽さ
262:nobodyさん
08/08/23 21:42:23
1行定義する労力と、単複区別不能なコードとどっちがいいか?
263:nobodyさん
08/08/24 13:54:17 OI90xc3U
複数形とかなんでそんな仕様にしたんだろう?
264:sage
08/08/24 17:24:57 KEdveE+J
すみません、アホな質問かもしれないんですが。
今まで1.1の環境でPEAR::Pagerを使うためにvendor()で読み込んでたんですが、
1.2に入れ替えたためDeprecatedだというWarningが出ます。で、1.2からは
URLリンク(book.cakephp.org)
App::importを使うようにと書かれているんですが、このApp::importって
どこに書けばいいんでしょう?posts_controller.phpのクラス?色んな
ところに書いてみたんですが、全部だめー!て怒られました。
Cakeの構造自体理解してなくてすみません。どこに書けばいいんでしょうか?
265:264
08/08/24 17:26:21
すみません、sage間違った・・・
266:nobodyさん
08/08/24 22:43:46
>>264
コントローラーでもどこでもいいと思うけど。
だめー!って書いてあるエラーの内容見てみれば?
267:264
08/08/25 00:01:57
>>266
なんか色々いじってる間にHTMLヘルパーのエラーが出てしまって
再現できません><すみません!また書きます!
268:264
08/08/25 00:07:54
出ました。えーとチュートリアルで言うとposts_controller.phpの中の
class PostsController extends AppController{
App:import('Component', 'Pager');
...
}
と書いてみたところ
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION
と怒られます。何か根本的に勘違いしているような気がするのですが、
どこがそうなのか・・・
269:nobodyさん
08/08/25 00:16:56
vendor(パス) → App::import(適当な名前, arary('file'=>パス.php);
こんな感じ
270:264
08/08/25 00:33:04
>>269
App::import('Vendor', array('file' => 'Pager.php');
としてみましたが、エラーメッセージ変わらずです。
vendorsディレクトリの中はPager(ディレクトリ)、Pager.php、
include_path_vendors.php(PEARのディレクトリへパスを通すため)
が入っています。うーむ。
271:nobodyさん
08/08/25 02:22:25
App::import('Vendor', 適当な名前、array('file' => 'Pager.php');
だったか?
272:nobodyさん
08/08/25 03:25:46
>>264
depricatedなら1.2のページャとimportしてるライブラリの関数名が被ってるんじゃない?
というかパースエラーさらしてる時点で初心者とみた。
273:nobodyさん
08/08/25 11:53:43
class PostsController extends AppController{
App:import('Component', 'Pager');
...
}
じゃあ動かないよ
class PostsController extends AppController{
function goodluck()
{
App:import('Component', 'Pager');
}
...
}
じゃない?
274:nobodyさん
08/08/25 17:33:57
Zendと違ってCakeは直接Cakeの中に色々入れていくタイプなのかな?
Zendの場合は必要なディレクトリ構成さえあれば外部から呼んでくれるが
275:nobodyさん
08/08/25 17:58:11
そうそう、全部自分で完結させるタイプ、というか。
そのままディレクトリをサーバーに置けば使えるっていう。
私は結構気に入ってたりします。
276:nobodyさん
08/08/25 22:26:29
FW内で自己完結できるのはいいよな
環境移すのも楽だし
277:nobodyさん
08/08/26 17:35:31
>>276
VCEEとかだと.NETのフレームワークは外部から読み込むよな
そんな感じでもう慣れちゃったから内部完結みたいなのがまだ慣れない
278:nobodyさん
08/08/27 11:21:42 wzctFyRR
Webに公開されないプログラムでCakePHPを使いたいんですが、
CakePHPはhtaccessやルーティングでプログラムを結び付けてるんで、やっぱり使いにくいんでしょうか?
CakePHPのデータベース周りが便利すぎて、どうしても使いたくなっちゃうんですよね。。
279:nobodyさん
08/08/27 12:47:13 tVkJ8wOQ
社内向けのアプリ?
別にCakeでもいいんじゃね?
280:nobodyさん
08/08/27 13:57:59
>>278
多分、Apache(Webサーバ)を通さず実行する
スクリプトとしてphp+cakeでやりたいってことじゃね?
281:278
08/08/27 14:30:57 wzctFyRR
>>280
その通りです。
282:nobodyさん
08/08/27 15:04:50
ウェブサーバーが無いと
スクリプト動くわけ無いやんw
CakePHP以前にPHPが動かない。
PHPだけじゃなく、CGI、Perl、Ruby、何も動かんw
283:nobodyさん
08/08/27 16:26:42
ひどいつりだ
284:nobodyさん
08/08/27 16:48:18 gXMXTzpH
localhostだけで動かすか、IP規制すればいいだけのことじゃん
285:nobodyさん
08/08/27 16:56:08
>>294
それでもWebサーバは必要。
なんか上げ足の取り合いになってる感じだが
286:nobodyさん
08/08/27 18:30:20
>>294
その発想は無かった!
287:nobodyさん
08/08/27 19:24:58
>>294
天才現る
288:nobodyさん
08/08/27 20:17:20
CLIのphpで動くようにコード書けば良いだけだろ。JK
289:nobodyさん
08/08/28 12:13:39
今、cakephpでブログを作って運営してるんだけどタグ機能をつけたいと思うのね。
でも、一度完成したプログラムをいじるのがなんかすごい抵抗があるんだけど。
プロの仕事だと完成後にあれつけろこれつけろってのもよくあること?
290:nobodyさん
08/08/28 12:42:08
そのCakeで作ったブログとやらを見てみたい。ぜひ・・・・
291:nobodyさん
08/08/28 13:54:59
>>289
「(タダで)こういう機能を追加して欲しい」
ってのはしょっちゅうだwww
292:nobodyさん
08/08/28 14:23:15
ありがとうございます。やっぱそうなんですか。
作ったの改造するより、最初っから全部作った方が楽しいですよね。
家のリフォーム業者も同じことを思うんでしょうかね。
293:nobodyさん
08/08/28 14:28:29
プロ・趣味問わず今のWebアプリはそういう増改築は不可避でしょ?
タグ付きで作り直してもまた別の機能付けたくなったらまた作り直し?
今の状態でとりあえずタグ機能付けて時間あったらソース修繕(何て言うんだっけ)じゃないの
294:nobodyさん
08/08/28 15:17:32
>>293
たしかにそうですね。一個一個作り直してたらキリないですね。
とりあえずつけることを考えてやってみます。
勉強になります。ありがとうございます。
295:nobodyさん
08/08/28 18:59:25
あとから修正すると、バグ混入で今まで動いていたところが動かなくなるよ。
そうならないようにユニットテストを書いておくわけだ。
書いておいたテストを実行すればテストできるわけだから、
修正するたびに、毎回全部をテストをするわけだ。
296:nobodyさん
08/08/28 19:04:09
CakePHP徹底入門って初心者向きの内容?
やっぱり気になる・・・・
297:nobodyさん
08/08/29 09:41:22
>>295
そうですね。たしかにバグりますよね。
あれ・・・ここいじってないんだけど、どうして動かないの!?って。
だからあまり触りたくなかったんですが。
ユニットテストのメリットってそこにあるわけですね。
298:nobodyさん
08/08/29 12:25:04
>>289
ない仕事のほうがめずらしい
299:nobodyさん
08/08/31 17:43:38
>>296
そろそろレビューが欲しいところ。
300:nobodyさん
08/09/01 01:20:41
>>299
CakePHPと名の付く本は全部買ってる拙者、ぱらぱらっと読んだ感じではイマイチかと。
他の本との差別化をしようとしてか、bakeに多くのページを割いてる。
インストール + bake で半分とか。
拙者のお薦めは PHPフレームワーク完全マスター + CakePHPポケットリファレンス。
前者で入門して、あとは後者をリファレンスに。(後者も一度全部読むと良いと思う。)
301:nobodyさん
08/09/01 01:31:03
>>300
レビューサンクス。
やっぱりbakeメインかぁ・・・
bake使わないしなぁ・・・
入門はもういいから、
もっとハック的なのをメインにしたのが欲しいところ・・・
bakery読めないし・・・・;;
302:nobodyさん
08/09/01 02:02:49
CakePHPポケットリファレンス は立ち読みしたが悪くない
1.2のstableでて、この本が対応したら買いたい
あと買った中では CakePHPガイドブック は初中級者向きとして悪くなかった。
303:nobodyさん
08/09/02 09:32:07
Cake初心者の俺。
1ヶ月前にCakePHPポケットリファレンスを買ったが、
大活躍している。
ただ、それだけではCakeについて全く理解できないので、
友達からCakePHPガイドブックを借りた。
自分としては、『リファレンス+ガイドブック』の組み合わせで
全てがまかなわれると思う。
他には『Fast CakePHP』を読んだけど、あれは簡単すぎた…。
304:nobodyさん
08/09/02 11:01:34
bakeは釣り
305:nobodyさん
08/09/02 15:54:42 DwwkROZ8
マックのインターフェイスービルダーみたいなのでインターフェイス作ってcakephp出来たらいいのに。
306:nobodyさん
08/09/02 20:40:37
HTMLエディタ使え
307:nobodyさん
08/09/03 06:45:31
RC3まだかな~
というかStableまだかな~・・・
作業大変そうだから無理はいわないが・・・
308:nobodyさん
08/09/03 17:24:21
ここ1年でCakePHP用の俺俺関数がたくさん出来た
殺人的な工数もなんとかこなせてる。俺のスキルがUPしたんじゃなくて
悪魔でCakePHP用の俺俺関数のおかげ
2、3年はこれで喰っていけそうだ。
短納期でいけるようになったのは俺だけじゃないと思うから
もしかするとWEBのシステム単価は低くなると思うよ
309:nobodyさん
08/09/03 20:22:55
以上悪魔さんのレポートでした
310:nobodyさん
08/09/03 22:01:16
>>309のおかげで>>308読み直したら結構ワラタw
311:nobodyさん
08/09/04 00:39:08
2ちゃんのようなスレッド掲示板ならCakePHPで1週間で作れるやつは多くなってる気がする
だから2ちゃんのようなスレッド掲示板の見積もりをCakePHP使ってる個人に出すと
15万円~20万円くらいが相場になってきてるよ
312:nobodyさん
08/09/04 00:43:35
CakePHPで儲けるなら
安い単価でどれだけ沢山のサイトを作るかだよな。
結果としてWEB制作費用の相場は下がるけど
業界がそういう流れになってるから仕方ないよね
313:nobodyさん
08/09/04 21:17:37
もしくはめっちゃくちゃ安く作って、保守を高くする。
これが一番儲かりそう。
ホームページ無料で作ってサーバー代をすげー値段とるとこも多いからね。
314:nobodyさん
08/09/05 09:51:29
コーディングやシステム設計してるとき
なんで俺て頭いいのと思うことが最近多い。
過去の経験も大事だけど、経験にはない
ひらめきみたいなものも大事だと思う
経験+ひらめきがプラスアルファされることで良いものが早く出きる
315:nobodyさん
08/09/06 01:38:01
近いうちに間違いなく
何でこんな頭悪いことやってたんだ俺
設計からやり直してー
ってなる。
ならなかったら頭が停滞しているということ。
316:nobodyさん
08/09/06 15:10:34
314と315の繰り返しだよね。
プログラムって。
317:nobodyさん
08/09/06 22:09:53
日によってプログラミングが冴えるときと、そうじゃないときがある
冴えるときは別人のように俺は天才と思うときがあるけど
50%の割合でしか出せることが出来ない
318:nobodyさん
08/09/06 22:11:37
納期jに追われてるときに集中力でるから
天才的なコーディングになることが多い
319:nobodyさん
08/09/06 22:14:47
自信過剰な性格じゃないけど、プログラムに限っては
天才と思うことが多々ある。
320:nobodyさん
08/09/07 04:13:27
>>319
いやそれを自信過剰な性格というだろ。
321:nobodyさん
08/09/07 15:29:05
朝が一番頭が冴えると思う。
朝作れなかったら、その日はもうだめだ。
322:nobodyさん
08/09/08 07:47:54
今日は調子悪いので2ch見て過ごす。
まあ、週に3,4日はそんな感じ。
323:nobodyさん
08/09/09 15:11:13 1fHefJEI
cakephp使う以前はsmartyでfetchしたhtml内容をfileにして保存していたのですが
cakephpの表示結果をhtml形式で別に保存する事は可能でしょうか。
324:nobodyさん
08/09/10 23:58:34
テンプレートでob_flashとかcache系の処理でなんと出来そうじゃない?
と適当に思い付いた事を言ってみる
325:nobodyさん
08/09/11 00:25:09 ldL7ucwZ
Smarty使えばいいがな。
326:nobodyさん
08/09/11 00:42:10
>>324
俺もキャッシュでいいんじゃないの・・・と思うので、同意。
327:nobodyさん
08/09/16 12:22:26 AZ36dHRD
バリデーションで任意入力のチェックをする場合に悩んでいます。
たとえば郵便番号は必須でないけど999-9999とかでチェックしたい場合
ruleで正規表現を使うと入力していない場合でもエラーが出てしまいます。
解決策はありますか?
328:nobodyさん
08/09/16 13:48:28
>>327
つallowEmpty
329:nobodyさん
08/09/16 13:57:26 AZ36dHRD
>>328
ありがとうございます!!ためしてみます。
330:nobodyさん
08/09/16 14:11:56 AZ36dHRD
>>328
'allowEmpty' => trueで出来ました。
331:nobodyさん
08/09/17 04:28:53 BI/ji3+I
formヘルパーがなんか使いにくく感じる。
意図しないDivやらFieldsetが吐かれ、
それを抑制するオプションが用意されていないものがあったり。
あっても引数にnullやfalseを並列しなきゃならない。
checkboxによる1フィールド複数選択が作りにくい気もする。
当方、checkboxやradioボタンは<ul>-<li>でマークアップするのが好きなんだけど、
ヘルパー使うとうまくいかなくてやむなく自前で
<input name="data[Model][field]"~ />って書いてしまう。
私の書くviewはヘルパー使ってたりなかったりでお行儀悪く感じてます。
皆さんformアイテムは全部ヘルパー使って書いてます?
332:nobodyさん
08/09/17 15:03:58 HoHA6PJP
フォームは今のところヘルパーで書いてます。
まだまだ小規模なのでこれからはまるかもしれんが・・
アプリで共通で使う配列の指定はどうしてますか?
app.phpに記載してbootstrap.phpでconfig('app')として取得できないです。
さらにglobalでしても何も取ってこれないのは何故??
333:nobodyさん
08/09/17 15:25:41
2 tickets closer to RC3
いよいよ・・・か!?
334:Noone
08/09/17 16:58:38
URLリンク(yahoo.php.com)
335:nobodyさん
08/09/17 19:03:19
>>334
怖くて踏めない・・・なにこれ??
336:nobodyさん
08/09/18 08:01:41
RC3かよ。いい加減に早く出してほしい。
待たせていることをきちんと考えて、最優先で仕上げてもらわないと困る。
337:nobodyさん
08/09/18 20:21:19
俺は困らん
338:nobodyさん
08/09/18 20:46:54
RC2で満足してる俺がいる
339:nobodyさん
08/09/22 11:15:53
複数チェックできるようにしたいのですが、配列から複数のチェックボックスを作成するにはどのようにしていますか?
Formヘルパーで実現できるかどうか教えてください。
340:nobodyさん
08/09/22 12:12:40
>>339
> 複数チェックできるようにしたいのですが、配列から複数のチェックボックスを作成するにはどのようにしていますか?
> Formヘルパーで実現できるかどうか教えてください。
ちなみに1.2 RC2です。
341:nobodyさん
08/09/22 23:42:37
マルチポスト乙w
342:nobodyさん
08/09/23 02:22:40
ここみてる人ならたいていフォーラム見てるでしょw
343:nobodyさん
08/09/23 07:29:42
フォームヘルパーつかわないな。俺。
使うのは ajax ヘルパーのみかも。
344:nobodyさん
08/09/23 16:40:49
>>343
ajax ヘルパーってpagination以外にどんな便利な使い方があるの?
345:nobodyさん
08/09/23 22:23:52
RTFM
346:nobodyさん
08/09/24 00:38:38
>>345
いまいち読んでも使い方が分かりません
URLリンク(www.cakephp.jp)
どこかに実例があれば・・
347:nobodyさん
08/09/24 09:24:16 J5k/glN9
例えば、A、B、Cとテーブルがあって、AとBが1対多、AとCも1対多の関係です。
Aのコントローラーのindex()でBに関連付けられているA、Cに関連付けられてるA
をそれぞれ分けて抽出するには、どのようなモデルの関係と条件を作ればいいのでしょうか?
paginate()を使っているのですが、->recursiveを変えたりとかしても、
paginate()で実行されるconditionが反映されるSQLでは
Bのテーブルが含まれないので、どうしたらいいものでしょうか?
348:nobodyさん
08/09/24 11:52:29 bvaeEkej
初歩的な質問で申し訳ないのですがぐぐってもさっぱりなので質問させてください。
サーバにcakePHPをアップロードしていろいろやってて、同じディレクトリーのほかのファイルにアクセスしようとしたら出来ませんでした。なんでですか?
ディレクトリー構造はこうです。
public_html ┬ cakePHP
├ testphp ←ここの中にアクセスできません
└ eroPhoto ←ここの中にアクセスできません
ご教授お願いします
349:nobodyさん
08/09/24 13:07:16
>>347
よくわからないけど、Aのコントローラのindex()で
Bのデータ(A付属) と Cのデータ(A付属)を取り出したいってこと?
普通はAのコントローラーで、Aのデータを取り出す。
(ついでにBとCのデータも一緒についてくる)って形だと思うんだけど。
350:nobodyさん
08/09/24 15:47:43
これってインストール超カンタン?
351:nobodyさん
08/09/24 15:51:42
いろいろ調べてみたけど、
PHPのフレームワークは
cakephpで決まりだな。
352:nobodyさん
08/09/24 16:59:48
>>348
URLリンク(cakephp.jp)
でどうよ!
353:nobodyさん
08/09/24 17:01:07
>>344
リンクつけたり、フォームをajaxにしたり。
すっげー便利じゃない?
javascriptでAjax書くよりスッキリしていい。
俺気が短いからできるだけ早く動くようにできるだけAJAXで書いてるんです^^
354:348
08/09/24 23:43:42 bvaeEkej
>>352
うわ~すげー久しぶりに2ちゃんで感謝しちゃう;;
教授!!ありです!!!
355:nobodyさん
08/09/25 03:14:13 FEQjxQnp
>>349
Aの外部キーを持つテーブル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に入れる感じしかないのでしょうか。
356:nobodyさん
08/09/25 11:40:18
>>351
詳しくまとめて教えてください。興味ある。
357:nobodyさん
08/09/25 11:42:28
>>356
グーグルトレンドのグラフ
358:nobodyさん
08/09/25 13:49:24
それはないわー
359:nobodyさん
08/09/25 15:32:43 ddZpNdwx
俺、cakePHP1.2 stable が出たら、田舎に帰って結婚するんだ
360:nobodyさん
08/09/26 09:56:35
へー
361:nobodyさん
08/09/26 13:03:20
質問です。
cakePHP1.2でSecurityコンポーネントのSecurity->requireAuthを使うと
input->hiddenのnameがすべて{_モデル名}になるのは仕様ですか?
data[_Hoge][id]
みたいに勝手にhiddenに(_)アンダースコアが付くようなんですが。
362:nobodyさん
08/09/27 07:20:34
インストール終わったんだけど
設定はどうすればいいの?
363:nobodyさん
08/09/27 07:47:53
>>362
お好きなように
364:nobodyさん
08/09/27 08:41:41
URLリンク(p4life.jp)
このムービーを見ながら進めてるんだけど、
ムービーの55%くらいのところ、
URLリンク(localhost)
をブラウザのアドレス欄に入れて、
表示させるところでつまずいています。
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';
}
?>
となってしまいます。
365:nobodyさん
08/09/27 11:00:39
自己解決しました。
エラーの表示であってました。
よく見てなかった。
366:nobodyさん
08/09/27 18:08:20
cakephpかんたんに
いれられるレンタルサーバーおしえて。
367:nobodyさん
08/09/27 18:11:40
「cakephp対応」って書いてるところでないとだめ?
それとも、php+mysql対応って書いてるところであれば
どこでも入れられる?
368:nobodyさん
08/09/27 21:28:46
>>366
cakephpのインストールに必要なものを挙げていけば自然にわかるだろうがよ
369:nobodyさん
08/09/27 23:30:54
いいから教えてよ
370:nobodyさん
08/09/28 00:56:57
>>369
phpとmysqlだけでは駄目で、
他にxvfbとgs(Ghostscript)とcli-phpが必要。
phpが入っていればcli-phpも多分入っていると思うけど
xvfbとghostscriptは普通入ってないので、cake-php対応のところがベスト
371:nobodyさん
08/09/28 14:10:13
caekPHPで、一番安いレンタルサーバーはどこ?
372:nobodyさん
08/09/28 16:42:27
日本語でおk
373:nobodyさん
08/09/28 17:16:23
cakephpを使えるレンタルサーバーで
一番安いところはどこ?
374:nobodyさん
08/09/28 17:20:25
日本語でおk
375:nobodyさん
08/09/28 17:53:44
cakephpを使えるレンタルサーバーで
月額の料金が一番安いところはどこ?
376:nobodyさん
08/09/28 19:34:27
日本語でおk
377:nobodyさん
08/09/28 19:47:50
マジレスするとcore。まぁ使えるってだけだが。
378:nobodyさん
08/09/28 19:49:31
URLリンク(blog.non-style.com)
これってなんでなるの?
379:nobodyさん
08/09/28 19:55:09
cakePHPをXreaで利用する方法:
URLリンク(www.web2-labo.com)
380:nobodyさん
08/09/28 20:53:05
さくらで CakePHP
URLリンク(www.cafechantant.com)
381:nobodyさん
08/09/28 20:53:37
>>377
なるべく安い方がいいんだけど、
設定がなるべくかんたんなほうがいいな。
そういう観点だと、どこがおすすめ?
382:nobodyさん
08/09/28 21:04:21
>>381
ここ結構安いし良さそうだよ
URLリンク(www.xunit.jp)
383:nobodyさん
08/09/28 21:30:14
URLリンク(gihyo.jp)
複数形は単純に「s」が足されるわけではなく,
英語として正しい複数形である必要があります。
たとえばdiaryはdiariesとなります。
----------------------------------------
↑って書いてあるけど、ただしい複数形って、
どうやって認識してるの?
384:nobodyさん
08/09/28 21:42:49
>>383
つ /libs/inflector.php
385:nobodyさん
08/09/28 22:57:56
>>381
環境さえそろってりゃ使う分には大した手間はかからんだろうよ。coreで十分。
シェルが使えればなお良いがそうなると月2000円以上のクラスか海外使うしかない。
386:nobodyさん
08/09/29 05:17:18
>環境さえそろってりゃ
↑これってどういう意味なのかな?
387:nobodyさん
08/09/29 06:00:03
そのままの意味じゃないの?
388:nobodyさん
08/09/29 07:02:14
じゃあその環境って具体的になんなの?
389:nobodyさん
08/09/29 07:07:55
普通に使える環境ならいいんじゃないの?
390:nobodyさん
08/09/29 07:42:47
バカは書き込むなよ
レンタルサーバーでcakeが使えるかどうかの話だよ
391:nobodyさん
08/09/29 08:04:35
>>390
>バカは書き込むなよ
自己矛盾起こすなよww
392:nobodyさん
08/09/29 10:27:46
BLOBってなに?
393:nobodyさん
08/09/29 10:32:37
URLリンク(p4life.jp)
これみて、サンプルは作れたんだけど、
これって計算とかできないの?
カラム1に「3」を入力して、
カラム2に「4」を入力して、
合計を出すとか。
394:nobodyさん
08/09/29 10:42:30
>>393
それは15年くらい修行しないと無理だ。諦めろ。
395:nobodyさん
08/09/29 10:48:40
じゃあ15分くらいで実行できる、
なんかクエスト出してよ
396:nobodyさん
08/09/29 10:56:16
もしかして、フィールド1の値をPHPで取得して、
フィールド2の値をPHPで取得して、
それをPHPのコードで足して、
変数にいれて
出力して、
ってやるのかな?
397:nobodyさん
08/09/29 10:58:29
>>395
おお死んでしまうとは情けない。
勇者よ。
本屋へ行ってcakePHPの本を買うのだ。
398:nobodyさん
08/09/29 11:02:28
URLリンク(www.hideblog.net)
これでできるの?
399:nobodyさん
08/09/29 14:08:58
URLリンク(asagi.la.coocan.jp)
cakeでこれと同じの、作れる?
何時間で作れる?
400:nobodyさん
08/09/29 14:17:24
>>399
宣伝乙
401:nobodyさん
08/09/30 06:11:34
ウッウー! ウマウマー♪!
Λ_Λ Λ_Λ
./) ゚д゚)') ('(゚д゚ (ヽ
(( / / )) ((ヽ ) ))
し―J し―J
402:nobodyさん
08/10/02 10:34:35
で、RC3はいつなのかな?2tichet closerから1ヶ月くらい立ちそうだけど。
そもそもRC3で直るバグとかって大きいのあるのかな?
403:nobodyさん
08/10/02 15:03:07
cakephpやるときの専用IDEとかってあるの?
404:nobodyさん
08/10/02 16:10:21
RC3きたね。
URLリンク(cakeforge.org)
405:nobodyさん
08/10/02 16:24:33
URLリンク(bakery.cakephp.org)
the bootstrap process is over 10x faster than RC2, and basic requests for static content are now about 5x faster overall.
早くなってるなら大歓迎。
406:nobodyさん
08/10/02 16:47:25
>>403
だれが作るんだそんなもんw
407:nobodyさん
08/10/02 18:38:43
RC3きたけど、毎日のようにnightlyいじってたので新鮮味が・・・w
あと、RC2のとき、リリース直後にすぐ修正版がでたことを忘れないように!
408:nobodyさん
08/10/02 22:37:50
開発途中の社内アプリをRC2からRC3に入れ替えたけど、うごかねー
model->saveが全部うごかねー
409:nobodyさん
08/10/03 00:16:10
model->saveでして保存する配列はモデル名が必須になった。
と適当に言ってみる。
410:nobodyさん
08/10/03 07:26:48
CakePHPブログチュートリアルで
10.1.8 Postビューの作成
がエラーでてできねーと思ったらチュートリアルが1.2用なのかよ。
1.1でやってて1時間くらい悩んじまったよ。
411:nobodyさん
08/10/03 23:52:47
>>408
まじ?大きな変更はないってどっかに書いてあったけど。
412:408
08/10/04 07:01:33
漏れの勘違いだったようだ。saveは動きます。
テストが動かなくなったけどね。simpletestうぜー
413:nobodyさん
08/10/05 17:56:46
simpletest が動かないなら、そのsimpletestを動かすテストケースを作らないといけない。。。
本末転倒とはこのことですね。
414:nobodyさん
08/10/05 18:10:04
cakeって、必ずmysqlと連動させないとだめなの?
シンプルなものとか、データーベースからめないで
作りたいときは、データーベースは連携させなくてもつくれるの?
415:nobodyさん
08/10/05 18:20:00
URLリンク(www.easywebdx.com)
これとおなじことcakeでやるにはどうしたらいいの?
416:nobodyさん
08/10/05 18:27:10
またおまえか
417:nobodyさん
08/10/05 19:45:22
>>415
業者に頼んで作ってもらう。
418:nobodyさん
08/10/05 23:46:32
cake使うときは、普通は smartyは使わないの?
419:nobodyさん
08/10/06 03:34:41
>>418
Smarty使う必要性は?
あの手のテンプレートエンジンって、既に過去の遺物だけど。。
420:nobodyさん
08/10/06 07:23:58 8+YJokg0
>>361
俺も知りたいわけだが
421:nobodyさん
08/10/06 12:02:05
テストについて、えろいひと教えて
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つ作ったら
エラーはなくなったけど、意味なくない?
422:nobodyさん
08/10/06 19:58:02
さてどこからツッコんだものか
423:nobodyさん
08/10/06 20:46:28
* ←ココ
424:nobodyさん
08/10/06 22:28:04
ツ・・ツマンネーョ・・・アァッ
425:nobodyさん
08/10/07 13:12:18
CakePHPカンファレンス 参加登録しますた
426:nobodyさん
08/10/07 15:39:11
忘れてたーと思って見に行ったら埋まってた。
30分で全部埋まってるw
427:nobodyさん
08/10/07 19:05:05
まだ半分追加枠があるさ。
428:nobodyさん
08/10/07 21:15:15
smartyとcakephpって排他使用なの?
429:nobodyさん
08/10/08 04:18:11
あー、もういんじゃねえの、stableで。
見過ごせないチケットあんの?
430:nobodyさん
08/10/08 10:25:50
データベース使わないで.datとかに保存するってことできる?
431:nobodyさん
08/10/09 00:46:00
>>430
CAKEでやる利点をあまり思いつかない
432:nobodyさん
08/10/09 02:56:13
会員系サイトつくってんだけど、そいつらのコミュニティ掲示板に画像アップしたいって
いいやがんのよ。で、普通にwebrootの下においたら、全員に丸見えだからさー
どっかに起きたいんだけど、php経由で認証判断してファイルを読み込む仕様なんだけど
こういう系のファイルってみんなはどこにおいている?
候補1)appの下にfilesとかdir作って放り込む
候補2)tmpの下におく
候補3)localeの下におく
候補1っすかねー
それか素直にDBにバイナリで持つか
433:nobodyさん
08/10/09 03:22:41
データーベースって画像も登録できるんだ?
434:nobodyさん
08/10/09 09:15:03
データベースを何だと思ってるんだw
435:nobodyさん
08/10/09 10:32:15
いやあ、、、
テキストだけを登録できるソフト、って
先入観があったから、、、、
436:nobodyさん
08/10/09 13:01:09
Cake始めようと思うんですけど、お勧めの書籍とかないですか?
437:nobodyさん
08/10/09 17:22:55
>>436
まずはマニュアルのチュートリアル
438:nobodyさん
08/10/09 22:07:38 z61RYR7M
質問です。
Cakephp1.2-RC3でformヘルパー使用してて、radioボタンのnameを[Model名][hoge]みたいにしたくて、
$radioName = 'Model名.hoge';
としたのですが、下記のようなエラーが出てしまいました。
ConnectionManager::getDataSource - Non-existent data source default
ちなみにDBは不使用です。
よかったら教えてもらえませんか…
439:438
08/10/09 22:10:59 z61RYR7M
<?php
$radioName = 'Model名.hoge';
$radioValue = array("1"=>'1');
?>
<?php echo $form->radio($radioName,$radioValue); ?>
こんな感じです
440:nobodyさん
08/10/09 22:23:48
>>436
CakePHPガイドブックってのが良かった。
あとはオンラインのマニュアルと、ポケットリファレンスが
あれば十分
441:438
08/10/09 22:27:12 z61RYR7M
すみません自己解決しました。
ご迷惑をおかけしました
442:nobodyさん
08/10/10 15:13:54
CakeってDB不使用にしてModel呼び出すとエラーになりませんか?
443:nobodyさん
08/10/10 22:48:18 /mk3YX6a
DBに画像保存できるやん
444:nobodyさん
08/10/10 23:19:52
>>442
$uses=false;
ってすれば別に怒られないが。
445:nobodyさん
08/10/11 00:43:55
ビュー不要のアクションって、どうやって書けばいいのかな。
function test() {
echo "hoge";
}
ってコントローラに書いたら、hogeは表示されるんだけど、test.ctpが無いと警告が出る。
1.2にて。
446:nobodyさん
08/10/11 00:50:54
>>445
ごめん自己解決。
function test() {
$this->autoRender = false;
echo "hoge";
}
でいけた。
447:nobodyさん
08/10/11 01:24:02
>>444
それってその時点でModel使うの諦めてませんか?
448:nobodyさん
08/10/11 01:58:46
何がしたいんだよ
449:nobodyさん
08/10/11 02:07:49
>>448
DBを使わないフォームを作成したいのですが、
Modelを使用せずに、Controllerに入力チェックとか書いちゃうのは
MVCとしてどうなのかなぁと思いまして
450:nobodyさん
08/10/11 03:42:32
MVC的に言えば、データの保存先が
データベースなのか、ファイルなのかは関係ないはずなので、
入力チェックをするとしたら、モデルでやるのが妥当。
451:nobodyさん
08/10/11 05:30:44
DBlessModel作っちゃえYO
452:nobodyさん
08/10/11 07:46:51
モデルに
var $useTable = false;
でモデルつかってDB使わずでいけるだろ。
453:nobodyさん
08/10/11 16:48:55
>>452
その状態でバリデーションとかヘルパー使うとModel.phpでエラーになるんですよね
454:nobodyさん
08/10/11 22:44:35
そーゆーことだったのか。
455:nobodyさん
08/10/13 23:28:41
少し気になったんですが、仕事でCakePHPを使っている人って
今案件受けたらRCのCakePHPを使うんでしょうか…?
それとも1.1ですか?
456:nobodyさん
08/10/15 13:59:49
>455
先日納品した案件は1.2RC2。特に問題はなかったよ。
今日から新しいプロジェクトの開発にかかるけど、そっちはRC3でやるつもり。
1.1は今後使うつもりはないですわ。
以前1.1で開発してたものを途中で1.2に乗り換えたとき、
変更対応でかなりロスしたもんで。
いくら現状唯一のstable版とはいえ、1.1の文法がヘタに染みつくと1.2への移行が精神的にきつくなるかと。
さて。飯にしようかね。。。
457:nobodyさん
08/10/16 21:22:33
そんなに変わったのか~
458:nobodyさん
08/10/21 17:24:56
AuthComponentでAjaxログインしようとしても
<?php echo $this->requestAction('/users/login', array('return')); ?>と書くと
users/loginにリダイレクトしちゃうのは仕様?
459:nobodyさん
08/10/21 22:18:09
test
460:nobodyさん
08/10/23 05:04:43
PHPならどこでもいい話題だけど、あえてここで。
PHPのIDE何使っている?Eclipse?
俺、どうもEclipseのごちゃごちゃ感になじめず
今までテキストエディタを使っていた。
Java以外はなんか怪しいにおいがするし。
で、NetBeans 6.5が標準でPHPサポートするではないか。
今RCがでてる。一般的なIDE的機能はサポートされているだろうから
俺が興味あるのがリファクタリング機能。
デモをざっと見たところ変数名の置換とかには対応しているのかな?
ためしてみようとおもう。うまくCakePHPと連携できるかな?
もしすでにやっている人がいたら、なんか教えてちょうだい。
461:nobodyさん
08/10/23 07:37:12
NetBeansはいずれCakePHPにも対応するらしいから期待してる。
462:nobodyさん
08/10/23 10:45:32
>>461
へぇ。マジか。CakePHP対応ってどんなことするんだろう?
463:nobodyさん
08/10/23 12:18:23
残念。NetBeansでリファクタリングはサポートされていないようだ。
デモにあった名前変更は、よく分からないけど
カーソル行があるスコープ名前を一括で変えるだけ?
遠くにあるコードまでは変わらないようだ。残念。
まあこんなもんか。PHPとしてはまだ初期段階だろうし、
型無し動的言語のリファクタリングは難しいだろうし。
464:nobodyさん
08/10/24 18:54:01
明日カンファレンスだってーのになんだこの盛り上がりのなさは
465:nobodyさん
08/10/24 22:08:58
行ってみたいけど、こういうとき地方は損だなあと感じる。
466:nobodyさん
08/10/24 22:22:17
参加人数少ないしなぁ
行けるなら行きたいが
467:nobodyさん
08/10/25 11:39:19
東京までの交通費が痛いよね。
468:nobodyさん
08/10/25 12:15:33
いまカンファレンス来てるんだが、他に来てる人いる?
469:nobodyさん
08/10/25 13:45:20
会社経費で来てますよ
RC4までくるとは予想外
470:nobodyさん
08/10/25 21:06:54
1.2RC3 今ここ
1.2RC4 もうすぐ出る
1.2Stable バグが0件になったら出る
1.3 機能追加等
2 PHP5のみサポートに変更
3 PHP6対応?
471:nobodyさん
08/10/26 00:22:27
結構道のりは長そうだ
472:nobodyさん
08/10/26 07:55:28
1と2同時進行とか無理かなぁ かなぁ
473:nobodyさん
08/10/26 11:49:16
PHP4ってIE並に悪だよな
474:nobodyさん
08/10/26 12:14:59
また頭悪そうな奴が来た
475:nobodyさん
08/10/26 20:28:30
RC3 で $html->input('Model/field'); が使えなくなって
$html->input('Model.field'); だけになったんだな。
最初気づかなくて焦ったぜ。
476:nobodyさん
08/10/28 00:36:30
これからCakePHPをデファクトスタンダードにしていくためには、
CakePHPで作られているCMSを有名にするのが早いのだろうか。
XOOPSレベルのCMS作って、有名どころの拡張モジュールを移植しまくれば。。。
477:nobodyさん
08/10/28 00:52:39
自分用のCMSっぽいものをつくっているけど、
表から見える所はいいんだけど、ただひたすら管理画面を作らなきゃならないのが
めんどくさくなって手抜きしちゃうんだよなー。
478:nobodyさん
08/10/28 13:01:58
>>469
会社の経費でってすっげーいい会社ですね。
うらやましかー
479:nobodyさん
08/10/29 10:02:34
save関数でupdateするときカラム指定しないと
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']));
480:nobodyさん
08/10/29 10:09:11
>>453
php初心者だと思うけど
なんか間違ってると思うよ。俺は
var $useTable = false;
でいけてるよ
481:nobodyさん
08/10/29 10:12:11
IDE環境だけどCakePHP対応して欲しいと思うなら
eclipseで自分にあったプラグイン作ればいいよ
これほど自分にあったIDE環境はないよ
482:nobodyさん
08/10/29 15:09:41
ページング処理をしたく、
controllerに、$this-set('users',$this->paginate()); と書いたのですが、
Fatal error: Call to undefined method TasksController::paginate()
と、コントローラでエラーが出ます。
こうした場合、どこを調べれば良いでしょうか?
483:nobodyさん
08/10/29 15:23:33
>>482
○ $this-set
× $this->set
ここらへん?
484:482
08/10/29 15:32:02
>>483
cakephpの古いバージョンを使っていたせいでした; ごめんなさい
確かにそこも間違えてました;;
485:nobodyさん
08/10/29 16:28:20
submitiボタンに画像を使いたいのですが、formヘルパーのsubmitではできますか?
それともhtmlヘルパーのimageで工夫すればよいのでしょうか?
486:nobodyさん
08/10/29 17:50:53
>>485
submitのオプション又はsubmitImageで出来ますがマニュアルぐらいは読んどこう。
487:nobodyさん
08/10/29 18:45:53
>>486
謝謝
googleで調べまくっていたのですがなかったのですがマニュアルにありましたか。
もっとじっくり読めばよかったです。
488:nobodyさん
08/10/29 19:27:11
なんか文字小さくなっていたり、例が少ないのも一部あるけど
標準ヘルパー系はマニュアルにちゃんと書いてある
489:nobodyさん
08/10/30 20:56:23
何で1.2の日本語マニュアル
URLリンク(book.cakephp.org)
は、深い階層を開いていくと、右側が切れて
table of contentsが見えなくなるんだろう…
IEでもFirefoxでもいっしょ。
490:nobodyさん
08/10/30 21:17:18
>>489
特定のページのみ、右カラムのメニューになぜかまたヘッダー部分が出力されているから。
アプリのバグ。
491:nobodyさん
08/10/30 22:14:20
>>490
なるほど。バグすか。
読めなくて困るんですよね…
492:nobodyさん
08/10/31 18:02:22
スレチなんだけどさー
小さな会社の優秀な技術者の採り方 第0回を開催しました
URLリンク(techlife.cookpad.com)
この記事読んでどう思う? 特に下のあたりについて。
>入社しようと思った理由
> * やりたいことができる
> o 好き勝手やってよい文化がある
> o 経験が生きる
> o キャリアパス上重要なことが学べる
> * 環境がいい
> o 優秀な同僚
> o 海外の事業所がある
> o 女の子かわいい
> * 会社の将来性が感じられる
> o 世界で唯一のチャレンジを行っている
> o 目的がはっきりしている
> * 感じが良い
> o 採用プロセス上 で会ったのがとても良い人
> o 社長が面白い
> * 縁があった
> o 友達とか先輩とかが居た
> o バイトしてた
493:nobodyさん
08/10/31 20:21:19
>>492
スレ違い
494:nobodyさん
08/10/31 20:32:17
まーまーそー言わずにさー感想聞かせてくれよ-
頼むから次は、スレ違い、とか言わないでくれよー
495:nobodyさん
08/10/31 22:54:26
小学生からやり直せ
496:nobodyさん
08/11/01 00:18:12
わかっててスレチ投稿したんじゃないのかよ
497:nobodyさん
08/11/01 02:50:08
例えば商品レコードが
id、カテゴリid、値引率、……
みたいになってるとして、
カテゴリid(≒PK以外)を指定して
「該当するカテゴリの値引率を一括で10%に」
みたいな更新って、
(CAKEの機能として)可能ですか?
(Model->save()は
id指定して一件ずつ更新するしかないんだよね?)
498:nobodyさん
08/11/01 08:59:38
updateAll
499:nobodyさん
08/11/01 23:47:11
例えば...「顧客A,顧客B,顧客C,...と今後も顧客は増えるとして、
それぞれの顧客の取引情報をデータベースに入れるとする。
だけど、それぞれの顧客の情報を串刺しで集計する事は無い。」
という(まあ普通じゃない)状況があるとする。
CakePHPで使うデータベースとしてSQLiteを使って、
SQLiteとかならデータベース1つ=1ファイルなので、
それぞれの顧客ごとにデータベースを分けて保存する事って、
できますか?つまり、動的に接続するデータベースを増やせるか?
って事なんですが。
本来なら、MySQLでもなんでも、一つのデータベースに入れて、
SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
組み立てる条件が増えるとミスが増えそうなんで。
データベースを使わず、1顧客につき1つのテキストファイルに
入れるって案も有るんだけど。テキストファイルよりは、
一応SQLiteでもデータベースに入れた方が楽かな、と思ったので。
500:nobodyさん
08/11/02 00:12:07
CakePHPを使わない場合のやり方は分かるの?
501:nobodyさん
08/11/02 00:53:13
PHP5限定&SQLite決め打ちなら、
function db($kokyaku){
sqlite_open($kokyaku);
...
}
ってするだけと思ってるんだけど。
502:nobodyさん
08/11/02 06:29:06
>>499
それはすでにデータベースとは呼べない気がする。
503:nobodyさん
08/11/02 10:58:34
普通じゃないのは認める。
でも、顧客一人一人のデータに関しては、
データベースって言えると思う。
例えば、顧客AのデータをノートPCに
移して持ち出したりする時に、
データベース全体を持ち出すのは危険だし、
その度にいちいちDUMPするのも無駄が多い
(と思う)
そこで、(例えば)SQLiteなら、その顧客の
データベースのファイルだけを持ち出すのが
簡単かな、と。思ったわけですが。
504:nobodyさん
08/11/02 11:04:28
>>499
>組み立てる条件が増えるとミスが増えそうなんで。
ここら辺から考え方がおかしくなっている気がするぞw
串刺しの集計はしなくても、IDをキーに単純抽出する為の場所という認識で
一つの顧客テーブルを使えばいいんじゃないのか?
505:nobodyさん
08/11/02 12:25:01
> 本来なら、MySQLでもなんでも、一つのデータベースに入れて、
> SQLのWHEREで抽出すれば済むじゃん、って言われそうだけど。
> 組み立てる条件が増えるとミスが増えそうなんで。
この理由でデータベース分けるくらいなら、RDB使わないほうがいいんじゃ‥
データベース単位じゃないけど、テーブル自動生成するやつならつくったことある
506:497
08/11/02 12:31:59
>498
ありがと
1.2で追加されたのね……
手元の資料になかったお ><
507:nobodyさん
08/11/02 14:52:56
>>505
うむ。RDBじゃなくていいんだ。
でも、CakePHPは使いたいんだ。
で、データの管理で楽したいんだ。
508:nobodyさん
08/11/02 15:11:53
検索とかしないんだったら
必要なデータをクラスにまとめて
保存・更新の際にシリアラズしてDBにぶちこめばいんじゃね
509:nobodyさん
08/11/02 17:41:13
個々の顧客データの中では検索したいんだな。
「顧客」って書くから漠然としていて分かりづらいんだな・・・
「辞典」って読み替えてみて。「顧客A」は「国語辞典」、「顧客B」は「カタカナ語辞典」
と、目的毎に辞典の種類は増えて行く。(辞書の場合、串刺し検索できると便利だけど)
全部のデータを一まとめにしたくない。辞書の種類毎にデータベースを分類したいんです。
で、その分類は、例えば「萌え用語辞書」が追加されるとか、どんどん増やして行きたい。
その度に、別のデータベースに分けたい。一つのデータベース、例えば「国語辞典」の中では、
もちろん検索できないと困る。ただし、用語の説明の中身は、用語によって様々だから、
シリアライズして放り込むつもり。
そうすると、SQLiteでデータベースを分けて作ると、1つのファイルがそのまま1冊の
辞書そのものになる。←今回は、ここが重要
これなら「カタカナ語辞書」のファイルを友達に渡しても、「萌え用語辞書」が雑じってる
ことは無いので安心。(例えば、ね)
そういう、いわば辞書編集システムを、CakePHPのデータベースを扱う部分の工夫で
なんとか簡単に作れないかなー、というところなんです。
CakePHPでも複数のデータベースは使えるけど、あらかじめ'database.php'に
書き込んだ物に限られる。これが、動的に増やしたり変更する方法があれば有り難い。
510:nobodyさん
08/11/02 17:49:09
動的に増やしたり変更したりすればいいじゃない
511:nobodyさん
08/11/02 21:34:39
>>510
できるの?
512:nobodyさん
08/11/02 21:47:23
逆にできない理由を知りたい
513:名無し募集中。。。
08/11/03 23:33:04 8PMDTqib
1.1から1.2にしてがんばってるんだけど、
左上に実行中のメソッド名が表示されちゃう(HTMLの最初にメソッド名が出力されている)
んだけどなぜなんだろうか。
514:nobodyさん
08/11/03 23:35:05
しまったお里が知れてしまった。
出ているのはメソッド名じゃなくてview名らしい。
515:nobodyさん
08/11/03 23:40:04
めっちゃ自己解決した
拾ってきたbeforeRender()のサンプルの中に
echo $this->action;があったよ死のう。
516:nobodyさん
08/11/04 00:02:52
この間わずか7分の出来事であった・・・
517:nobodyさん
08/11/04 05:42:03
>>515
死んだら・・・だぁめ♪
518:nobodyさん
08/11/04 12:59:24
死んだら・・・らめぇ
519:nobodyさん
08/11/06 21:23:56
すみませんが、質問です。
bakeについてですが、これはCakeの配置のされ方が、下のページの
URLリンク(book.cakephp.org)
Developmentであることを前提にファイルを生成するもので、Production や
Advanced の配置では使うことができない(現実的でない)という理解でよろし
いでしょうか?
520:nobodyさん
08/11/06 21:30:59
追伸。
もし、上の理解が間違っていて、Advancedの配置でもBakeが使えるのだとした
ら、Advancedの一例として、Cake のシステムは共通だが、作成するWEBアプリ
ケーションが同一サーバに複数あって、Cakeの同一のシステムを共有している
場合、特定のWebアプリをどうやってコード生成のターゲットとするか、その指
定方法を教えていただけたら、と思います。
521:nobodyさん
08/11/06 21:38:37
bakeで作ればコア(cakeフォルダ)へのパスは自動設定されているはずだからどこにおいても問題ない
522:nobodyさん
08/11/06 21:39:33
普通に日本語の方を見ればいいのでは
URLリンク(manual.cakephp.org)
駄目だとしても他の場所に作って移動すればいいのではないかと思うんだけど
それじゃ駄目なのかな?
まあ俺が>>513と同一人物と言うことは内緒だが
523:nobodyさん
08/11/06 22:00:26
>>521
すみません、ちょっとおっしゃる内容が分かりません。
少し詳しく質問し直させてください。
例えば、こういう配置だとします。
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は指定で
きるのでしょうか?
524:nobodyさん
08/11/06 22:01:50
>>522
日本語のほうはURLが長いのでわずらわしいかと思いまして。
ひとつ前のレスに書きましたが、書き込み権限がない場合を想定しています。
525:nobodyさん
08/11/06 22:20:55
すみませんが、こちらの事情で、明日までここにアクセスできなくなりました。
質問させていただいたのに、非礼をお詫びいたします。
526:nobodyさん
08/11/07 01:23:09
>>523
Bakeでapp一式を生成する話かと思ってたが、modelとかを作る場合の話ね。
cake bake -app <appフルパス>で指定できる
または、
/home/user01/appをカレントディレクトリとして、cake bakeを実行すればよい。
但し、/usr/lib/cake/consoleにはパスを通しておくこと。(ちと気持ち悪いが)
527:nobodyさん
08/11/07 10:47:32
>>526
ありがとうございます!なるほど、コマンドラインオプションで指定するのか。
それにしてもbakeのドキュメントって見つからないと思ったら、
./cake bake help
こうすれば説明が読めることにやっと気づきました。
この説明以外にドキュメントがないというのが何ともですが。
後はソース読むしかないか。Railsもそうだったけど。
528:nobodyさん
08/11/07 13:57:45
いろいろ調べても出来なかったのでご教授願いたいのですが。
MySQLに画像は保存できるのですが、その画像をselectしてViewで表示するにはどうやればいいですか?
外部のPHPに記述して読み出すようにはあるのですが、cakePHPのViewから同様のことができません。
529:nobodyさん
08/11/07 14:03:58
>>528
何をやって、どう駄目だったのか書いたほうがいい。
外部のPHPなら、Cakeのviewで普通に画像として呼び出せばいいんじゃないの?
530:nobodyさん
08/11/07 14:13:15
>>529
$this->data['Event']['imagedata']にイメージのバイナリがセットされています。
echo $html->image($form->value('Event.imagedata'));
で表示させるとバイナリのまま表示されます。
それでimage.phpを作成して、header("Content-type:image/gif");を指定して
外部のPHPファイルで画像のバイナリを表示させようとしたのですが、
ビュー以下において単純な<img src="image.php">では呼び出せずにいます。
webroot以下やコントローラー以下にも配置したのですが同じでした。
ファイルの置き場所が悪いのでしょうか?
それとも簡単に出来る方法があればよろしくお願いします。
531:nobodyさん
08/11/07 14:51:26
>>530
イメージのバイナリを画像表示用のviewに渡して、viewでheader吐けばいけそうだけど。
MVCの設計としてどうかは知らん
最終的には画像表示用のコントローラ作ればいいんじゃないかな
532:nobodyさん
08/11/07 14:55:58
>>531
ビューでheaderをはきたいのですが他にもHTMLがありますので、画像の部分だけ「Content-type:image/gif」とかを指定したいのです・・・
533:nobodyさん
08/11/07 15:34:56
>>532
メディアビューを使えばできますよ。
マニュアルのビューの所。
534:nobodyさん
08/11/07 15:44:18
>>533
メディアビューは初めて聞きます。
サンプルはバイナリファイルをダウンロードさせるようになっていますね。
画像の場合はどのようにすればいいのかまだ分かりません。
例えばMySQLから取得した画像のバイナリーデータを
SNSのプロフィール画像のように表示させたいのです。。。
535:nobodyさん
08/11/07 16:06:14
なんかPHPをきちんとやらずに急にCake触ってる匂いが・・
>>532
そもそもHTMLと画像は別ファイルだよ。
外部のPHPファイルで画像表示に成功しているなら、viewに直接imgタグ書けばいいだけかと。
536:nobodyさん
08/11/07 16:12:29
ああ実物がないとメディアビューじゃダメか。失礼。
537:nobodyさん
08/11/07 16:12:54
beforeRenderでファイル吐いてexitしちゃえよw
538:nobodyさん
08/11/07 16:37:20
1.HTMLを表示
2.MySQLから取得した画像のバイナリをイメージで表示
3.HTMLを表示
上みたいな感じなので、2のパートだけをContent-type:image/jpegにしたいのですが
エレメントとかで分けてもheader("Content-type:image/jpeg");を記載したら
URLだけしか表示されないのです。
そのままだとバイナリデータが表示されます。。。
おとなしく画像をアップしてパス指定で管理するしかないのですかね。。。
539:nobodyさん
08/11/07 16:47:27
cakePHPを使用しないのであればビューからPHPを呼べばできそうなのですが・・・
URLリンク(q.hatena.ne.jp)
540:nobodyさん
08/11/07 17:31:48
>>538
>>535に書いたとおり、一つのファイルでHTMLと画像を兼ねるのは無理だよ?
541:nobodyさん
08/11/07 17:40:49
画像をHTMLにアスキーデータで組み込むのは無理じゃないよ
542:nobodyさん
08/11/07 17:53:54
>>541
今回はそういう事を意図してない雰囲気はする
543:nobodyさん
08/11/07 18:13:58
>>542
ご回答ありがとうございます。なかなか難しいのですね。
cakePHPでSNSのプロフィール画像を表示させたいイメージなのです。
ファイルをアップしてリンクのテキストで対応するのは出来るのですが、
バイナリーで保存してやりたいということです。
544:nobodyさん
08/11/07 18:32:58
>>543
あなたには無理ですのであきらめてください。
545:nobodyさん
08/11/07 19:05:29
>>544
つまんねぇレスすんなハゲ
これは使えないかな?
サムネイルコンポーネント
URLリンク(www.hideblog.net)
もっとスマートにできるなら俺も知りたい。
546:nobodyさん
08/11/07 20:24:31
ビューでバイナリを吐けるんだったら、レイアウトを空にして、ヘッダー付ければ出来ない?
文字データなら出来たけど。
547:nobodyさん
08/11/07 21:14:59
Railsなら簡単に出来たけど、Cakeだと難しいのかな。
548:nobodyさん
08/11/07 22:25:45
別件でお取り込み中のところすみませんが、質問です。
コントローラのファイルを、種類によっていくつかのサブディレクトリに分け
て配置することは出来るのでしょうか?
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でアクセスでき
るのでしょうか?
549:nobodyさん
08/11/07 22:48:44
>>548
URLリンク(book.cakephp.org)
550:nobodyさん
08/11/07 23:08:49
>>549
なるほど、ありがとうございます。bootstrap.phpの$controllerPathsですか。
CakePHPでコントローラーを複数のディレクトリに整理する方法 - yandodの日記
URLリンク(d.hatena.ne.jp)
> 分散したディレクトリ内でファイル名やクラス名が衝突すると面倒な事になる
> と思われますので接頭語を付けるなどして管理するのが良いかもしれません。
うーん。コントローラの名前空間は共通なのか。
URLのパス指定で、各ディレクトリを呼び分けるとか出来ないでしょうか?
551:nobodyさん
08/11/07 23:29:48
Base64エンコードしたデータ格納しといてMHTMLで表示しとけよwww
552:nobodyさん
08/11/07 23:32:23
mysqlの中に画像を入れるのは馬鹿だろ
そもそもmysqlは画像データを格納するために作っていないから
画像はフォルダに入れて管理した方がいいと
mysql作者が語ってるのに。
そんな自分もかけだしのときはmysqlに画像データ入れてました
管理は楽だけどね。かなりの負荷がかかる。
Bakeとか使う人も素人くさいと思う。
553:nobodyさん
08/11/07 23:49:13
>>552
同意。mysqlじゃなく適当なフォルダに画像を突っ込んだ方がいいよ。
554:nobodyさん
08/11/08 00:12:16
>>550
URLリンク(book.cakephp.org)
Routes追加すればURL上は階層化されてるように見せることは出来るが、名前の衝突は回避できない。
コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
555:nobodyさん
08/11/08 00:14:48
Bake便利だと思うけどな。
使うのはスキーマ検証時くらいだけど。
556:nobodyさん
08/11/08 00:17:44
そもそもBakeの使い方がわからないという。
557:nobodyさん
08/11/08 00:19:20
>>552,553
case by caseだとおもうけど
DBでファイルのパス管理してたらそのファイルが消されてたりとか。
かといって参照頻度が高いときはDBに置きたくないしな
さすがにデザインとかで使うような画像は普通に置いとくけどさ
558:nobodyさん
08/11/08 01:37:22
>>557
DBに入れておいて、参照されたらキャッシュを作り、そのキャッシュを送信するって方法もあるらしい。
2回目以降は早いし、ファイルが消えても問題ない。
559:nobodyさん
08/11/08 02:27:53
たしかにDBにも入れといたほうがバックアップは楽そうだね
560:nobodyさん
08/11/08 02:50:18
>>558
それ考えた奴天才じゃね?
561:nobodyさん
08/11/08 03:22:53
Cakephpでキャッシュオンにして簡単に実現できそうだ
562:nobodyさん
08/11/08 07:55:27
ここ
画像もDBに格納して管理する -扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め
URLリンク(neta.ywcafe.net)
563:nobodyさん
08/11/08 11:22:34
画像格納に強いDBならいいけど
mysqlは画像を格納するという目的で設計されてないからね
だから画像をDBに入れるのが悪いというのではなく
画像をmysqlに入れるということがナンセンス
564:nobodyさん
08/11/08 11:26:06
mysqlは高速が売りだからね
画像格納させたいならoracleとかの方が合理的だと思うよ
565:nobodyさん
08/11/08 11:33:20
画像表示のパフォーマンスを考えればLinuxファイルシステムが最強
DBと連携させて管理するのが面倒だけど、そこまで面倒な管理とも思えない
画像はデータの一つだからDB格納がよいという理念なら
htmlもcssも全部DBに入れよということになる
566:nobodyさん
08/11/08 11:38:58
データはなんでもかんでもDBという流れの人は
DBの持つ性能とバランスをどこまで考えてるの疑問に思う
567:nobodyさん
08/11/08 11:42:47
だからあくまでキャッシュ前提の話なんだろ
568:nobodyさん
08/11/08 12:05:42
URLリンク(dev.mysql.com)
通常の Web サーバセットアップを使用する場合は、画像をファイルとして格納する。
言い換えると、データベース内にはファイル参照のみを格納する。この主な理由は、
通常の Web サーバのほうがデータベースコンテンツと比較してファイルのキャッシュに優れているためである。
このため、ファイルを使用したほうがシステムの高速化を容易に図れる。
569:nobodyさん
08/11/08 12:09:44
ファイルシステムによるキャッシュ前提なら、DBをバックアップするだけでユー
ザのデータを一括管理できるというメリットしか存在しないと思うけどな。
Railsのときはそうやってて、非常に便利だった。
570:nobodyさん
08/11/08 14:24:18
>>554
> コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
了解です。ありがとうございます。
今回はbootstrap.phpの$controllerPathsでやって、名前の衝突についてはその
都度対処することにしようと思います。
571:nobodyさん
08/11/08 15:12:49
A hasMany B
B hasMany C
で
C belongsTo D
みたいなときのリレーションの貼り方が判らないんですが、
そもそも可能なんでしょうか?
(Aを基点にA~Dのテーブルからデータを取ってくる想定)
SQL直書きでは勿論可能ですが。
572:nobodyさん
08/11/08 15:56:39
>>571
そこまでしてリレーションに拘るのは返って
生産性を落とす可能性があるから
要はバランスですね
どこからSQLl直書きにするかの線引きはね
573:nobodyさん
08/11/08 16:42:40
MYSQLだから画像は駄目と硬直的に反応するのは駄目だな
アクセス頻度やキャシュの実装、使い方や状況によって向いてる場合もあろう。
574:nobodyさん
08/11/08 17:08:34
画像を表示させるにはフォルダにアップして管理するのが確実みたいですね。
簡単に出来るのなら採用したかったのですが・・・
575:nobodyさん
08/11/08 18:47:57
個人情報が含まれる画像だとDBで管理するのが普通でしょ
履歴書の写真とか。
576:nobodyさん
08/11/08 18:54:20
ファイルシステムで管理するからと言って、直接見られるところに
置くわけでは無いと思うが。
認証チェック経由でファイルを返すのが普通でしょ。
577:nobodyさん
08/11/08 19:06:19
ファイルシステムで認証チェックしてファイル返す方法ってbasic認証のこと?
578:nobodyさん
08/11/08 19:11:50
画像格納の話だけど
ファイルパスのみDBに突っ込んで画像はファイルシステムから読み出すようにすりゃ良いんじゃないの?
画像データそのものをDBに突っ込む必要があるとしたら、
バイナリデータで検索する場合しかなくない?
579:578
08/11/08 19:15:44
他にもあるな。
例えばDBだとデータをまとめて暗号化するようなソリューションがある場合があるが
ファイルシステムに保存するとそういう枠組みから漏れてしまう
まあファイルシステムドライバで暗号化すれば良いだけなんだけど
ドライバ方式とDB方式の差異はパフォーマンスくらいか
それも特定ディレクトリだけ暗号化するようにすれば良いだけか
580:nobodyさん
08/11/08 19:26:04
<?php
// 何かしらの認証チェック...
header("Content-type: ...");
...
readfile( 直接ブラウズできないパスの画像ファイル );
?>
な処理をimgのsrcに指定。
581:nobodyさん
08/11/08 19:32:38
ブラウザ⇔phpは話題にしてないと思うんだけど
php⇔hdd間での画像データのやり取りをどうするかって事だよね
582:nobodyさん
08/11/08 20:14:49
>>581
元は前者の話
相談者のスキルが異常に低かったのでなぜか後者の話に移った
583:nobodyさん
08/11/09 06:03:18
画像をDBで管理てのもファイルシステムで管理てのも
同じくらい面倒だ、DB画像管理が最高に楽じゃない限り
パフォーマンスのいいファイルシステムになる
584:nobodyさん
08/11/09 06:10:19
mysqlを画像に入れた場合のメリットが見えない。。。
585:nobodyさん
08/11/09 07:31:37
>>565
同感。
586:nobodyさん
08/11/09 13:38:34
>>565
> 画像はデータの一つだからDB格納がよいという理念なら
> htmlもcssも全部DBに入れよということになる
画像はM
htmlやcssはV
DBには入れませんが。。。
587:nobodyさん
08/11/09 13:55:11
ユーザの作ったデータ(日々変動する)と、開発者の作ったデータ(基本的に
リリース時で固定)は別物だと思うが。
前者をDBで一元管理できると便利だよ。
まあ抵抗のある人に無理強いするつもりはないし、個々人の自由だと思うけど。
自分はCakePHPでもこれがやれるならやりたいなあ。
何とか実現できないものか。
588:nobodyさん
08/11/09 14:11:02
スケールする/しない、管理できる規模/できない規模の話だからな。
条件があえば、DB管理で一元管理でも良いと思う。
この辺を思い出した。
URLリンク(neta.ywcafe.net)
URLリンク(blog.livedoor.jp)
589:nobodyさん
08/11/09 15:42:14
MovableTypeとかCSSやHTMLテンプレートDBに入ってるだろ
590:nobodyさん
08/11/09 15:47:24
>>586
ページ上に表示されるような画像はVだよ
そしてページ上に表示されない画像ならWEBシステムの中に入れておくべきものじゃない
画像でありながらMになりうるのは、画像検索システムのようなものだけ
591:nobodyさん
08/11/09 15:48:39
例えば履歴書の画像データの話が出たけど
それをWEB上からログインして観覧するようなシステムがあるならV
一切使い道が無いならWEBシステム外で保管しておくべきもの
無いと思うけどその画像で画像検索するならM
592:nobodyさん
08/11/09 23:20:30
>>590
検索対象じゃないとMになれないの?
↓そう読み取れなかったが
URLリンク(ja.wikipedia.org)
593:nobodyさん
08/11/09 23:25:24
設計にこれが絶対正解ってのはないでしょ。
要件次第だと思うよ。
594:nobodyさん
08/11/11 09:18:04
Vというのはファイル形式そのもので
ファイルをバイナリーデータに変えたものがMである
595:nobodyさん
08/11/11 09:55:03
>>594
バイナリとかそんなデータ表現は一切問題じゃない
596:nobodyさん
08/11/11 11:39:47
Mはデータを扱う仕組み
Vはデータを表示する仕組み
Cはデータを操作する仕組み
画像はデータなのでそのどれでもないと思うが
597:nobodyさん
08/11/11 11:48:43
「扱う」と「操作する」の日本語の違いがわからないっす
辞書には
> あつか・う〔あつかふ〕【扱う】
> 道具・機械などを、使ったり操作したりする。取り扱う。
ってあったっす
598:nobodyさん
08/11/11 12:46:42
Cは操作限定
Mはデータの出し入れや変換、型決めなど広範囲に扱える
599:nobodyさん
08/11/11 18:28:03
MとかVとかなにいうてんねんとおもったら、MVCのことだったのか
600:nobodyさん
08/11/11 18:41:57
SとMなら分るんだけどな
601:nobodyさん
08/11/12 01:29:19
画像の加工はモデルに突っ込むね
コントローラはモデルで引っ張ったデータをチェックしてビューに渡すだけだな
602:nobodyさん
08/11/12 09:05:32
再利用する頻度の少ない加工処理はコントローラに書いてるよ
モデルに書くと生産性が落ちる
なぜなら
再利用できるように関数化させるのが手間
再利用が2回程度ならコントローラ上でコピペが最短
603:nobodyさん
08/11/12 09:12:09
あとモデルが厚くなりすぎると
総体的にコード量が多くなる。
なぜなら
symfonyのように
MとVのやりとりが直接出来ないから
Cに橋渡し的なコードを書かないといけない分
コード量が増える
symfonyのうような仕様なら
モデルをどんどん厚くすべきだが
CakePHPの場合は
モデルを厚くしすぎるのも
作業効率が落ちると思う
604:nobodyさん
08/11/12 17:43:12
URLリンク(book.cakephp.org)
ここ見るとfind系が全部find()に統合されたって書いてあるけど、
findAllByって使っちゃっていいの?
特に非推奨とは書いてないけど。
findByとfindAllByだと配列で条件指定する新しい形式が使えなくて
nullを並べる旧形式のままだから、条件指定方法が統一できなくて
ちょっと気持ち悪いんだけど…
新形式の条件指定に対応しないってことは、そのうちマジックメソッド自体が
消える予定なのかな。
調べてみたけど、日本語だとこれくらいしか記事がない
URLリンク(d.hatena.ne.jp)
605:nobodyさん
08/11/12 17:55:00
findByGoogle
606:nobodyさん
08/11/12 20:14:45
>>604
find系てfind()でほとんど出来ると思うので
最初から意味の無さそうな機能だなとは思ってた
したがってfind()で統一してる人ばかりだと思うんで
どうでもいいよ
607:nobodyさん
08/11/12 20:23:16
似たような処理を持つ関数をやたら増やすもんでは無いと思う。
可読性とコーディング量は改善されるけど。
いつも使わない関数だとすれば、単なる無駄
608:nobodyさん
08/11/12 20:32:06
CakePHPの良いところは
データのやりとりが配列思考なところなんだよね
というのはphp自体が壊れたオブジェクト指向だから
配列思考型のフレームワークはphpにはピッタリだと思う。
あと配列思考型は中小規模にも適してる
CakePHP自体が中小規模を対象として設計されてると思う
rubyは完成されたオブジェクト指向言語だから
rorのようなオブジェクト指向型でのデータのやりとりがマッチする
609:nobodyさん
08/11/12 20:36:33
>>603
> MとVのやりとりが直接出来ないから
つーかやったらいかんだろw
MVCって何か知ってるか。
まあそんなにやりたきゃ、viewにmodelを渡せばいいだけ。
610:nobodyさん
08/11/12 21:16:40
>>609
viewにmodelを渡せばいいだけ
具体的にお願いします
611:nobodyさん
08/11/12 21:43:29
$this->set($this->Model)
612:nobodyさん
08/11/13 01:50:37
>>608
ルビリンのことかーーーーーーーーっ!!!
613:604
08/11/13 11:26:34
>>606-607
やっぱりfind()で統一の方向なのか…
AND検索はマジックメソッド使った方が書きやすいから好きだったんだけど。
今後はfind()で統一してみる。
614:nobodyさん
08/11/13 12:56:14
できるだけモデルに書いた方が
いいと思うんだけどなぁ・・・。
再利用するかしないかは別として。
まぁ、個人的な意見なのですが。
615:nobodyさん
08/11/13 16:20:24
理由も書いてくれないと賛も否も
616:nobodyさん
08/11/13 18:25:42
コントローラにごちゃごちゃ書くとユニットテストがしにくい
617:nobodyさん
08/11/13 20:23:44
CakePHP本家はモデルを厚くすべきと書いてあるけど
生産性を第一に考えると関数化してモデルに入れるよりも
コントローラ内で同じ構文を連続コピペした方が早い場合もあるんだよね。
例えば、納期がほとんどないという、追い込まれた状況なら
わざわざ関数化するのも時間がかかるじゃん、そういう意味もあるんだな
時間が限りなくあるなら、出来るだけ関数化してモデルに入れるのがベストだけどさ
618:nobodyさん
08/11/13 20:26:25
関数化させる手間をどうバランス取るかだと思うんだが・・・
619:nobodyさん
08/11/13 20:32:36
モデルを厚くするというのは、ある程度
CakePHPでの経験が無いと、いきなりは、逆に時間がかかり
重要である生産性が落ちると思う。
経験を積みながら、少しずつリファクタリングすてモデルを厚くしていく方法がベストかな
620:nobodyさん
08/11/13 22:47:32
先月からCakeさわり始めて、
コントローラーにコードを書きまくってたんだが、
徐々に慣れてきてからは、モデルを厚くする方が良さそうだなという感想。
621:nobodyさん
08/11/14 15:37:31
1.2RC3がうごかない、インストールしたディレクトリにアクセスしても画面が真っ白になっちゃう
って現象に陥った人っていらっしゃいますか?
ブラウザ?と思ったんですが、どのブラウザでも真っ白になっちゃいます。
1.1系で試したらうまくいくのに…。
mod_rewriteも有効、phpのバージョンもOK、パーミッションも変更済み。
.htaccessの内容も確認しましたが、1.1と1.2で同じでした。
同じ現象にぶち当たった方、いらっしゃったら教えてください><
622:nobodyさん
08/11/14 15:43:57
設定もしくはコーディング失敗したら真っ白になるけど
623:nobodyさん
08/11/14 15:59:49
デバッグレベルあげろよ
624:621
08/11/14 16:23:40
>>622
うーん、落としてきたモノをそのまま展開してるだけなんですよね。
どっかで間違えたのか・・・
>>623
デバッグレベルは3にしてあります。
それでも真っ白なんです><
625:nobodyさん
08/11/14 16:25:23
>624
PHPかApacheのログ見れ。
多分、cakeの問題ではない。
626:621
08/11/14 16:46:03
>>625
ありがとうございます。
でも、それらしいエラーは見あたりませんでした。。
でもなんとなくサーバーっぽい気はします。
627:nobodyさん
08/11/14 17:34:28
Shift_JIS で保存してるとか?
628:nobodyさん
08/11/14 17:36:59
サーバーっぽいってなんだよw
エラー無いのに何も表示されないなら何も出力しない処理に成功してるって事だろ
629:621
08/11/14 18:29:19
>>627
確認したんですが、それもなさそうです。。
>>628
そうですねw
いや、設定かなぁと。RewriteBaseとか。
でも別のサーバでは特に追記しなくても普通に動くので、なんだろう、と。
630:nobodyさん
08/11/14 19:48:22
1.1 -> 1.2RC2 のときに同じ現象陥った。
結局訳が分からず、一念発起して、1.2で書き直したけど。
同じかなあ?
631:630
08/11/14 19:50:04
あ、ごめん。移行の話じゃないか。スマン
632:nobodyさん
08/11/14 19:51:34
config/database.phpで文字コード明示とか、どう?
633:nobodyさん
08/11/14 22:25:29
NetBeand 6.5RC2使ってみたんだが、デバッグ時のmod_rewriteって対応してないの?
Eclipse+XDebug、NetBeansでCake mod_rewite無し版だとちゃんと使えるんだが・・・
634:nobodyさん
08/11/15 00:12:16
NetBeandって何?
635:621
08/11/15 01:03:38
>>632
うーん・・ダメっぽいです。
とりあえず今回は時間もないので1.1で作ることにします。
いろいろとありがとうございます。
636:nobodyさん
08/11/15 02:07:44
そんなレベルでいいのか仕事だろ
637:nobodyさん
08/11/15 02:18:29
PHPで動いてるんだから何かしらエラーは出るはずじゃないの?
例えそれがフレームワーク側のバグだとしても。
過去に経験があったのは文字コードの違いで真っ白になると言う事はあった。
コードに複数の文字コード混じったりしてない?
それ以外はページ上なりapacheログなりにエラー出てたが・・・。
638:nobodyさん
08/11/15 02:19:34
最悪、フレームワークのコードにデバッグメッセージ入れて
どこで止まってるか突き止めるのは可能だね
639:nobodyさん
08/11/15 08:21:24
webrootのindex.phpをコメントアウトして、適当にphpinfoとか出してみたら?
表示が出なければApacheの設定の問題
出たらコメントアウトを1行ずつ外してデバッグメッセージ出して試していく
640:621
08/11/15 11:24:41
諦められなくていろいろといじっていましたw
>>636-639
みなさんありがとうございます。
アドバイスしてくださったようにいろいろ試してみました。
webroot上のファイルがきちんと拾えました。
ということで、mod_rewriteの設定がおかしいようではないようです。
で、現状わかったのは、とりあえず処理としてはdispacher.phpを
読み込むところまでは来ていることがわかりました。
(bootstrap.phpの最後まで)
もうちょっと調べてみます。
ここまで来たら動かしたい。
641:nobodyさん
08/11/15 18:45:37
テーブル名を複数形にしろ、っていうけど
頭文字とった略語ってあるじゃん
PHP、DB、FWなんてのもそうだけど
そういうのに複数形つけるのに抵抗感があるんだけど、普通なこと?
642:nobodyさん
08/11/15 19:01:10
BBSをbbsesって書かないといけないんだよね?
bbsなら一目だけどbbsesじゃ一瞬分からないから
やりたくないんだよなあああ
643:nobodyさん
08/11/15 19:03:19
ちょw
テーブル名bbsesだとモデル名bbse
テーブル名bbsだとモデル名bb
テーブル名bbssだとモデル名bbss
だめじゃんwwww
644:nobodyさん
08/11/15 19:10:27
>>642
BBSをモデルにする設計が問題じゃね?
BoardとかThreadとかEntryとかにすればいいんじゃないか?
645:nobodyさん
08/11/15 19:12:01
略語で最後がsで終わるものは
非略語にしないとダメっぽ
本当にこんなことしなきゃいけないのか・・・
中途半端に略語でも最後がs以外なら大丈夫なのが困る
英単語って全部非略語にしたらすっごい分かりにくくなると思うし
646:nobodyさん
08/11/15 19:14:29
>>644
略語にされてる英単語に規則なんて無い
ただ長いものは略語にされてそれが広まってる
BBSの件はboardでもギリギリ分かるしそうするつもりだけど
他にもいくらでも略語はあるんだよね
CDでもDVDでも、ISBNでもISDNでもADSLでも
それらを非略語にする事に強い抵抗感があるんだがw
647:nobodyさん
08/11/15 19:19:38
OSを複数形にしてossなんて書いたらオープンソースかと思っちゃうな
AS,BS,CS,DS,ES,FS,GS,HS,,,,,,,,,,,,
いくらでもsで終わる略語があるんだが
648:nobodyさん
08/11/15 19:20:51
全て小文字と言う制約も手伝って最悪な事になってるなw
649:nobodyさん
08/11/15 19:25:32
略語じゃなくても末尾がsで終わる単語の複数形に正しく動作しない
URLリンク(www.cpa-lab.com)
bbses,bbs,bbss全てモデル名がおかしなことになる
aases,aas,aassでも同じだから
650:nobodyさん
08/11/15 20:51:02
どうでもいいがBBSのSってSystemのSだぞ
そもそも命名規約がおかしいっての
651:nobodyさん
08/11/15 20:52:05
ちなみにNewsは正しく使える
どちらもNewsのまま
652:nobodyさん
08/11/15 21:08:11
>>650
何が言いたいの?
653:nobodyさん
08/11/15 21:13:25
全部明示的にテーブル指定すればいいじゃん
654:nobodyさん
08/11/15 21:17:17
命名規約にルール追加は可能だけど
でもそれ本来は多言語対応や既存テーブルのためでしょ
新規テーブルで正しい英語の複数形つけて対応出来ないケースがあるのはおかしい
655:nobodyさん
08/11/15 21:23:48
最初の質問者じゃないけど・・
よく
foreach ($posts as $post) {
echo $post['Post']['title]
......
みたいのが出てくるけど、
BBSとかNEWSの場合はどうしてる?
無理やり
foreach ($newses as $news) {
......
とするのか、それとも
foreach ($news as $entry) {
......
みたいにするのか・・・
656:nobodyさん
08/11/15 21:34:41
そもそも、略語の複数形って一般的な英語にあるのか?
例が思いつかないのだが。
657:nobodyさん
08/11/15 22:01:06
CDs、OSsなんかは見かける。
一般的な英語では略語は普通大文字だが、
cakephpではテーブル名は全て小文字にしなきゃいけないからさあ大変
658:nobodyさん
08/11/15 22:02:35
単にテーブル名は大文字、ってすれば良かった気がするんだけどね
複数形部分のみ小文字で
CDs,OSs
PROGRAMMERs
WEBSITEs
これでよかったのに
659:nobodyさん
08/11/16 00:39:32
>>652
データベースにシステムを格納するかってことだろ?
格納するのはboardの情報とboardに書かれた記事(contentsやarticleみたいな)だろ
それを管理するシステムを総称してBBSになるんじゃないのか
660:nobodyさん
08/11/16 00:40:39
>>659
そんなのは問題じゃなくない?
ずれた事言ってるよね君
一般的に全ての場合において正しい設計をすれば
略語の複数形で困る事なんて無い、って言えるなら別だけどw
661:nobodyさん
08/11/16 00:40:50
>>657
cd_infomations
os_informations
格納するのはCDやOS自体ではなくそれに関する情報だろ
662:nobodyさん
08/11/16 00:43:43
>>661
頭悪い奴は黙ってろ
usersをuser_informationsとすべき理由なんて無い
cdやosの複数形に困るから苦し紛れでつけるに過ぎないだろ
情報機器であるサーバマシンのDBに入っているものが情報である事なんて明示する必要が無さ過ぎる
663:nobodyさん
08/11/16 00:45:51 l+j4XBOD
実装に困らない回避例出してくれてるのに、
英語原理主義にこだわってかみついてる奴ってなんなの?
664:nobodyさん
08/11/16 00:46:33
>>662
命名規約はフレームワークに合わせてねってだけのこと
嫌ならフレームワーク使うな
665:nobodyさん
08/11/16 00:47:15
あくまで苦し紛れの回避策でしかないのに
それがあたかも回避策ですら無くすべての命名はこう行うべきだというニュアンスで言ってるからだろ
666:nobodyさん
08/11/16 00:50:45
systemはDBに格納するものじゃないだの
全てのテーブルには末尾に_informationsをつけるべきだの(格納するのはそれ自体じゃなくて情報だもんね?wwww)
電波過ぎるだろ
667:nobodyさん
08/11/16 01:00:21
ものすごい曲解ですね
668:nobodyさん
08/11/16 01:07:42
_informationsとつけるのは回避策であって
>格納するのはCDやOS自体ではなくそれに関する情報だろ
この様に一般的な解釈のもと行う事じゃない
こんな苦肉の策をとらなきゃいけないのかという話なのに
さも当然の事のようにこんな事主張されてもw
669:nobodyさん
08/11/16 01:11:08
それがフレームワークの制約という奴です
嫌ならCakeやRoRの使用はお控えください
670:nobodyさん
08/11/16 01:14:58
実際問題開発の現場でも、フレームワークのここが自由にできないって
開発止める奴いるから仕方ないよ。
671:nobodyさん
08/11/16 01:16:59
別にこの回避策は既にやってるし良いんだが
これが一般的な解釈のもとやる事だと言われたら納得できるわけないだろwww
しかも数レス引っ張って何かすごい意見を持ってるのかと聞き出したらこれじゃあなw
672:nobodyさん
08/11/16 01:18:41
そうなんだ
そこまでDBの名前に拘るのって
神経質ではないの?
DBの名前の不自由さ>cakeを使うこと
って単純な話なの??
673:nobodyさん
08/11/16 01:21:00
いやお前の方が曲解だろwwww
そんな気になるならせいぜい100万回でも俺の文章読み直してろ低脳
674:nobodyさん
08/11/16 01:25:27
wを2個以上使った時点で議論は負けだ
675:nobodyさん
08/11/16 01:28:52
これを議論と捕らえてるのがおかしい
相手は何も主張してないし、俺はそいつがどれ程頭の悪い考え方をしてるのかを親切で教えてやりたいだけだからなww
676:nobodyさん
08/11/16 01:29:31
会ったら良い人なのに…(たぶん
677:nobodyさん
08/11/16 01:31:37
実際あったら>>670の部下だったとか
678:nobodyさん
08/11/16 03:47:10
命名の話題になっているので、聞きたいのですが、
watchlistとかguestbookのような場合、テーブル名は
やはり複数形にするのでしょうか?
ウォッチリストやゲストブックが複数あるわけではないので、
ちょっと違和感があるのですが・・・
それとも、上で話されていたように、
guestbook_entriesのようにするのが妥当でしょうか?
679:nobodyさん
08/11/16 04:24:01
どっちでもいいと思うが
680:nobodyさん
08/11/16 14:59:56
ポインタ(Pointer)の配列・・・
ポインタのポインタの配列・・・
ポインタのポインタの配列の配列・・・
ポインタの配列のポインタの配列・・・
681:nobodyさん
08/11/17 10:02:05
>>678
guestbook_をつけるかどうかは他モデルとのかぶり具合によるけど
entriesのようにするのが、適切でしょうな
foreach ($entries as $entry) ... みたいな
682:nobodyさん
08/11/18 01:37:43
ER図の作成ソフトどうしてる?
cakeの規約に揃うように設定できるものがみつからない
683:nobodyさん
08/11/18 13:09:08
ちなみにforeachの右側の命名は一律で良いと思います
変数はforeach宣言したときに初期化されるし
わざわざ命名する時間は省ける
foreach ($entries as $line)
foreach ($entries as $k => $v)
684:nobodyさん
08/11/18 17:07:52
まあそれでいいかもね
コード見る時はforeach見た時点で配列の順次処理なんだと分かるし
685:nobodyさん
08/11/19 00:26:30
2重以上のループの時は辛い
$v2とかすればいいのかもしれんが、階層に依存した名前は付けたくないな。
686:nobodyさん
08/11/19 00:41:14
関数化できそうだな
各階層用のコールバック関数の配列を引数に取って順次処理するような
内部では自分を再帰的に呼び出すようにしておけばforeach自体は一つで済む
687:nobodyさん
08/11/19 01:22:24
それは気持ち悪いというか美しくないとうか。
それにforeach外のローカル変数にアクセスできなくなるし。
手間という意味では本末転倒。
688:nobodyさん
08/11/19 02:21:00
foreachの中が長くなるようならちゃんと名前をつける。
コードを読むときに、foreachを含めて一塊で読むか
foreachの中だけを読むか。
短いコードならforeachも含めて一塊にして読むが
長ければ、ループする処理ってのはおいといて、
中身だけを取り出して読む。
塊の中で名前が適当でもわかるなら(つまり前者)省略してもいいが、
塊の中でいきなり$vとか出てきてもわからないだろう?(つまり後者)って
時はちゃんと名前をつける。
689:nobodyさん
08/11/19 12:31:25
そういや、ちょっと前にfindの話でメソッドをまとめるのがよいって話あったけど、
クラスのプロパティに代入するメソッドを作る場合、
setPramA($data);
setPramB($data);
とプロパティごとに作るより、
set('paramname',$data);
として一カ所にまとめたほうが幸せなんすか?
690:nobodyさん
08/11/20 05:51:48 /cM24YKo
find all で、フィールドのひとつを計算式含ませて、ASで名前をつけているのですが,
Doc.count *100 AS Doc__score
出力が
[0] => Array
(
[Doc] => Array
(
[id] => 6064
[title] => regulations
)
[0] => Array
(
[Doc__score] => 165.34334421158
)
)
のようになってしまいます。
どうにか[Doc]の配列に計算したscoreを含めるようにできないでしょうか?
cake1.2RC3, MYSQLです。
691:nobodyさん
08/11/20 09:46:38
>>690
Doc.count *100 AS Doc.score
じゃなかったっけか
692:nobodyさん
08/11/21 18:42:51
すみませんが、質問です。
cake bake で自動生成されるコードのインデントを、TABではなくて半角スペー
ス4つにしたいのですが、それを設定する方法があったら教えていただけないで
しょうか?
693:nobodyさん
08/11/21 18:52:01
>>692
scaffoldなら
cake/libs/view/scaffolds のファイルを書き換えたら良かったはず
bake も利用しているかもよ
694:693
08/11/21 19:00:30
>>692
cake/libs/templates/views
こっちかも
695:nobodyさん
08/11/21 20:32:03
>>633-694
ありがとうございます。自分でももっと調べてみます。
696:nobodyさん
08/11/22 16:36:33 qo4yapkz
auth compornent使いはじめたのですが、
暗号化されたパスワードを復号化する時って、どんなして処理してます?
697:nobodyさん
08/11/22 18:09:23
CakePHPのデフォルトってSHA256だろ?
だったら複合化は無理だろ
可逆暗号に変える必要があるが、セキュリティを落としてまで複合化する必要性ってなんだ?
698:696
08/11/22 18:25:21 qo4yapkz
>>697
ユーザ自身にパスワードの変更をさせたいのですが、
入力フォームのデフォルトに、復号化した値を入れたいなーと思ったんです。
699:nobodyさん
08/11/22 21:10:29
すみません、細かい質問なのですが、
controller.php のソースで、
$this->{$this->modelClass}
という記述がよく見つかります。
これは何をしているのでしょう?
そもそも、$this->{何か} という記述がどのような動作になるのか、わかりま
せん。教えていただけないでしょうか?
700:nobodyさん
08/11/22 21:13:10
ちょっと補足します。
$this->プロパティ名 なら、どういう動作かはもちろんわかります。
$this->{何か評価される式} というのが、どういう振る舞いをするのかわから
ないのです。
ためしにこんなことをしてみましたが、エラーになりました。
$x = "hoge";
$this->{$x}; // エラー
701:nobodyさん
08/11/22 21:19:42
マニュアルくらい読んでからやろうよ
702:nobodyさん
08/11/22 21:31:35
>>701
マニュアルとは、PHPマニュアルのことでしょうか?
一応見たのですが、該当箇所がわかりませんでした。
URLリンク(search.net-newbie.com)
ちなみにさっきの件は、少し不正確でした。$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だけ、プロパティ名自体を変数にできるようです。
703:nobodyさん
08/11/22 21:32:18
あ、余計な ; が入ってしまった…。
704:nobodyさん
08/11/22 21:32:34
単なる可変変数です
705:nobodyさん
08/11/22 21:38:19
>>704
可変変数って、$$x という風に、$が多重になっているものだと思うのですが…。
URLリンク(search.net-newbie.com)
>>702のコードには、$$ は一つもありません。