【PHP】フレームワーク CakePHP 4ホール目【v1.2】at PHP
【PHP】フレームワーク CakePHP 4ホール目【v1.2】 - 暇つぶし2ch2:nobodyさん
08/06/20 06:26:03
2? そして乙

3:nobodyさん
08/06/20 09:26:59
>>1


そして。
日本のcakePHP ユーザのためのハブサイト
URLリンク(cakephp-users.jp)

4:nobodyさん
08/06/21 03:16:27
次スレからこれ抜かして、中身の薄いただのgogle広告目当ての商用サイトだから
CakePHP入門リンク集
URLリンク(pub.studio15.jp)

5:nobodyさん
08/06/22 01:07:49
Windows+XAMMP 1.6.6a+CakePHP1.2RC1で
xdebugのコードカバレッジ機能ちゃんと使えている人いる?

Apacheが落ちちゃうんだけど。

6:nobodyさん
08/06/22 18:51:10
RC2待ってる人~ノシ

7:nobodyさん
08/06/22 19:20:38


8:nobodyさん
08/06/23 11:43:43
closing some more tickets and preparing for RC2

9:nobodyさん
08/06/23 18:12:30 Buu9Vutr
Cake1.2を使用しています。
$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を同時にリンク設定
としたい場合は別の記述方法があるのでしょうか?




10:nobodyさん
08/06/24 05:09:49
CakePHPで、MySQLのビュー機能とか使ってる人いますか?
作ったビューを普通にusesに入れるだけで問題ないのかな・・・?

11:nobodyさん
08/06/24 12:37:51
you guess it, coffee and tickets...unless anything mjor happens RC2 today

だれか訳して。

12:nobodyさん
08/06/24 15:25:43 FTW7odGn
you guess it, coffee and tickets...unless anything mjor happens RC2 today
あんたが予測するコーヒーとチケット、、、今日出るメジャーなRC2が無くても

13:nobodyさん
08/06/24 15:58:10
余計わからんw

14:nobodyさん
08/06/24 16:32:54
今日RC2でるかも
大きな変更は無いよ

15:nobodyさん
08/06/24 18:09:51
coffee and tickets... unless anything mjor happens RC2 today
「コーヒーとチケットを、、、何が起ころうともRC2は今日だ!」
じゃないかなぁ、、、分からん

16:nobodyさん
08/06/24 18:26:54
違った、「何も起きなければRC2は今日」か

17:nobodyさん
08/06/24 20:12:18
チケットの意味がわからんw

コーヒーはケーキだからとして、
チケット? 食券ということか?

mjor むじゃー mjor むじょあー mjor えむじょあ

18:nobodyさん
08/06/24 20:40:40
チケットは修正項目って事かな?

19:nobodyさん
08/06/24 20:42:03
ticketはtracのチケットとかのこと
mjorはmajorのtypo


20:nobodyさん
08/06/25 02:21:23
”coffee and tickets”でぐぐるとさ、
スターバックスとかでてくるのよ。

なんか修正項目以外の意味があると思うんだど。
ホテルの用語的な。もしかしたらCM?

21:nobodyさん
08/06/25 03:27:40
ticketの意味もわからん奴が何人もいるとはw
CakePHPてこんなレベル低いんけw

22:nobodyさん
08/06/25 03:44:36
>>21
予想通りのレスする奴が出てきたなw

23:nobodyさん
08/06/25 10:18:50
オフ会の話かと思ったぜww

24:nobodyさん
08/06/25 17:50:14
cakeってなんでプロジェクト割れまくってるの?
なんか派生フレームワークだらけなんだけど…

25:nobodyさん
08/06/25 22:53:19
cakeの派生フレームワークってなんだ?

26:nobodyさん
08/06/25 23:00:38
CakePHPとか、日本でローカライズして、携帯電話対応とかしてくれると楽できるんだけどなー。


27:nobodyさん
08/06/25 23:06:02
CakeとCodeIgniter、両方使ったことある人いる?
比べてみて、どう?

設置に関してはCakeが一番かんたんかな?

28:nobodyさん
08/06/25 23:19:01
>>27
いや、CIのほうが簡単かと。
CIのほうがライトウェイト。
日本語マニュアルを読むと、Cakeよりはるかに簡単なのが分かる。

んだけど、Cakeの方がコーディングは楽できる気がするなぁ。

29:nobodyさん
08/06/26 00:53:31
そんな>>27におすすめのフレームワーク
スレリンク(php板)

30:nobodyさん
08/06/26 01:31:17
bakeryそのもののソースってどこかで入手できるんでしょうか?
パク・・いや参考にしてみたいんだけど。

31:nobodyさん
08/06/27 01:01:08 Tw7z8KLr
CakePHP1.2RC1に入れ換えたのですが、AuthComponentの仕様変わった?
それいぜんの1.2で開発したアプリケーションのログイン機能がまるっと動かないのだが。

32:nobodyさん
08/06/27 01:51:42
>>31
CakePHP、あんまりいじってないし、ソース見るの面倒なので、
URLリンク(www.geocities.co.jp)
テキスト比較ツールで比較してみたら結構修正入ってるみたいよ。

33:nobodyさん
08/06/27 02:30:26 bfytbvRv
モデル内からモデルを読み込む方法だけど
こんな感じでやってます。変かな?

function __construct(){
App::import('Model', 'Unko');
$this->model =& new Unko();
}

こうすれば各メソッド内から
$this->modelで呼べる


34:33
08/06/27 02:53:40 bfytbvRv
訂正

function __construct(){
parent::__construct();
App::import('Model', 'Unko');
$this->model =& new Unko();
}
じゃないとバグる

35:nobodyさん
08/06/27 03:02:45 bfytbvRv
CakePHPは
モデル内てコントローラよりも自由度が低いクセに
モデルでのロジックを多く実装するのがベストだなんて
無茶やな。



36:nobodyさん
08/06/27 03:30:21 bfytbvRv
Aモデルの関数内で、Bモデルの関数を呼びたいのなら
コントローラ内でAモデルのメンバ変数にBモデルのオブジェクトを代入すればいいだけか!
そうすれば、モデル内からモデルをimportしなくても済むな!
そうか、そうか

37:nobodyさん
08/06/27 03:50:32 bfytbvRv
結論
モデル内に独自メンバ変数を作ると
モデル内の自由度が上がる

38:nobodyさん
08/06/27 14:30:32
AモデルとBモデルが意味的につながっているのなら、
リレーションがあるはず、つまりアソシエーションでつながっているはず。
その場合、A->B->func()ってな感じで呼び出せる。

39:nobodyさん
08/06/27 19:16:10
よぉ
URLリンク(hal456.net)
これって既出?

マルチバイトのメール送信用のライブラリなんだけど。
CakePHPでも使えるようになってるみたい。

40:nobodyさん
08/06/27 19:38:01
>>39
いいね
φ( ̄ー ̄ )メモメモ

41:nobodyさん
08/06/27 21:35:16
RC2きたね~

42:nobodyさん
08/06/29 23:54:57
1.1.19で、belongsToがあるモデルのcontrollerをbakeし、
scaffoldingをnにしてbasic class methodsをyにすると、
Look okey? が出る前のところで segmentation fault します。
手作業でコントローラを書いても、webからアクセスすると
apacheがexit signal Segmentation fault (11)になります。
前スレのログが見られないのですが、これは既出ですか?
1.1.18だと問題ないのですが、本家はこの問題に気づいているでしょうか。

43:42
08/06/30 14:56:55
同じような現象が出てる人を見つけました。
URLリンク(logs.cakephp.nu)
URLリンク(groups.google.co.jp)

当方の環境は、サーバは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でも同じ現象が起こります。

44:nobodyさん
08/07/01 03:17:12 Qd4NRnlG
>>42
bakeなんて使ってんのw
そういう思考がそもそも素人思考

45:nobodyさん
08/07/01 06:48:02
bake使うことがそんなに問題なの?

一アクション(一ページ)たかだか数行の
テンプレートを生成するだけじゃん。

手動でテンプレートファイルをコピーするのと何も変わらん。

46:nobodyさん
08/07/01 08:05:38
いちいち玄人ぶる奴ってなんなの?
一生そうやって過ごすのかね?

47:nobodyさん
08/07/01 08:26:54
RailsとかAkelosは、いわば最初にbakeしてるようなものだろ。
cakeの場合は、scaffoldでお試しした後でbakeしてるだけで。
やってるのは同じ。bakeを悪く言う意図が分からん。


48:nobodyさん
08/07/01 17:26:19
そんなのも分からないの?
自尊心の維持手段が他にないだけだろう、明らかに。

49:nobodyさん
08/07/01 17:47:52
他人の批難をする事でしか自我の維持が出来ない奴は仕事でも絡むがマジうざいなw

50:nobodyさん
08/07/01 18:02:43
CakePHP用に配布してるアプリケーションで、
アップグレードに伴って、DBのアップグレード
(テーブルや項目の追加)が必要になった場合、
どうやって管理するの?


51:nobodyさん
08/07/01 21:00:29
1.CakePHP migrationでぐぐる

2.CakePHP Schemaでぐぐる
  DBのアップグレードは知らんけど、
  before、afterがあるからそれでやるんじゃね?

52:nobodyさん
08/07/01 21:51:41
どちらもググりましたが。読んだ印象だと、
どちらにも定番の方法が無いように思ったのですが。
CakePHPを使われている皆さんは、苦労されてない?

また、ターミナルを使った処理が必要になるのが、
ちょっと一般向けじゃないなーと。できれば、
アップグレード用の(ローカルの)URLに接続して、
対話的にアップグレードできたら良いのに。

アプリの開発者とかなら、ターミナルでの作業も
平気でしょうけれど。一般の利用者の方にアップ
グレードの作業をしてもらうには、ターミナルは
ちょっと敷居が高いので。

53:nobodyさん
08/07/01 22:11:14
> アップグレード用の(ローカルの)URLに接続して、
> 対話的にアップグレードできたら良いのに。

そういうコントローラを作ったら?

54:nobodyさん
08/07/01 22:20:40
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
   /  .`´  \
     ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (・∀・∩< なるほど!!
    (つ  丿 \_________
    ⊂_ ノ
      (_)

って、私には無理orz

55:nobodyさん
08/07/01 22:28:14
> って、私には無理orz
なんだ。ひやかしかw

この板に来るべき人じゃないな。君は。

56:nobodyさん
08/07/01 23:23:29
何?ここはそんな高レベルな方々が集う場所でしたか。
そりゃ、失礼しました。

57:nobodyさん
08/07/01 23:38:50
>>56
そのレスのレベルの高さは認めてやる

58:nobodyさん
08/07/01 23:44:44
ま。ひやかしと思われてるついでに。

Akelosだと、migrationではフィールドの種別を
自動で決めてくれたり、hasoneとかの設定でも
指定する内容が少なくて、楽そうなんだけど。

CakePHPは、そういうのをかなりの部分、自分で
設定させられるよね? 入れ格子の配列で。
あれって、不便と思わない?
Akelosみたいに、省略されたら自動で設定される
ようになってたら、もっと楽なのに。

59:nobodyさん
08/07/01 23:50:07
定番な方法がないってのはたしかにややこしいけど、
必要だったら適当に書けばいいんじゃない。

チェックアウトはできるがコンソール使えないみたない
うざいデザイナー相手にしてると嫌になるので
難しいと感じるとしても時間さいて書く価値はあるとおもうよ。

まあ、どの方法使うにしても、
アクセスされたらコマンドなりクエリなりを流すだけだと思うのだが。

60:nobodyさん
08/07/01 23:56:33
Webインターフェイスからのファイル操作は大抵の*nix環境で
パーミッション上の問題が起こると思うんだけど、それは回避できるの?

61:nobodyさん
08/07/02 01:09:16 BNxnFlGa
Akelosを例に出してる時点でおまえプロじゃないな

62:nobodyさん
08/07/02 01:18:39
>>58
なんだ。Cakeでもできることじゃんw

63:nobodyさん
08/07/02 01:20:02
どうせ使うのは開発かテスト環境だろうしなんでもありじゃねえの?
lighttpdで別プロセスとか。apacheだったらsuEXECとか。

64:nobodyさん
08/07/02 01:23:18
そもそもファイル読む以外することあんの?

65:nobodyさん
08/07/02 02:18:17
>>60
p2みたく、ローカルで使うのを想定してるので、なんとかなると思う。

>>61
それはRailsでメシ喰ってる人への挑戦状?

私?私は素人ですけどね。

>>62
できる?
URLリンク(cakephp.jp)
を見ても、やっぱり配列で指定してるんだが。これを、
var $hasOne = 'Profile' ;
だけに出来たら、楽だなーと。
テーブルの作成も、
$this->createTable('users', "id, name, created,updated");
ってしたら、少なくとも規約に沿ってる部分は、
idはINTの自動加算とか、createdはupdatedDATETIMEに
してくれたら、楽だなーと。
ま、些細なことですけどね。ρ(-ε- )イヂイヂ


66:nobodyさん
08/07/02 03:29:29
なにも調べてない奴と話すのは疲れる。お前もう来るな。
URLリンク(book.cakephp.org)
<?php
class User extends AppModel {
 var $name = 'User';
  var $hasOne = 'Profile';
}
?>

67:nobodyさん
08/07/02 04:28:34 taRpZf8M
もっと有益な情報を話し合おうぜw

68:nobodyさん
08/07/02 04:39:46
>>66
普通にそこまで簡略化出来る事を知らなかった俺涙目

69:nobodyさん
08/07/02 06:31:20
RCになって、またAuthコンポーネントのパスワード暗号化のタイミング変わった?
なんで戻したんだろ・・・

70:nobodyさん
08/07/02 11:09:21
>>66
CakePHPのバージョンを書かんかった俺が悪かった。
今、1.1を使ってたんだ。

つーか、ひょっとしてこのスレ、1.2限定?

71:nobodyさん
08/07/02 12:53:32
1.1だろうが必須なのはモデル名だけって書いてあるんだがわからないのだろうか

72:nobodyさん
08/07/02 17:50:07
>>70
試してから言えと何度言われればわかるんだ?

73:nobodyさん
08/07/03 09:53:51
>>71
PHP5なら、モデル名すら、いらんな。

74:nobodyさん
08/07/03 19:53:41
>>73
そっちのモデル名のことじゃないと思うよ。

75:nobodyさん
08/07/05 14:02:26
ようやく試す時間が取れました><
1.1でも、>66みたいに出来ました。
今後ともご指導ご鞭撻の程、よろしくお願い申し上げます。


76:nobodyさん
08/07/06 01:37:16
A,B,Cのテーブルがあって、

A hasMany B

B belongsTo A , B hasMany C

C belongsTo B

の場合、当然、
C belongsTo A
でもあるわけど。それをCのモデルに明示する方法ってありますか?

C belongsTo array('A','B');
ってしたら、scaffoldingのCのviewでエラーが出た。


77:nobodyさん
08/07/06 02:01:54
CにA_idあんの?


78:nobodyさん
08/07/06 02:25:50
CにA_idありました。
もちろん、B_idもあります。


79:nobodyさん
08/07/06 02:37:38
エラーの内容が、
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"が使えないのは痛いな。


80:nobodyさん
08/07/06 02:44:59
んなわけない

81:nobodyさん
08/07/06 02:50:57
あ・・・・・・・・解決したかも・・・・

C belongsTo array('B','A');
って書いてた(汗

C belongsTo array('A','B');
にしたら、直ったっぽい

82:nobodyさん
08/07/06 14:24:50
いまから作る新サイト、1.2でやるべきか悩む…

83:nobodyさん
08/07/06 14:32:55
どっちでもいいよ、覚悟さえすれば。

84:nobodyさん
08/07/07 22:11:14
hasAndBelogsToManyって、便利そうだけど、工夫がいるね。


85:nobodyさん
08/07/09 18:44:09
モデルのメンバ変数でアソシエーション定義すると
既存のデータ取得関数に影響が出るから
アソシエーションの設定は
メソッド単位、もしくはメソッド内のロジック単位で
bindModel() をした方がいいね

86:nobodyさん
08/07/10 03:21:38
自分の選択でフリーターはともかくとして、
フリーターしか選択肢がないというのはよほど問題がある人だろう。
先天や事故で身体的に無理というならばまだしも、
精神的にとかは、もう笑うしかないな。
どれだけ甘えているのだと。
そういうのはバイトで当然だよ。
むしろ金をやる必要すら無い。

87:デフォルトの名無しさん
08/07/10 11:10:29
CakePHP1.2,PHP5でviewにチェックボックスを表示しています。
デフォルトをチェックが入った状態にしたいのですが、以下のようにvalueを指定してもチェックが入りません。
どのように指定すればチェックが入るのでしょうか?

echo'<div>'.$form->checkbox('comset/admin',array('label'=>"",'value'=>1)).'管理者のみ表示</div>';

88:nobodyさん
08/07/10 13:01:36
>>87
# ComsetsController
if (emtpy($this->data))
$this->data['Comset']['admin'] = 1;
# Views
echo'<div>'.$form->checkbox('Comset.admin',array('label'=>"")).'管理者のみ表示</div>';
じゃないかな?

89:nobodyさん
08/07/10 13:05:38
>>85
1.2ならContainableビヘイビア

90:nobodyさん
08/07/10 14:37:07
beforeFindで$queryDataを見て、特定の検索条件があったときに
ほにゃらって処理をしているんだけど、

CakePHP1.2から、$conditions => array('key =' => 'value');になったでしょ?
今まではarray_keysでkeyがあるかどうかって見ていたんだけど、
これからは'key ?'ってなっちゃって?の部分が変わるから
単純にarray_keysが使えないんだよね。

これの代わりになる便利な関数って用意されているか知らない?

91:87
08/07/10 16:53:38
>>88
実現できました、ありがとうございます。

立て続けで申し訳ないのですが、ラジオボタンの表示で
ラジオにチェックを入れるにはどのように指定すればよいのでしょうか?
ラジオの数が動的に変わるため、以下のようにして作成しています。
ループ内である条件に一致する場合に、ラジオにチェックを入れるようにしたいです。
一致するのはループ内で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>';

92:nobodyさん
08/07/10 17:06:37
>>91
forはview内かな?
だとしたら、viewで
if (!empty($this->data['Hogeset']['hoge']) $this->data['Hogeset']['hoge'] = 初期値 ;
じゃまいか?
やりたいことを、良く理解していないから、はずしてたらすまん。

93:87
08/07/10 19:50:48
>>92
ありがとうございます。

$this->dataがない状態で選択しようとしたからか、
教えていただいた方法では、実現できませんでした。

いろいろ試してみた結果、
選択したい値をradio生成時にvalueで指定したらとりあえずできました。
echo '<div>'.$form->radio('ansset/ansr',$arradio,array('legend' => false,'value'=>4)).'</div>';

94:nobodyさん
08/07/10 20:52:53
>>93
valueを直で指定すると、validation error のときに困るんじゃない?

95:nobodyさん
08/07/11 15:46:07

今、1.2betaから1.2RC2に移行しているわけだが、

変わりすぎてて俺、涙目wwwww orz



RC2 から 正式版の間ではあまり変わらない事を祈っている・・・

96:nobodyさん
08/07/11 16:03:01
stableっていつごろなのかな?
RC1→2はわりと早かったけど・・・

97:nobodyさん
08/07/11 17:01:52
1.2出たら、ポケットマニュアルも1.2対応で
すぐに出るんだろうか?

98:nobodyさん
08/07/12 03:58:01 GP2h4Bov
Aモデルの中で
Bモデル->save()みたいなことしたいけど、ダメ?
コントローラ内で
Aモデルのデータとってきて
$this->Bモデル->save()するを完結するのががベストかな?



99:nobodyさん
08/07/12 03:59:50 GP2h4Bov
モデルを厚くするのがベストてCakePHPに書いてあるけど
モデルの自由度が凄く悪い気がするんだが・・・


100:nobodyさん
08/07/12 04:04:06 GP2h4Bov
コントローラだと何でも出来ちゃうから
結局コントローラが厚くなってしまうんだよな
一通りコーディングが終わってからリファクタリングする形で
モデルを厚くしていかないと。
調べながらだと時間もったい気がする

101:nobodyさん
08/07/12 11:07:21
1.2のスライドにも、モデルが薄く、
コントローラが厚くなってしまうのが
問題って書いてあるな。
わざわざスライドにしてるってことは、
1.2で改善されるんやろか?

102:nobodyさん
08/07/12 13:48:03
問題なのは、フレームワークじゃなくて、
そういうコードを書くなってことだろう。

103:nobodyさん
08/07/12 19:30:01
>>100
> コントローラだと何でも出来ちゃうから
> 結局コントローラが厚くなってしまうんだよな

似たような話。

関数作らなくても何でも出来ちゃうから
結局コードが長くなってしまうんだよな。

結局だ、単なる経験の問題。
経験をつめば自然といいコードが書けるようになるよ。

104:nobodyさん
08/07/13 07:35:50 yyUJjXK2
どれだけ頑張っても
ModelとControllerの厚さを同じくらいにまでしか
もっていけねえw
強引にモデルにもっていけなら別だけどw

105:nobodyさん
08/07/13 17:55:25
初歩的な質問なんだけど、WEBのフォームから渡された値って、
基本的にモデルのvalidatesで全部チェックしていいんもんなんですか?

例えば、会員の新規登録でパスワード(password)と
パスワード確認(password2)を比較して同一かチェックするとか。

106:nobodyさん
08/07/13 18:01:54
規約に同意するかどうか、とかもモデルのバリデーションでやってます。

107:nobodyさん
08/07/14 02:01:47
「CakePHPガイドブック」ってもう廃刊なのですか?
去年末に発売したばっかりなのになぜ?

108:nobodyさん
08/07/14 06:42:09
内容が基本的に1.1だからでは?
フレームワーク本としては、かなりいい本。

109:nobodyさん
08/07/14 14:05:46
1.2RC2の話。

1.2からbehaviorsのattach/detachができるって、
あちこちに書いてあるけど、最近仕様が変わってるっぽいね。

よく書いてあるのが、コントローラで$this->Model->attach(ビヘイビア名)。
でも今は$this->Model->Behaviors->attach(ビヘイビア名)
間に、Behaviors(BehaviorCollection)が入ったようだ。

110:nobodyさん
08/07/14 15:48:07
チラシの裏

どうも、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っているんだろうか?前のリビジョンのコードには存在しなかった。
とりあえず取ってみたが変化はわからない。
現在リファクタイリング中みたいだからそのうちどうにかされるのかもしれない。

111:105
08/07/14 17:10:17
>>106
そういうもんなんですね。
どもです。

112:nobodyさん
08/07/15 10:18:07
findNeighboursで1テーブルから前のID,後のIDを↓のように取得しています。

$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')
);

113:nobodyさん
08/07/15 14:41:34 kKo7V/Gs
DBに入れるほどではなく、CSVファイルとしてデータを持っていて
それをコントローラから参照したい場合、CSVファイルはどこに設置するのが
一番スマートなんでしょうか?

114:nobodyさん
08/07/15 14:50:47
俺もそれ知りたいな。
XMLファイルとか。

tmpフォルダとかかな?

115:nobodyさん
08/07/15 16:20:51
>>113
webroot の files フォルダ。これが一番いいと思う。


116:nobodyさん
08/07/15 17:29:56
>>115
外部から見られたくないファイルなのでは??

117:113
08/07/15 20:00:24
>>115
そうなんです、外部から見られたくはない。
いや見られても良いデータなんですけど、なんか変な感じなので。

>>114
tmpフォルダは考えたんですけど、役割的に違和感があるんですよね。


まぁ、結局DBにつっこんで今はやってみましたけど。
うーん。

118:nobodyさん
08/07/15 20:22:19
バージョンアップの際、appフォルダごと入れ替えるため、
appフォルダ以下にはデータは入れたくない。
cakeフォルダ以下には、データは入れるはずない。

appやcakeフォルダと同じ階層に、dataフォルダでも
作って、例えば画像ファイルとか入れられれば、
良さげに思うが。それは無理なん?

119:113
08/07/16 11:57:50
>>118
あ、その方法がありましたね。
確かにそれであれば全然いける上に、スマートかも。
ありがとです。今後、検討してみます。

120:nobodyさん
08/07/16 13:11:14 ahXuksxu
>>113
DBに入れるほどではないデータは配列にしてモデルに入れてるよ

121:nobodyさん
08/07/16 13:16:24 ahXuksxu
画像ファイルはvendorsでいいと思うんだが



122:nobodyさん
08/07/16 13:22:04 ahXuksxu
一番スマートなのはプロジェクトappと同じ階層にdataフォルダだな
CakePHPはデータ保存場所を考慮したフォルダ構成じゃないから
CakePHP内にデータを置くこと自体がスマートじゃ無いってことかな


123:nobodyさん
08/07/16 13:24:33 ahXuksxu
フレームワークの中にデータを保管しようという思考が
そもそも、おかしい気がしてきたよ

124:nobodyさん
08/07/16 13:27:51 ahXuksxu
フレームワーク外にcsvファイルを置くのが一番ベストだ!

125:nobodyさん
08/07/17 08:07:12 /Q3Ys2pH
フレームワークっていつまで使えるだろう
10年後、20年後にも、CakePHPはあるだろうか?
そもそもPHPは使われてるだろうか?


126:nobodyさん
08/07/17 08:11:21
>>125
ムリポ

127:nobodyさん
08/07/17 08:46:29
>>125
じゃあ、こう考えるんだ
10年前はどうだったかを。

それで今も残っていればあるってことになる。

って10年前はPHPそのものがなかったか。

128:nobodyさん
08/07/17 09:23:54 r8Tb5l59
その都度、旬な商売道具(今ならphpフレームワーク)使って儲けるしかない。
これやれば10年後安心てのはIT社会には無い

129:nobodyさん
08/07/17 09:26:42
UTF-8、PHP1.2で作ってるんだけど
フォルダ内のファイル名を読み込んだ時に
$file = readdir($dir)
だけだと日本語のファイル名が文字化けしてしまう。
部分的に関数通して文字化け回避する方法ってある?

130:129
08/07/17 09:58:29
128はCakePHP1.2の間違いです。

131:nobodyさん
08/07/17 16:12:51 hC9JNlTl
CakePHP1.2を使用しているのですが、
AppModel::queryを使って取得したデータを
paginatorに渡す方法ってありますか?

132:131
08/07/17 16:26:20 hC9JNlTl
任意のSQLでpaginateがしたいんです!



133:131
08/07/17 17:05:12 hC9JNlTl
無茶苦茶な方法ではありますが、
対象のModelでpaginateをオーバーライドして、
$coditionsの中にsqlを入れて取り合えず
期待する動作は得られるようになりました。

134:nobodyさん
08/07/17 18:56:26
>>127
PHPはあっただろw

135:nobodyさん
08/07/18 16:19:03
>>133
無茶じゃなくてまっとうな方法。
Modelにpaginateメソッドは存在しないからオーバーライドではない。
Controllerのpaginateメソッドが最終的にfindする際に
Modelのpaginateメソッドが存在すれば代わりにそっちを呼ぶようにに作ってある。



136:nobodyさん
08/07/18 19:07:42
modelはDBのテーブルと1対1が想定されているけど

DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
DBテーブル1に対してモデルが3つ必要になるよね

Aテーブルがあったとしたら
A1モデル 使用テーブルA
A2モデル 使用テーブルA
A3モデル 使用テーブルA
それぞれのバリデート処理を実装することになるよね

137:nobodyさん
08/07/18 19:08:40
ログイン形式の携帯サイトを作ってるのですが、
CakePHPで「ログインされたかどうか」はどのように持つのが一般的なのでしょうか?
PCサイトではセッションを使うことが多かったんですが、キャリアによってセッションが使えない場合があると聞いたもので。

138:nobodyさん
08/07/18 19:11:29
DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
ひとつのモデルで完結できるのかな?

A1モデル 使用テーブルA

画面1のバリデート処理
画面2のバリデート処理
画面3のバリデート処理

139:nobodyさん
08/07/18 23:07:31
普通にケースごとのvalidateメソッド書いてるけど。

140:nobodyさん
08/07/19 11:23:27
>>137
自分は
セッションとクッキーの連携プレーを使ってるよ。

キャリアって携帯でしょ?
携帯の場合はセッションキーをクッキーに埋め込むのよ。



141:nobodyさん
08/07/19 13:45:27
携帯ではクッキーが使えない機種があるだろw

142:nobodyさん
08/07/19 15:54:19
>>137
普通にURLにセションキー埋め込めよ。

>>140
( ゚д゚)ポカーン


143:nobodyさん
08/07/19 16:24:22 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だけで管理するのしんどいよ。

144:nobodyさん
08/07/19 16:28:28
モデルが30個もあるシステムをCakeで作るとは・・・
どんなシステム?レスポンスどうなの?

145:nobodyさん
08/07/19 16:39:57 jBy/EgFS
>>144
A8のようなアフィリエイトサイトだよ。
レスポンスはアソシエーションを
その都度 bindModelする方法なら悪くはないよ
重くなるとしたらSQL関連だと思うから後はcacheに頼る


146:nobodyさん
08/07/19 16:45:53
一つのコントローラに詰め込み過ぎじゃないの?

147:nobodyさん
08/07/19 16:58:22 jBy/EgFS
>>146
30個あるモデルは使用するDBテーブルは同じでバリデートの内容が若干違うので
モデルを複数分けした。
なのでモデルの数だけコントローラを増やすというのもなあ・・・
ページ構成もおかしくなるし

148:nobodyさん
08/07/19 17:03:55 jBy/EgFS
コントローラの数はDBテーブルの数と比例するくらいの量で
モデルの数はバリデートのケース分、増えて行ってる

149:nobodyさん
08/07/19 17:08:42 jBy/EgFS
1つのDBに対して30通りのバリデートのケースがあれば
コントローラが1に対してもモデルが30になる

150:nobodyさん
08/07/19 17:23:07 jBy/EgFS
レスポンス的にはApp::Import('Model', $model_name);の方が負荷は軽減できるよね
管理的にも$usesで管理するよりも
コントローラメソッドの先頭でApp::Importを宣言する方が管理しやすい気がする
デメリットはコーディング量が少し増えるくらいかな
でも、どのコントローラメソッドでも使うモデルだけは$usesに入れるから
そんなにコーディング量は増えないかな

151:nobodyさん
08/07/19 17:41:39
>>148
そもそも、バリデートの数の分だけ
モデルを増やすのがおかしくね?

モデルのsave()で、バリデートするかしないかのフラグがあるだろ?
これって考え方を変えれば、バリデート1(データチェックする)、
バリデート2(データチェックを一切しない)という二つのバリデートと考えられる。

だからバリデート3(一部だけチェックする)ってのも、一つのモデルに入れてしまうのもありと思うが。

あとは、Model->save()の前に、Model->バリデートタイプ = '一部チェック';
なんてやっておいて、Modelのvalidateメソッドあたりで、バリデートタイプをみて
チェック項目を変更すれば良いんじゃね?

Modelのvar $validate、やったことないけど、
コードの中からでも変更できるんじゃね?

152:nobodyさん
08/07/19 17:45:08
バリデーションでモデル分けるのか・・・
なんか変な感じ。

153:nobodyさん
08/07/19 17:51:24
それと、App::Importよりも、Controller::loadModel()の方がよくね?
いや、使ったこと無いし情報も見つからなかったからよく知らんが。

ちなみに非推奨になったloadModel関数ではなく、
コントローラのメソッドのloadModel()だから。

154:nobodyさん
08/07/19 17:55:57 jBy/EgFS
Modelのvar $validateが
$validate1
$validate2
$validate3
という風に複数使えれば
バリデート分モデルを増やす必要は無いけど
バリデートタイプをみてチェック項目を変更ていうのは
変更項目が多いとコードが複雑に肥大化するのがなあ・・・





155:nobodyさん
08/07/19 18:04:40
>>154
やろうと思えば、できるとおもうけど?

コントローラで、$model->save()呼び出し前に
$model->validate_type = 'type1';

モデルのどこかで、$this->validate = $this->{'validate_' . $this->validate_type};

そうすりゃ、$validate_type の条件でチェックしてくれるよ。

具体的にどこのメソッドでやるのがふさわしいかは
ちょっとやってみないとわからないけど。

156:nobodyさん
08/07/19 18:05:53
訂正

そうすりゃ、$validate_type1 の条件でチェックしてくれるよ。

157:nobodyさん
08/07/19 18:19:45 jBy/EgFS
>>156
その方法で出来るのなら、ちょっと試してみます

158:nobodyさん
08/07/19 18:24:34 jBy/EgFS
>>153
App::Importよりも、Controller::loadModel()の方がよくね

理由は何でしょうか?
どう違うのですか?

159:nobodyさん
08/07/19 18:36:14
>>158
$usesの代わりと考えるのならば、
$usesで指定したのと同じ状態になるのが良い。

App::Importは単にクラスを読み込むだけ。
$this->Model にインスタンスを生成したりしない。

コードをざっと見ただけの意見だが、
コントローラの初期化処理で、$usersを見て値が入っていれば、
Controller::loadModelを呼び出してモデルを生成している。

loadModelはクラス生成以外にもなんかやってる。

だからloadModelを使ったほうがトラブルが少なくなりそうだと思った。
でも使ったことは無い。loadModelは外部から使うべきものじゃないかのうせいもある。
(普通は使うべきじゃないのなら _loadModelになっているはずだとは思うが)

160:nobodyさん
08/07/19 18:47:19
>>140
・・・ごめん。セッションキー埋め込みだった。

161:nobodyさん
08/07/19 19:07:40 jBy/EgFS
>>159
なるほど、よくわりました。
_loadModelてのは何ですか?

162:nobodyさん
08/07/19 20:12:00
メソッド名の先頭に _ をつけると、外部からの使用を推奨していないということ

loadModel()に、_が付いていない以上、普通に呼び出して良い(ことが窺い知れる)
URLリンク(api.cakephp.org)

163:162
08/07/19 20:14:27
といっても、これ、知らなかった。loadModel()
特定のactionでしか使わないModelなんかは、これで動的に呼んだ方が良さそうだね。
修正しよっと

164:nobodyさん
08/07/19 23:06:40 jBy/EgFS
バリデーションをビヘイビアを利用してyaml化にして
コントローラ内でattach関数を使って読む込むyamlファイルを動的に選択させることで
モデルを増やさずにバリデーションyamlファイルだけ増加させることで解決できた

165:nobodyさん
08/07/19 23:10:53 jBy/EgFS
これでバリデーションが必要な画面数に比例してyamlファイルが増加していく

166:nobodyさん
08/07/20 07:59:18
1.2からずいぶんと実践的になったよね。

フレームワークを使っている人が作っている感がでてる。

167:nobodyさん
08/07/23 16:23:08
ローカルで開発してるんだけど、1.2RC2は1.1よりも動作が遅いな。

168:nobodyさん
08/07/23 20:47:49
1.2になってsymfonyよりも遅くなったみたいだね。
しかもsymfonyの遅い原因だったPropelも今度のバージョンで速くなったし
なんだかなー。

169:nobodyさん
08/07/23 21:18:09
>>167 168
まじっすか。痛いっすね。
ただでさえ重いのに。。。

170:nobodyさん
08/07/23 22:31:35 bVhJ1Ly7
どんだけ遅いマシン使ってるんだよwwwwwwww

171:nobodyさん
08/07/23 22:32:47 pE/1LCdw
かといって、今後のメンテを考えると、1.1系で行くわけにもいくまい。
チューンナップが進むのを期待するだな。

172:nobodyさん
08/07/23 22:39:51
いや、マジで遅いよ。
モッサリという感じ。
1.1はサクサクだったのに残念。

173:nobodyさん
08/07/24 01:13:17 v8PYU5tT
キャッシュ利かせればモッサリとかねーと思うんだが
デバッグモード解除してもモッサリするようなら
SQLがらみ、bindmodelで上手にやれば問題なし

174:nobodyさん
08/07/24 02:22:41
そういえばデバッグモードが重いって話じゃなくて?

175:nobodyさん
08/07/24 13:44:45
この流れは、そろそろAkelos考えてみっかになるんだろうな・・・

176:nobodyさん
08/07/24 13:56:02 YLl3rq+t
>>175
スレリンク(php板:86番)


177:nobodyさん
08/07/24 18:43:29
デバッグモードが遅いってだけの話じゃね?

1.2のbetaの時にくらべ、デバッグ情報の量が
かなり増えているから。

178:nobodyさん
08/07/24 19:04:07
いくらCakeに不満があっても、Cakeしか使えない・・・

Cakeが初めてのフレームワークでも、すんなり移れるフレームワークってないですか??
symfonyとかサッパリ;;

179:nobodyさん
08/07/24 19:13:11
つ ちいたん

180:nobodyさん
08/07/24 19:43:19
>>137-142らへんの話に便乗するけど、
URLにセッションIDを埋める場合って
session.php内のuse_trans_sidを1にしないと使えないの?

PCサイトとプロジェクトが共通だから、なるべく共通的なところは
いじらずにやりたいと思うのだけど。


181:178
08/07/24 20:16:32
>>179
さすがにライトすぎるというか;
使ってもみないで言うのもなんですが・・・

CIとかも流行ってきてますね。ちょっと気になる。。

182:nobodyさん
08/07/24 21:26:03
>>181
そんなスレ違いなあなたにはここをオススメっ

【PHP】フレームワークについて語るスレ10【総合】
スレリンク(php板)

183:nobodyさん
08/07/24 23:50:55
1.2は何回かリロードすると謎のwaitが発生する

184:nobodyさん
08/07/25 18:19:46
単にキャッシュが有効な期間は速くて、有効期限が切れたら
読み直し(=WAIT)が発生しているだけだろ?
謎でもなんでもない。

185:nobodyさん
08/07/26 16:44:09
back from vacation time to start working towards cakephp RC3

オイオイ、いつまでRCだすんだよ;

186:nobodyさん
08/07/27 10:13:15
RC3 => stable となることを願うばかりだな

187:nobodyさん
08/07/27 21:27:08
う~ん。1.2のcakeコマンドが分からん。
$ ./cake bake all
で、全部のテーブルの基本的な画面を一気に作ってくれんの?
順番に数字を指定するのが面倒・・・
MCVを対話式で一つ一つ作るよりはマシになってるけど。
テーブルの数が多いと、大変。しかも、いちいちtestのを
作るか?とか聞かないで欲しい。

188:nobodyさん
08/07/29 02:42:26 ab6DF8xC
CakePHPの案件たくさんありますので
長くお付き合いできる方募集します。

URLリンク(hp.submit.ne.jp)

189:nobodyさん
08/07/29 09:13:12
>>188
>最も重要視するポイント クオリティ
VIPクオリティでもいいですか?


190:nobodyさん
08/07/29 19:27:35
CakePHPのサイトに繋がらないのは俺だけ?
www.cakephp.orgもbook.cakephp.orgもダメだ…orz


191:nobodyさん
08/07/29 20:10:31 2mZftY9A
きみだけだ

192:nobodyさん
08/07/29 20:24:56
繋がったyo

193:nobodyさん
08/07/30 19:42:29 g+nhVb89
この記事おもしろくね?
Database design and CakePHP
URLリンク(bakery.cakephp.org)

194:nobodyさん
08/07/30 21:17:11
どこの部分が?

195:nobodyさん
08/07/30 23:23:13
「投稿(Post/posts)」と「タグ(Tag/tags)」がHABTM(posts_tags)で関連づけられている構造で
「あるタグが含まれる投稿の一覧」を得るにはどうすればいいですか?
投稿だけじゃなくて付帯するタグのデータも引っ張ってきて欲しいんですが

・投稿の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を二回に分けて直発行でやってるんですが、もうちょいマシな方法はないものかと

196:nobodyさん
08/07/31 13:23:35
vendors/commons.php内に共通関数を書いているんですが、
commons.php内の関数から同じcommons.php内の関数を呼ぶにはどのように記述すればいいのでしょうか?
$this->関数名だと
Using $this when not in object context とエラーが出てしまうので・・・。

197:nobodyさん
08/07/31 15:17:33
>>196
クラスにしてないなら$this->はいらないでしょ。普通になんも付けずに呼べばいいだけだけど。

198:196
08/07/31 15:54:35
>>197レスありがごとうございます。
自己解決しました。
Commons::関数名で呼び出すことができました。
(なにもつけなかった場合はundefined functionが出ました)

199:nobodyさん
08/08/01 00:59:56 CpiiU14k
ん? >>196 >>198 に追加で質問なんだけど、Commonsクラスをcommons.phpに記述している、
って認識でOK?

200:196
08/08/01 11:40:22
>>199
OKです。
Commonsクラスの中に書いた2つの関数を、片方から片方を呼ぶ
という感じです。

201:nobodyさん
08/08/01 16:36:12
テーブル名やカラム名に日本語使うとうまく動かんとこがあるね

202:nobodyさん
08/08/01 17:12:36
そもそも、そんな発想がなかった

203:nobodyさん
08/08/02 11:01:20
テーブル名、カラム名に日本語使うと・・・

foreach ($部署['社員'] as $社員) {
echo $社員['氏名'];
echo $社員['性別']['性別'];
...
}

こんな感じになるの??

204:nobodyさん
08/08/02 11:52:56
社員s_controller.php
社員.php
URLリンク(example.com)社員/view/1
とか?

205:nobodyさん
08/08/02 12:07:43 aQY+T7Eo
↑どこまでがマジ話なんだ

206:nobodyさん
08/08/02 14:11:43
普通に笑ってしまった!

207:nobodyさん
08/08/02 22:07:43
>>203,204
そういうのはuseTable使ってアルファベットだけにしてる。
作ってたら途中まで問題なかったんだけど、
SQLを""でクォートするところでちゃんとできずにSQLエラー。
正規表現がうまくいってないとこまで分かった。



208:nobodyさん
08/08/03 03:51:55
2バイト圏じゃない人が作ってるんだから、かなり修正が必要そうだな

209:nobodyさん
08/08/03 10:57:48
1バイト圏に移行することにより解決しました

210:nobodyさん
08/08/04 11:03:43
1.2に対応した書籍って出てる?

211:nobodyさん
08/08/04 11:23:09
>>210
時間的にムリw

212:nobodyさん
08/08/04 11:25:58
CakePHP ポケットリファレンスは
1.1/1.2に対応してるようなことが書いてあったけど、
どこまで対応してるのかね?

213:nobodyさん
08/08/04 13:04:46
RCで結構変わったっぽいからねぇ

214:nobodyさん
08/08/04 15:39:24
>>210-213
現1.1ユーザーにとっては、1.2対応の基本は押さえられる
RC前なので、betaからRCになって変わったところとかは未対応。その辺把握していないと辛いかも。
ex Modelのconditions

1.2betaすら使ったことがない人は、買って損はない、と思う。

215:nobodyさん
08/08/04 15:42:55
1.2のstableが出て、改訂版が出れば買うかなぁ

216:nobodyさん
08/08/05 12:11:46
そういや今月末にまたcake本でるよね。
CakePHP徹底入門だったか。

217:nobodyさん
08/08/05 13:01:29
もう入門本イラネ

218:nobodyさん
08/08/05 14:55:44
>>216
まじか!
とりあえず買っておこうかな。
cakephp 全部持ってるけど一番役に立つのはリファレンスかな。

219:nobodyさん
08/08/05 16:49:14
CakePHP徹底入門 (大型本)

Amazonより
> CakePHPの最新バージョンである1.2をメインとした初の解説書

ほんとうかよ?
beta -> RC でずいぶんと変わったぞ?
時期的にあやしいんだよなぁ。

220:nobodyさん
08/08/05 21:22:57
もうすぐRC3でるしねぇ・・・
Cakeって本と相性悪いねぇ。

221:nobodyさん
08/08/06 00:46:37
開発をコンパクトにやってるのか、方針転換が早いからね
今Cake本出すならstableまで待って原稿上げる英断をして欲しい

222:nobodyさん
08/08/06 02:09:25
これから着手する案件、1.1でやる。
仕事なら普通だよな?

223:nobodyさん
08/08/06 04:49:56 c9uoLYnS
仕事なら普通に1.2だろ
php5が出てるのにphp3でやるといってるのと同じだぞ

224:nobodyさん
08/08/06 04:52:09 c9uoLYnS
もうひとつ付け足すと1.2は安定してるし
1.1と1.2の機能面での差は、かなりでかい

225:nobodyさん
08/08/06 10:41:07
>>220
もう一年近く前になるかな?
CakePHPの本が何一つ出ていなかった頃。
海外の書籍でCakePHPがでると聞いて予約した。

いまだに出てないw 当然キャンセルしたw

226:nobodyさん
08/08/06 10:46:43
>>224
機能面もそうだし、1.1と1.2じゃ仕様の変更が多いよな。
一番の基本である、findXXX系まで変わってるし。

1.1と1.2じゃなくて、1.1と2.0ぐらいのバージョンの差があるよ。
たしかに、RCは正式版じゃなくリスクもあるけど、流石にもう大丈夫だと思うな。

ただ作っているうちにstableでて入れ替えることになるだろうから、
UnitTestはちゃんとしとけ。でないと再テストが苦痛になる。

仕事だから当然だ。

227:nobodyさん
08/08/06 11:17:06
1.1は死んだって書いてあるね。1.1はもう開発しないし
これから新規開発するには1.2を選べってさ。
URLリンク(cakebaker.42dh.com)

228:nobodyさん
08/08/06 12:25:03
googleボットがデータを消してゆく
bakeで簡単に焼いたものをWeb上においておくと、グーグルボットが
deleteメソッドを踏んで、データを消してゆく、という話です。
URLリンク(cakephp.jp)

ワロタw
俺は以前CakePHPとは関係ない話で似たような話をどこかでみたので
それですぐにこうなることに気づいていたが恐怖だろうなぁw

というかPostで制限意味ねーw Postに対応したbotがあったらどうすんだよ。
お問い合わせフォームにまでスパム投稿してくる時代に。

229:nobodyさん
08/08/06 13:16:14
>>228
クソワロタwww

230:nobodyさん
08/08/06 13:51:20
>>228
おお。bakeで作って認証かけてないやつあるわ(笑)
googleに発見されたらアウトだ。
さて。手っ取り早く対応するには、どうしようかな。。

231:nobodyさん
08/08/06 13:52:33
>>230
つ「BASIC認証」

232:nobodyさん
08/08/06 13:59:40
>>231
認証かけられないんだよね。諸事情で。
暫定的に、robots.txtで逃げたけど、どうしよう。。

233:nobodyさん
08/08/06 14:38:16
そりゃあ、単純にdeleteメソッドを置いておけば踏まれるだろ

234:nobodyさん
08/08/06 17:06:11
>>228の「似たような話」について

おっ。見つけられた。gigazineだったか。

Googleにサイトを全消去されたかわいそうなサイト
URLリンク(gigazine.net)

正確には、Googleがページのクロールに使用する「Googlebot」によって
CMS(コンテンツマネジメントシステム)のデータが全部消えてしまったというお話。

このCMSは従業員が各自で情報を入力していくという、まぁ一般的な方式で、
最終的なテストも終えて、インターネット経由でアクセスできるようになったわけです。

が、わずか2,3日後に悲劇発生。全ページが消えてしまい、
「内容を入力してね♪」
というような初期ページのみになってしまったのです

235:nobodyさん
08/08/06 17:12:05
今時誰でもデータ全消去できるってどんなサービスなの?

236:nobodyさん
08/08/06 17:14:45
>>232
世の中には、robots.txtを守らないボットがあるから
気をつけよう。

スパムメール送信の為のアドレスを集めるボットとか。

237:nobodyさん
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で出来ますがマニュアルぐらいは読んどこう。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch