【PHP】フレームワーク CakePHP 14ホール目【v2.1】at PHP
【PHP】フレームワーク CakePHP 14ホール目【v2.1】 - 暇つぶし2ch1:nobodyさん
12/05/01 16:58:44.53 fVBzm1/A
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい には無いかも

■本家
URLリンク(www.cakephp.org)
APIドキュメント
URLリンク(api.cakephp.org)
the Bakery
URLリンク(bakery.cakephp.org)
CakeQs
URLリンク(cakeqs.org)
CheatSheet (PDF)
URLリンク(cakephp.org)
github - cakephp
URLリンク(github.com)

■日本語公式
URLリンク(cakephp.jp)
フォーラム
URLリンク(cakephp.jp)
cookbook(マニュアル)
URLリンク(book.cakephp.org)

前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
スレリンク(php板)

2:nobodyさん
12/05/01 17:02:19.22
落ちてたっぽいから立てたけど・・・大丈夫かな

3:nobodyさん
12/05/01 18:42:40.42
>>1-2
乙!俺は感謝してるぜ

4:nobodyさん
12/05/02 17:16:24.15
乙!いきなりDAT落ちしててびっくりしたから・・・

それにしても2.1.1でしかも2.2.0のベータって・・・早すぎだろw

5:nobodyさん
12/05/02 17:30:40.73
2.1.2使用中で変な事になりました。

Aというコントローラがあります。
> public $uses = 'Bモデル';
という記述がしてあります。

Aのindexページで、
> echo $this->Form->create(null,array('type'=>'post','action'=>'Aのfunction'));

というフォームを作って送信すると、
Aファンクションのページに飛ぶかと思ったらなぜか/Bモデル/Aのファンクション/に飛んで、
当然ながらMissing Controllerが出ます。

indexページのソースを読むとフォーム自体が/B/Aファンクションに飛ぶようになってます。
どなたか原因分かりますでしょうか?

6:nobodyさん
12/05/02 21:41:47.54
>>1おつ

7:nobodyさん
12/05/03 18:56:39.25 2xcwqeF0
cakephpで作ったDBの中身をiphoneアプリからhttpで呼び出すと色々とめんどい?

8:nobodyさん
12/05/03 23:43:44.23
>>7
簡単ではないけど面倒ってほどじゃないよ。

FlashBuilder(FlexBuilder?)でDBアクセスする方法がそのまま使えるんで、そのあたり調べるといいと思う。

体験版でandroidとかiPhoneのアプリ作り始めてサーバのDBアクセスのサービスを追加するとウィザードでコードを追加してくれるんで、必要な部分だけ流用してもいいかも。
(読み出しだけじゃなくて、追加・更新あたりのコードが全部追加されるので)

倫理的にはやり方だけ理解して自分で作った方が良いと思うけどw

まぁどうしてもcakeで作るなら結局作り直すことになるけどね

9:nobodyさん
12/05/05 19:37:07.62
プラグインのwebroot直下にPHPファイルをおいて直接アクセスさせたいんだけど無理なのかな?
app/js/plugin_name/file_name.ext
を解釈するから、そもそも直下へのアクセス方法がない??
あばば

10:↑
12/05/05 19:44:03.73
あ、勘違い臭い。さあせん

11:nobodyさん
12/05/05 20:13:26.25
アクセスはできるけどPHPとして動かしてはくれないのか
そりゃそうか。そうなのか?まぁ仕方ないや。

12:nobodyさん
12/05/07 04:57:19.77
バリデーションルールって、そもそもdataにそのカラムのキーが存在しない時はスルーしちゃうのね。
notEmptyスルーするからハマったわ。
requiredにtrueセットすればいいんだろうけど、この場合updateでうざいことになる。
じゃあってんで、onをcreateにして新規のときだけってしちゃうと、
更新時にnotEmptyが効かない=空でもスルーしちゃう

'field' => array(
'notempty' => array(
'rule' => array('notempty'),
'on' => 'update', // Limit validation to 'create' or 'update' operations
),
'notempty2' => array(
'rule' => array('notempty'),
'required' => true,
'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),

こうしろってこと?
相当めんどくさいんだけど

13:nobodyさん
12/05/07 05:06:28.87
'field' => array(
 'notempty' => array(
  'rule' => array('notempty'),
 ),
 'required' => array(
  'required' => true,
  'on' => 'create',
 ),
),
これでよさげ。これなら許せる。

14:nobodyさん
12/05/07 20:37:16.11
codeigniterと比較するとバリデーションの可読性が悪いな。
配列が入れ子になってるのが悪い。

15:nobodyさん
12/05/09 22:39:47.65 rDWus5fC
CakePHPでGDを使いたいんだけど、viewにそのままGDのコード(色つきの長方形を描くような)
文字化けしてしまいます。
php.iniではUTF8、<?phpの前に余計なものもはいってない状態ですが、
CakePHPでGDを使う際には何か注意すべき点はあるのでしょうか

16:nobodyさん
12/05/10 14:58:57.25
今後の案件はじめるなら2のほうがいいの?
1.3で作ったシステムがあるんだけどこれからも使える?

17:nobodyさん
12/05/10 15:10:33.63
>>13だめだったrule設定がないと確実にそのバリデーションがエラーになる。

18:nobodyさん
12/05/10 18:33:31.10
>>16
「何で」作るかじゃなくて「何を」作るかだと思います。

19:nobodyさん
12/05/10 18:52:33.46
はぁ?あれは1.3で作ったほうがいいがこれは2で作った方がいいとかあるの?

20:nobodyさん
12/05/10 19:10:29.64
ない

21:nobodyさん
12/05/10 19:11:07.26
強いて言えば何処の命で作るか。はあるかも。

22:nobodyさん
12/05/10 22:59:50.95
参考になるかわからないけど、以前からCakePHPを採用している会社は新規案件も1.3だったけど、うちは1.xの実績ないから2.x採用してる

23:nobodyさん
12/05/10 23:19:54.66 eaLKfNi7
cakephp1.3でボタンにロールオーバーさせたいんだけどうまくいかない。
smartRollover.js使って画像を_onと_offできりわけたいです。

だれかご教授くださいお願いします。

24:nobodyさん
12/05/11 03:36:35.15
cake関係ないので嫌です

25:nobodyさん
12/05/11 16:05:50.69
cssでやれよ

26:nobodyさん
12/05/13 22:01:55.09
cakePHP2.0 を使っています。
現在、cakePHPのsave()を使ってupdateしようと
思っているのですが、そもそも更新対象のテーブルに主キーが2つある場合には
どうしたら更新(update)させる事が出来るのでしょうか?
(saveはinsertとupdateを自動で判定するそうなのですが
下記コードだと常にinsertが走ってしまい主キー違反エラーが出てしまいます。)


■table(hoge)
p_id_1 (int) 主キー
p_id_2 (int) 主キー
name (varchar)

■php
$p_id_1 = 11;
$p_id_2 = 22;
$name = "ななし子";

$hoge_data = array(
  'hoge' => array ('p_id_1' => $p_id_1,'p_id_2' => $p_id_2,'name' => $name));
$this->hoge->save($hoge_data);

27:nobodyさん
12/05/13 22:10:28.52
主キーが2つ???

28:nobodyさん
12/05/14 00:40:01.29
ありえない

29:nobodyさん
12/05/14 00:42:24.81
完全に設計が破綻しています。本当にあry

30:nobodyさん
12/05/14 02:26:11.78
>>27
複合キーです。

31:nobodyさん
12/05/14 02:30:08.93
複合キー cakephp で検索

32:nobodyさん
12/05/14 07:19:59.81
このスレの奴は複合キーを知らないから聞いても無駄だな

33:nobodyさん
12/05/14 08:45:36.04
主キーを複合キーにするとか(笑)

34:nobodyさん
12/05/14 09:36:14.55
CakePHP は複合主キーをサポートしません。

ってcookbookに書かれてるよ。

35:nobodyさん
12/05/14 12:33:16.59
>>34
ありがとうございます。
諦めて delete / insert する事にします。

36:nobodyさん
12/05/14 13:44:42.79
SQL直書きすればいいだろ

37:nobodyさん
12/05/14 17:04:15.72
ビューの$paginator->prev('前へ')、$paginator->next('次へ')で
それぞれリンクが無くてもテキストとして表示されます。
これをリンクがない場合はテキスト自体表示しないようにするには
どうすればいいのでしょうか?

38:nobodyさん
12/05/14 19:06:42.56
CakePHP+MySQLのシステムで、
DBのテーブル構成を、モデルから管理する方法で既存のもの何かないでしょうか

モデルのコンストラクタで、CREATE TABLE IF NOT EXISTする
カラムの追加なんかもソースに記述し、ソースに合った最新の状態になるようにALTER TABLEする
もちろん、不要であれば何もしない

こういうのがあれば理想ですが、自分で作るしかない?

39:nobodyさん
12/05/14 19:33:49.99
DB設計見なおすべき。
そんな気軽にてーぶるいじらないでよ

40:nobodyさん
12/05/15 00:22:17.46
>>38
ぐぐればいいじゃない


41:nobodyさん
12/05/15 11:38:58.08
せめてcake shemaでも使うようにすれば?

42:nobodyさん
12/05/17 22:55:40.27 JCS/4U80
Hogeモデルから
hoge、foo、barってテーブルから連結したデータを取るとき
CASEとかCOUNTした値を
バーチャルフィールドで取得するとき
Hogeの配列では取得できるんだけど
Fooの配列にいれることってできる?

バージョン2.1.2です。

43:42
12/05/18 01:47:39.34
ゴメソ。自己解決しました。

$this->virtualFieldsをモデルで読んでたけど
コントローラーから$this->Foo->virtualFields
にしたらいけました。

44:nobodyさん
12/05/18 21:14:27.21
>>1
cakeqs.orgのリンク消えてるけど?

45:nobodyさん
12/05/19 01:18:11.81
>>44
1年くらい前につぶれた気がする
もう少し前かも

46:nobodyさん
12/05/19 02:33:20.31
オワコンだからねー

47:nobodyさん
12/05/19 10:28:02.36 o1Jo2iU0
初心者的な質問で悪いんだけど
Zhen CRM
URLリンク(bakery.cakephp.org)
このオープンソース使用してホームページを作成して
販売するのはOK?
GNUライセンスとかMITライセンスとかも関係するの?

板違うかな?

48:nobodyさん
12/05/19 11:34:56.04
MITライセンスだと販売・改変はOKだよ

49:nobodyさん
12/05/19 15:18:26.07 MiaPSFRR
>>48 どうも乙です。

50:nobodyさん
12/05/19 16:54:10.65
cakephpでシステム関係のファイルなどはドキュメントルートの外に起きたいんだけど
zend frameworkとかcodeigniterとかyiiみたいに個別にパスを設定して変更できないの?

51:nobodyさん
12/05/19 18:18:21.47
>>50
できるよ。マニュアルの最初の方に書いてあるはず

52:nobodyさん
12/05/19 22:45:43.88
>>50
それってindex.phpでいじるやつでそ?
APP_DIRとかROOTとかあるけど
pluginsとかvendorsの項目が見当たらないんだが

53:nobodyさん
12/05/19 22:46:01.99
>>50じゃなくて>>51宛て

54:nobodyさん
12/05/20 00:25:07.80
質問なら何をやりたいのか省略しないできちんと書いてや
pluginとかvendorsをどうしたいの?

55:nobodyさん
12/05/20 10:21:18.74
>cakephpでシステム関係のファイルなどはドキュメントルートの外に起きたいんだけど

56:nobodyさん
12/05/20 10:56:14.49
全部ドキュメントルート外において、wwwrootをドキュメントルートに指定しろ
そしてもう来るな

57:nobodyさん
12/05/20 11:00:27.81
バカが質問をよく読まないで回答しようとするからこうなる

58:nobodyさん
12/05/20 11:35:51.12
バカなのに死なないで生きているからこうなる

59:nobodyさん
12/05/20 14:29:53.88
>>55
だからその「システム関係のファイル」ってなんだよ?
cakeのコアのことならマニュアルに書いてある通りだし、>>56の言う通りだ。

vendorsやプラグインも個別にどこにでも好きなところに置けるけど、
>>50 には一言も書いてねえし

60:nobodyさん
12/05/20 19:10:25.50 FJzAEkIA
cakeってファットモデルはあまりやらないほうがいいの?

61:nobodyさん
12/05/20 22:42:21.38
稼働中のシステムでDBのALTER TABLEをしてそれに合わせてソース更新した場合、前の状態がキャッシュされてて動かない
ことがしばしば起こるんだけど、自動でキャッシュ更新する方法ありませんか?
キャッシュはmemcachedを使っています

62:nobodyさん
12/05/21 10:35:51.06
>>60
ロジックをコントローラでなくモデルに書くってことか?
個人的にはそうすべきだと思う。

63:60
12/05/21 20:21:34.67
>>62
$this->Model->find('all')
みたいなやつでもモデルに書くようにしてる?

64:nobodyさん
12/05/21 21:42:06.73
ケースバイケースだな。
何度も使う場合は書くけど、そうでない場合はコントローラで済ます

65:60
12/05/22 01:03:15.16
>>64
ありがとう。

複雑なクエリや、他のコントローラーから呼ぶようなやつはファットモデルにするよ。
規約は守ってもフレームワークだからって型に縛られないようにするよ。

66:nobodyさん
12/05/22 02:11:52.42
>>61
テーブルに変更が加えられたかどうかをチェックしてしまったらキャッシュしている意味がなくなるから原理的にそれは出来ないんじゃないかな
俺は手動で消してる

67:nobodyさん
12/05/22 02:26:56.79
ランキングやトピックスは随時更新じゃなくて、一定期間で更新だよな
一定期間毎にキャッシュを作っていると思うけど、その形で良いと思う


68:nobodyさん
12/05/22 05:21:12.26
>>66
手動でどうやって消してますか?
全部消せば簡単だけどそうすると今アクセス中の客のセッションデータが吹っ飛ぶ
更新したいキャッシュだけ消す簡単な方法あります?というかどのキャッシュを消せば良いのか

69:nobodyさん
12/05/22 10:21:13.32
それはマニュアル見ろとしか言えないな

70:nobodyさん
12/05/22 12:26:33.17 mOE2ZVav
フォームによってモデルの必須条件を適宜変えたいんだけど、どうしたらいいんだろう

71:nobodyさん
12/05/22 12:58:54.36
>>70
2.2で ModelValidatorを使う
URLリンク(book.cakephp.org)

もしくはいくつかバリデーションルールを作っておいて、コントローラーでvalidateのフィールドを指定する
URLリンク(book.cakephp.org)

て感じかしらん

72:68
12/05/22 14:05:53.81
んー、なんか今Cakeのマニュアル見れないなあ
なんか見れるページと、見れないページがある、どうなってんだ
とりあえず助言ありがとう

73:nobodyさん
12/05/22 14:21:04.35
しかもDB構造のキャッシュについては載ってなさそうだなあ
仕方ないソース見るか…

74:nobodyさん
12/05/23 18:18:16.24
1.3で開発してるアプリケーションを2.xに変更しようと思ってるんだけど大変かな?
コントローラ20個、モデル15個ぐらいの規模なんだが
パッと手直しするだけで移行できる?

75:nobodyさん
12/05/23 18:26:46.04
もう少し様子見た方が良いと思うけどな。今は情報少ないだろ
自分だけで使うなら別だが、仕事だと1.3で良いと思うよ

76:nobodyさん
12/05/23 22:27:57.51
コントローラー3個のサイトでさえ移行めんどくさい
でも新規サイトは2.xで作ってるから古いサイトのメンテナンスするときに混乱する
でも移行したくない

77:nobodyさん
12/05/24 17:42:05.60
2.1を使用中です。

例えば$tmp = "5,2,3,4,1"と言う並びを記憶した文字列があったとします。

それを$id_order = explode(',",$tmp);として、
$this->Hoge->find('all',array('conditions'=>array('id'=>$id_order)));
として読み出します。読み出し自体は5件、ちゃんと拾ってきます。

ただこの場合、そのままだとid順に並び変わってしまうんです。
(この場合だと 1 2 3 4 5 に並び変わってしまう)
そのまま5,2,3,4,1の順を保持するようには出来ないのでしょうか?
queryで id IN (5,4,3,2,1)も試してみたのですが、やはりID順で並び変わってしまいます。

Hogeそのものにorder用のフィールドを準備して並び替えれば当然出来るんですが・・・

今は配列を全部読んで新たに配列を作成するという力技でやっているのでうまい方法は無いかと思いまして・・

Cakephpとは関係ない様な気もしますが参考意見でもあれば宜しくお願いします。

78:nobodyさん
12/05/24 18:35:37.61
>>77
SQLはorderを指定しないと読み出し順は保証されないよ
たまたま1,2,3,4,5になるかもしれないし、そうでないかもしれない。
だからちゃんとfindのオプションでorderを指定すべき

79:nobodyさん
12/05/25 19:14:24.25
2.0で組んでます。
Componentから呼び出した、他のComponentのinitializeが、
実行されないんだけど、実行されるようにする方法はないですか?


80:nobodyさん
12/05/25 19:20:46.92 /BxfQcHO
勉強しはじめの者です。

XAMPPを起動させて、webrootフォルダの中のindex.phpにログインは出来るし、
index.phpを他に移動させて前の場所のアドレスを入力すると見えなくなるのですが
URLリンク(localhost)

webrootフォルダの中にindex.htmlやindex2.php等を作って、
URLリンク(localhost) をブラウザで表示させようとしても表示できません。

これはなぜなのでしょうか?教えていただけると助かります。

81:nobodyさん
12/05/25 19:51:57.57
>>80
普通は表示できると思うんだけど。
Apacheのエラーログ見たら?

82:80
12/05/26 00:55:32.99
>>81

レスありがとうございます。
エラーログで分からなかったので、XMAPPもCAKEPHPもインストールし直したら解決しました。

83:nobodyさん
12/05/26 13:28:16.83
>>70-71
これを1.3で実現したいんですけど、何か方法はありますか?

84:nobodyさん
12/05/26 16:30:05.31
id以外のPrimaryKeyを指定できるのは、2系だけですか?

85:nobodyさん
12/05/26 18:04:32.93
>>84
1系でも出来る

86:nobodyさん
12/05/27 00:59:00.50
>>78
おっしゃるとおりです。

あれから調べた所、MySQLである限りはorder by fieldが使用できるので、
URLリンク(cakebaker.42dh.com)
の形でやればいちいち取得後に並び替え処理しなくても
最初から指定の順で並び替えた状態で取得できそうです。

ありがとうございました。

87:nobodyさん
12/05/28 15:42:04.62
JsonView だと Forbidden になる現象遭遇した人いませんか?
2.1 です。

88:nobodyさん
12/05/28 21:49:33.64
Apache の MIME type が原因でした。

89:nobodyさん
12/05/30 00:22:24.86
本を見て勉強中なのですが

<?=$form->create(null,array('type'=>'post','action'=>'.')) ?>

等のように、
<?=
から始まるコードがあります。これをこのまま本の通りに入力するとエラーになってしまうのですが

これは、
<?php echo
と同じ意味なのでしょうか?

「<?php echo 」と書くと長いから「<?=」と書いているけど、コードを書くときは「<?php echo」に直してね
っという事なのか
私の書き方や設定がおかしいから「<?=」でエラーが出るだけで、何かをすれば「<?=」でもエラーが出ないのか?

教えていただけると助かります。よろしくお願いします。

90:nobodyさん
12/05/30 01:40:42.57
流れ関係ない質問ですが
マニュアルに書いてないことを知るには、ソースを読めですか?

91:nobodyさん
12/05/30 02:22:35.21
>>89
cakeは関係ない。php自体のshort_open_tag設定

>>90
生ソースの前にAPI一覧を見るといいよ
こんなメソッドあったのか。なんてのも結構あるし。
それで使い方気になったらソース見ていく。って感じで俺はずいぶん勉強になったよ

92:nobodyさん
12/05/30 14:54:21.85
バリデーションの切り替えの質問したものだけど、
$this->User->validates(array('fieldList' => array('email', 'password'))
こういう方法もあるんだね。
これでよかった。

93:nobodyさん
12/05/30 15:08:29.89
ちなみに1.3で日本語のブックには載ってない方法だった

94:nobodyさん
12/06/01 10:14:16.75
saveした際にvalidate errorだとviewのformに値が自動的に戻ります。
hasMany tableをsaveAllした際のvalidate errorだと、formに値が自動的に戻りません。

saveAllのvalidate errorの場合は手動でformに入力値を展開するものですか?
流儀があれば教えて頂きたいです。

95:nobodyさん
12/06/03 01:26:40.50
bakeというものを使おうとしたのですが

コマンドプロンプトでパスを設定後、
cake bake でデータベース設定しようとすると
最後にエラーになってしまいます。

Look okay? (y/n)
[y] > y
Do you wish to add another database configuration?
[n] > n

Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`

どうしたら直るでしょうか?教えていただけると助かります。
よろしくお願いいたします。

96:nobodyさん
12/06/03 02:03:55.13
>>95
エラーはどこ?

97:nobodyさん
12/06/03 05:21:06.99
>>96
95の頭

98:nobodyさん
12/06/03 13:48:18.75
あ?エラーが出てるならエラーメッセージを貼れつってんだよ

99:95
12/06/03 15:48:10.86
失礼しました。

Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`

ではなく

Fatal error: Class 'DATABASE_CONFIG' not found in C:\xampp\htdocs\cake\baking\ca
ke\console\libs\tasks\db_config.php on line 260

でした。

100:nobodyさん
12/06/03 16:18:04.08
でーたべーすこんふぃぐがねえんじゃねえのー?

101:nobodyさん
12/06/04 11:18:57.14
ええ・・・
$form->input()
でしかエラーを自動で表示してくれないって知ってた?
$form->radio()
じゃ表示してくれない。

今初めて知った・・・めちゃハマってたわ・・・くそが
バーションは1.3

102:nobodyさん
12/06/04 16:16:23.03 npZV9BUE
radioでも何も選択されてない状態でsubmitすればエラー出るんじゃないの?


103:101
12/06/05 03:40:59.31
>>102
出なかったよ

104:nobodyさん
12/06/06 09:28:58.59 KukcN70n
さくらインターネットを使ってるんですが、サブディレクトリでCakePHPを運用したい場合可能ですか?
RewriteBaseをいじくりまわして、
ググってありとあらゆるパターンを試してみたんだけど
どうやっても500エラーが出てできない・・・

105:nobodyさん
12/06/07 00:31:59.74
htaccessじゃなくてindex.phpの設定だけでサブディレクトリ運用できたような記憶が
500出てるってことはhtaccessの記述が間違っているっぽい

106:nobodyさん
12/06/07 01:11:37.96
直接Cakeに関係ないならすみません。
バージョンは2.1です。

cakeフォルダを作成してそこに配置したとします。
通常だとブラウザのアドレスバーにはhoge.xx.yy/cake/controller/actionと成るわけですが、
それをhoge.xx.yy/controller/actionと表示するようには出来ませんか?
(見た目だけで良くて、アドレスバーに入力してその通りに動作する必要はありません)

ネットでhtaccessというかRewriteのページをかなり見たのですが、見た限りは上で言うcontroller/action/*1/*2の順番というか、パラメータの記述方法を変えたりするような方法ばかりでした。

何かヒントになるサイトとかでも良いのでご指導頂けませんでしょうか?

107:nobodyさん
12/06/07 01:41:54.69
PHP素人(触り始めて数日)ゆえ質問がCakePHP固有じゃなかったらすみません。

あるカテゴリキーワード(可変数。10個前後)が格納されたDBテーブルが
あって、さらに別のテーブルにはカテゴリキーワードごとのトッピックスが
1000個程度登録されています。

トップページで各カテゴリキーワード毎にトピックを5件だけ表示させたいの
ですが、やり方がわかりません。
カテゴリキーワードを取ってきて表示されるだけなら、findAllで取ってきて
VIEW内でforeachでまわす事で実現できました。

foreachのループ内で、現在着目中のカテゴリキーワードで詳細テーブルから
5件だけ取ってくる方法が分かりません。
トピックを全レコード事前に取得しておいて、viewの中で無理やりキーワー
ドが一致するものを5件だけ表示させる方法は思いつきますが、もっとスマー
トな方法はありませんでしょうか?

108:nobodyさん
12/06/07 02:31:59.60
>>106
htaccessで書き換えられないこともないだろうけど推奨されてないだろうし不具合の原因だからやめた方がいいよ
app/webrootをウェブルートに置けない理由はあるの?

>>107
アソシエーションを学ぶんだ
一発でカテゴリキーワードごとにトピックスを5件とってこれる

109:nobodyさん
12/06/07 04:44:57.83
PHP全般の問題なのか、CakePHP固有の問題なのか判断できないような人は、
判断できるようになってから質問しろよ

110:104
12/06/07 07:36:24.96 T3CmHb0t
>>105
index.phpの設定ってどのindex.phpでしょう??
ちなみにどのように設定すると良いのが教えていただけると幸いです

111:nobodyさん
12/06/07 11:41:22.43
>>108
返答ありがとうございます。
単純に今現在すでにHPがあり、機能追加をする形でcakeを使用するのですが、
現状appフォルダがすでにあるのでと言う理由だけです。
既存フォルダ名の変更が不可の為、フォルダを作って・・と言うのを考えてたのです。
既存フォルダ名の変更不可というのはURL的に見た目がappじゃないとまずいということでして、サーバ上はapp2とかにしてもURLの見た目がappになればOKなんです。

どうすればよいかわからなかったので先ほどの質問として書いたと言う訳なんです。

112:nobodyさん
12/06/07 12:11:49.60
単純な結合(とはちょっと違うけど)にいちいちアソシェーション使うくらい
ならDB側にView作ってしまいたくなるんだけど、そういう人はいないの?

まあ、実装箇所が複数に分かれるデメリットもあるのでビュー禁止ってとこも
結構あるけど。

113:nobodyさん
12/06/07 14:50:42.40
htmlヘルパーのnestedListで、li要素ごとにclassを変えたい場合はどうすれば
いいんでしょうか?

114:nobodyさん
12/06/07 21:27:01.49
>>111
そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はwebroot以外に配置する。

115:nobodyさん
12/06/07 21:28:11.55
ごめん、ちょいミスった

>>111
そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はドキュメントルートの外に配置する。

116:nobodyさん
12/06/08 02:27:11.80 RAatNy5a
>>110
app/webroot/index.php
もちろんここがウェブルートになるように設置しないとダメだよ

>>111
まず>>115の言うようにapp/webrootをドキュメントルートに置かないとダメ
サーバーの設定でドキュメントルートが変更できない場合の対策は、xrea、コアサーバー、さくらあたりでのノウハウがいっぱいあるから
それを調べて実行するとよい

>>112
規約に沿うのがフレームワークだからDBはモデルで扱うしか考えたことがないなあ

>>113
俺はなんか実装めんどくさそうならHTMLで書いちゃうわ

117:104
12/06/08 09:16:24.94 u8Vc96TE
>>116
ありがとうございます。
ウェブルート=ドキュメントルートってことですか?

118:104
12/06/08 09:16:57.73
>>117
あ、全部読んでませんでした。
そういうことですね。
もうちょっと試してみます。
ありがとう!

119:nobodyさん
12/06/08 13:58:30.27
>>113
1ずつ全部変えるのは無理だけど
itemOptionsで、even,oddの指定を入れると、奇数行、偶数行のクラスは指定できる
続きはソースで…

120:111
12/06/08 16:35:33.96
>>114 >>116
私のフォルダ配置に対する理解が足りなかった訳ですね・・

レス頂いてから試してみました。
wwwの下にフォルダを作成してそこにappやlibなどのファイルを配置。
でwebrootフォルダの中身をwwwに置いてindex.phpを触れば(ROOTとかの位置を指定すれば)ちゃんとcakeとして動作してくれたのは確認できました。

home
|--ユーザアカウント
|
|--cake
| |--app
| |--lib
| |--・・・その他
|
|--www
|--css
|--img
|--js
|--index.php

のような感じで動作したのは確認できました。

でもう一つ疑問がわいてきましたが、先の話で既存のHPがある場合、index.phpとindex.htmlがかぶることになります。
今回もそのパターンで、ネットでさくらにインストールした場合を探してみるとwwwよりhome側に置くのはよく出てるのですが、
どれもwwwに一つフォルダを作成してそこに元のwebroot内のデータを置いてる感じでした。

動かしてみましたがindex.html index.phpの優先になってる方が起動するだけでした(当たり前ですが・・)

今回のようにcakeのindex.phpと元のindex.htmlがあるような場合はどのようなやり方がありますか?

121:111
12/06/08 16:36:54.35
>>120
あああ、すみません。
書き込んだらスペースが削除されちゃいました。
cssから下はすべてwww内とのつもりです。

宜しくお願いします。

122:nobodyさん
12/06/09 00:03:03.20 7iLO1txZ
>>120
いまwwwになってるところをwww/cakeとかにすればいいんじゃないの?
htaccessの修正も必要になるかもしれないけど
俺なら既存のファイルが全部スタティックならcakeに統合しちゃうけどな

123:nobodyさん
12/06/09 16:53:54.98 u4onJvJp
バージョン上げたら、Eclipse+PDTでヘルパーの補完できなくなったorz
$this->Http->
補完する方法ないのですか?

124:nobodyさん
12/06/13 23:54:08.72
nanapiが訪問者1000万とかでインタビュー記事が出てたけど、
Cakeで作ってるんだろ?どうやってアクセスこなしてるんだろ・・・
キャッシュ使えばパフォーマンスは気にならないのかな

125:nobodyさん
12/06/14 00:07:28.83
>>124
記事のページとかPV稼いでいる部分は生PHPで書いて、それ以外のあんまりPVないところはCakePHPで作ってるって話をしていた気がする
30万UU/monthくらいのサイト持ってるけど、ビューキャッシュだけで共用レンタルサーバーでも余裕でさばけるから、
パフォーマンス追求しなければキャッシュだけで十分いけると思う
後はスケーリングの問題だな

126:nobodyさん
12/06/14 01:40:16.19
>>125
記事ページもcakeっぽいルーティングなんだけど生PHPなの?
うまく工夫しているのかな。凄いな。


127:nobodyさん
12/06/14 02:08:15.49 nFrC9cht
>>126
別にそれは記事ページだけならReWriteして1行で変更できるでしょ

128:nobodyさん
12/06/14 02:23:56.37
普通にwebサーバを複数台並べてるだけじゃないの?

129:nobodyさん
12/06/14 12:33:43.22
CakePHPのAuthコンポーネントを使ってますが、よくあるような

ユーザ仮登録

メール

メールに記載されたURLクリック

本登録

という流れの中で、本登録ページが正しく表示されたらログイン後状態に
したいです。controllersの内部で認証後状態にするにはどうすればいい
でしょうか?

130:nobodyさん
12/06/14 12:52:02.54
loginメソッドに引数渡す

131:nobodyさん
12/06/14 13:20:39.06
>>125
UUじゃなくてPVで語れよ

132:nobodyさん
12/06/14 20:56:45.56
>>131
>>124に併せてUUを書いたけど、PVは60万くらい


133:nobodyさん
12/06/14 21:34:54.69
>>132
少なすぎないか?
月30万UUって、1人が2ページしか見てないって事だろw

134:nobodyさん
12/06/14 22:42:24.08
就職を控えた学生の間で、ブラック企業探しが流行し、中には流されてしまう人もいるらしい。サービス残業の多い会社や有給休
暇を取れない会社のことを指しているようだ。僕自身、「違法な只働きの多い会社はどこですか?」なんて質問はよく受ける。だ
が、はっきりいってみんな甘い。甘すぎる。そんなのブラックでもなんでもなくて、日本企業なら当たり前の話なのだ。「フラン
スやドイツより年間300時間程度は長時間労働で、有給休暇も消費せず、辞令一枚で全国転勤」というのは、日本が世界に誇るカ
ルチャーである。日本は今でも終身雇用が建前の国である。いつ潰れるかわからないような中小の下請け企業ならともかく、普通
の会社では解雇なんて不祥事でも起こさない限りは行われない。もちろん、こういう楽ちんなシステムを維持するためには、それ
なりの工夫が必要だ。まず、一定の残業は大前提だ。新規採用の代わりに残業でカバーしておけば、不況時に残業カットで人件費
を抑えられる。有給休暇が取れないのも理由は同じだ。全国転勤なんて制度があるのは日本だけだが、これも終身雇用を維持する
ためのものだ。つまり、人事部がハローワークの代わりに社内の空きポストを見つけ、再就職の斡旋をしているようなものなのだ。
であるため、大手優良企業ほど、残業も転勤も有給取得制限も確実に存在するし、雰囲気的に文句は言えない。たまに、日本企業
の労組が「組合員の長時間残業や転勤を黙認している」といって非難する人もいるが、ちょっと違う。すべては終身雇用システム
を守るための、やむを得ない副産物なのだ。たまに「勇気を持って拒否できないんですか?」という質問も受けるけど、そんなこ
と主張して村八分に耐えるだけの強靭な精神力があるなら、最初から年俸制の企業に行って頑張ることをおススメする。ところで、
真のブラック企業とは何だろうか。それは上記のロジックからすれば明らかだろう。最初から終身雇用を守るつもりも、成果に応
じた年俸を上乗せする気もなく、長時間残業が当たり前で有給も取れない会社のことだ。新卒の時点でそういう会社に遭遇するこ
とは「滅多に」ないし、入ったら入ったで何年か修行して転職すればよいだけの話なので、入る前からあれこれ心配する必要は無
い。最悪なのは右往左往した挙句、内定無しで卒業してしまうことだというのはおぼえておくといい。

135:nobodyさん
12/06/15 01:24:50.42
>>133
直帰率高いからな
趣味だから特に施策もしてないし

136:nobodyさん
12/06/18 09:29:52.49
formのcreateの際の第一引数をnullにしても、form->inputが生成したhtmlを
見るとpostデータにmodel名が含まれてしまう事があるのですが、postデータ
にmodel名を含ませないように出来ないのでしょうか?

<input name="data[test]" type="text" value="" id="test" />

こうなる場合と

<input name="data[models][test]" type="text" value="" id="test" />

こうなる場合があります

137:nobodyさん
12/06/18 09:55:08.10
自己解決
nullじゃなくてfalseにすれば期待した動作になりました

138:nobodyさん
12/06/20 20:53:26.92
Cakephp歴2年 CodeIgniter歴1年 ZendFramework歴2年

の俺が言う

Cakephpはやめとけ

139:nobodyさん
12/06/20 21:44:38.57
人がいないと駄目ってウメハラが言ってた

140:nobodyさん
12/06/20 21:45:23.02
>>138
おすすめ教えてよ

141:nobodyさん
12/06/20 22:13:18.78
ダメな理由くらい言えw

Cakeは国内の知名度だけはいい線いってるよ

142:nobodyさん
12/06/21 00:32:08.42
やっぱり知名度が一番重要だよ
いくらFUELPHPが凄くても一人で細々とやっててもねぇ

あ、英語できるならいいけど

143:nobodyさん
12/06/21 01:35:20.48
OSSだと知名度つうか使う人が多いと開発陣のモチベにも関わってくるしね
2.2ももうすぐ出そうだし、最近のCakeは順調…すぎてついていけなくなってるけどw

144:nobodyさん
12/06/21 01:40:37.49
>>140
Yii一択
使えば使うほど楽しい

145:nobodyさん
12/06/21 02:16:55.75
mysqlとの組み合わせで、外から与えた変数で取得結果を変えたいです。
レコードのとあるフィールドの値で取得結果を変えるなら

select
 case field1 when 0 then 'ぬるぽ' else field2 end
from tblA;

こんな感じでSQLの記述だけで完結出来るんですが、外から与えた変数で
同じような事を簡単に出来ないでしょうか?

取得結果は最終的にはviewで表示するのですが、
view内でforeachで回す際にループごとに条件判定をして…という方法は避
けたいです(viewにあまりゴテゴテとロジックを書きたくないので)



146:nobodyさん
12/06/21 08:42:57.93
>145
mysqlならIFって関数があるから、fieldsかモデルの$virtualFieldsで、

"IF(Model.field1 = 0 , 'ぬるぽ' , Model.field2)"

って書いてる。条件が複数あるなら入れ子でもいける。


147:nobodyさん
12/06/21 13:31:33.73
>>144
お前そればっかりだな
どこがいいとか具体的なこと教えてくれよ

148:nobodyさん
12/06/21 18:17:56.38 bhjX0YXl
>>144
コードイグナイタ

見通しが良いから

149:148
12/06/21 18:18:47.19 bhjX0YXl
140と間違えた

150:nobodyさん
12/06/21 19:08:33.82
cakephpで有用なのはSetのみ

151:nobodyさん
12/06/21 19:49:36.93 0C9bmUAd
>>150
廃止されるで

152:nobodyさん
12/06/21 20:13:49.65
マジで?じゃ、どうやってビューに値を渡すの?

153:nobodyさん
12/06/21 20:28:25.81
PHP本体に組み込まれたら嬉しいな~

154:nobodyさん
12/06/21 20:54:48.63
Setクラスと
Controller->set()は別物

155:nobodyさん
12/06/21 23:51:44.61
URLリンク(blog.xao.jp)
なるほどHashクラスに置き換わるのか

156:nobodyさん
12/06/22 02:40:29.62
やべえ2系に全然ついていけてないw

157:nobodyさん
12/06/22 07:52:03.33
>>147
・速い
・小規模、大規模にも対応できる
・CIより高機能、CakePHPより簡潔
・その他あらゆる点、全体の思想やARなどなどが洗練されてる

158:nobodyさん
12/06/22 10:33:48.17
デメリット:
・設置に関する情報が少ない
・既存プラグインが少ない

159:nobodyさん
12/06/22 11:25:22.29
1.3系を使っています。

function index($id){
 $this->_idcheck($id);
}

function _idcheck($id){
 if ($id != 1) {
  $this->layout = 'error';
  $this->render('/errors/error');
  return false;
 }
}

こんな感じで$idが指定と違うとエラーページを表示させたいのですが、
上の書き方だと2回renderされます。(indexのビューもrenderされます)

$this->render('/errors/error');の次行に$this->_stop();をしたら
ページ全体が表示されないし、どうやって特定のエラーページのみ
表示したら良いか分かりません。ご存じの方はアドバイスお願いします。

160:nobodyさん
12/06/22 11:39:12.45
render()のとこでreturnしてよかったんじゃなかったっけか

もしくはautoRenderで検索

161:159
12/06/22 11:52:47.08
>>160
159のコードで、

$this->render('/errors/error');
$this->autoRender = false;
return ;

としてもindexのビューは表示されます。
出来ればidcheckのerrorビューで止めたいのですが・・・

162:nobodyさん
12/06/22 12:26:35.74
てか2回renderされること自体がおかしいんじゃないのか?
viewが2個連なってでてるの?
そんなことあったっけ?
解決しないようなら後で試してみるけど、

↓この順番にしたらどう?

$this->autoRender = false;
$this->render('/errors/error');

あとは、
idcheck()ではbooleanを返すようにして、
falseが帰ればそのindex()内でreturnしてみるとか?

つまりidcheckでreturnしてもidcheckを抜けるだけだから全く意味ない。

163:159
12/06/22 13:07:10.41
>>162
その方法も一緒でした。

おっしゃるとおり、idcheckでreturnしても意味無いのですが、
index内で分岐をさせる場合

if ($this->_idcheck($id)) {
 trueの場合の処理
} else {
 falseの場合の処理(エラページ出力)
}

としていかなければならず、idcheckが必要な全アクションに
これを入れるのはどうかと思い、idcheck内で解決出来ないかと探していました。
renderで出力ではなく、cakeErrorで404を出力すれば
ページエラーとして表示され、その後の処理も止まるんですけどね・・。

164:nobodyさん
12/06/22 14:00:47.36
これを
$this->_idcheck($id);

こうしろ
if(!$this->_idcheck($id)) return false;

165:nobodyさん
12/06/22 14:17:55.24
まぁレンダーもしなきゃだろうから

if (!$this->_idcheck($id)) return $this->render('/errors/error');

こーすりゃいいのかな

166:159
12/06/22 14:19:08.34
エラーページのrenderはidcheckの中に書きたかったので、
>>164の方法を使用したいと思います。

みなさん、アドバイスありがとうございました。

167:nobodyさん
12/06/22 16:33:34.16
Yiiに乗り換えるか、使い慣れたCakeでさくっと作るか悩む…

168:nobodyさん
12/06/23 03:49:34.45
CakePHPerのためのYii乗り換えガイド
みたいなのが書かれた時が、俺の乗り換え時と決めている

169:nobodyさん
12/06/23 10:37:00.10
最低Yiiのリファレンスページが日本語化したときかなぁ

170:nobodyさん
12/06/23 15:20:05.50
中途半端にYii行く位なら今ならsymfonyに行くわ

171:nobodyさん
12/06/23 15:29:01.95
どれが一番railsに似てるか競争なんだから
railsに行くのが一番中途半端じゃないんだろうな

172:nobodyさん
12/06/23 16:19:14.16
railsに行く位なら別にcakeのままで良いんじゃねーの?

173:nobodyさん
12/06/23 16:33:09.34
試しに少しrails触ってみたが確かに凄いとは思ったよ
これがweb frameworkの完成形なんだって

まぁruby覚えるの面倒くさいから常用はしないけど

174:nobodyさん
12/06/23 17:33:16.95
CakeとRailsとどう違うんだ?ざっくり言うと
言語以外で

175:nobodyさん
12/06/23 18:54:12.89
railsやってるけど
分からないことがあったら
リソースが沢山転がってるcakephpのほうがいいなぁと思う

railsのスレみてみなよ
過疎ってるし荒んでるよ

cakephpだと必要なプラグインとかをvendorフォルダにぶっこんで
ftpであげるだけで大抵うごくけど

railsはサーバー環境を
1から構築していく必要がある
これが大変
敷居が高い

しかも、プラグイン同士の依存関係がかなり厄介だから
コーディング始める云々の前に
つまづいて辞める人がほとんど

cakephpに戻ろうかなと思う



176:nobodyさん
12/06/23 18:56:58.00
Cakeでメール配信システムとか広告配信のような
負荷がかかりそうなアプリ開発している人いる?

素のPHPでやった方がパフォーマンス出ると思うんだが、
Cakeの作り方に慣れてるから困る

177:nobodyさん
12/06/23 19:07:09.76
>>167
少し時間かけてYii習得したほうが後々その時間は回収できるよ
今も前のシステムの関係上CakePHP触らないといけないんだけど、
開発スピードが段違い

178:nobodyさん
12/06/23 19:54:38.82
>>176
とある商用サイト作って運用してるけど、ユーザ登録でユーザに仮IDメール出
してるし、同時一斉配信つーならメルマガも運用してる。

今のとこパフォーマンスが問題になった事は無い。

179:nobodyさん
12/06/23 20:03:33.23
俺もパフォーマンス気にしてCake使うのいつもためらうけど
幸い、問題が起きるほどユーザーが増えたことがない

負荷とか最初から気にするだけ無駄なんだなと気付いた
負荷対策は万が一サービスが当たってから考えるのが、結局効率が良い

180:nobodyさん
12/06/23 20:33:40.14
高負荷になってきたらサーバ複数台を並列にしてLBすればいいじゃない

181:nobodyさん
12/06/23 21:40:18.93
2系になってパフォーマンスよくなったとか聞いたけどまだやっぱ重いの?

182:nobodyさん
12/06/23 23:41:07.25 9D2aOBXb
重いに決まってんだろ、Frameworkなんて全部重いわ

183:nobodyさん
12/06/24 00:05:46.88
検証!検証

184:nobodyさん
12/06/24 09:51:40.07
だめだ誰か助けて><;
さくらインターネットでサブディレクトリにCakeディレクトリを入れて運用したいんだけどできない
/home/username/www/cakephp
www/がドキュメントルート
その下にcakephpをつっこんでそのまま運用したい
URLも/cakephpにアクセスする形でいいんだけど

500エラーが出るんで、.htaccessあたりの設定だろうと思うんだけど、
いじりまくっても回避できなかった

アドバイスください!

185:nobodyさん
12/06/24 12:41:22.32
>>178
メール配信ってshell機能使って配信してるんだよね?
自分はそうしているけど、特にパフォーマンスの違いはないな。

>>179
当たってから変えるってのもどうかな?とは思うからね。
最初から「ユーザ数100万人!」とか目標にするのもどうかと思うが、
せめて1万人は想定する必要があると思う。

で、1万人の一斉配信って負荷やら配信ログやらの問題が出てくるから、
設計も考えなきゃいけないんだよね。
ま、どちらかというとCakeよりもサーバ側の問題だけど。

186:nobodyさん
12/06/24 13:39:09.72
極端なメール配信ってレンサバだと注意受けるよね

187:nobodyさん
12/06/24 15:52:42.05
質問させて下さい

CakePHPに下記のプラグインありますか?


・会員登録、ログイン認証
・画像アップロード
・ページネーション
・キャプチャ
・会員同士のプライベートメッセージ

188:nobodyさん
12/06/24 16:14:03.48
ないからほかにいけカス

189:nobodyさん
12/06/24 16:21:38.87
>>187
クズ
シネ
苦しんでシネ

190:nobodyさん
12/06/24 16:23:49.02
>>187
ここは質問禁止スレです
ばーか

191:nobodyさん
12/06/24 16:34:52.09
>>186
vpsでも?

192:nobodyさん
12/06/24 16:52:37.21
>>187
なんかのCMSでも探した方がいいのでは

193:nobodyさん
12/06/24 17:04:57.57
>>191
VPSでも帯域制限はあると思う

194:nobodyさん
12/06/24 17:47:28.20
>>187
>・会員登録、ログイン認証
登録の機能は自分で作りこんで下さい。プラグイン不要です。
ログイン認証はAuthコンポーネントがあります。

>・画像アップロード
CakePHPの標準機能で作りこんで下さい

>・ページネーション
CakePHPの標準機能でよきに計らってくれます。プラグイン不要。

>・キャプチャ
???

>・会員同士のプライベートメッセージ
自分で作りこんで下さい。

195:nobodyさん
12/06/24 17:50:22.25
要はプラグインなんかねーから1からテメーで作れってこと


196:nobodyさん
12/06/24 18:17:33.67
お前らカスばっかりクズスレ噴いた

197:nobodyさん
12/06/24 18:37:52.32
CAPTCHAだろ?
いくつかあるテメーでさがせかす

198:nobodyさん
12/06/24 19:56:11.23
こわっ

199:nobodyさん
12/06/24 20:36:53.49
>197 は放置の方向で。

200:nobodyさん
12/06/24 20:39:32.33
>>184
だれか これ たのむ

201:nobodyさん
12/06/24 20:43:30.41
>>200
htaccessのbaseUrlのあたりだろう
うろ覚えなので調査して判明したら教えてくれ

202:nobodyさん
12/06/24 20:47:36.27
本番環境とテスト環境があるからサブフォルダ切ってその中に一式全部突っ
込んでるけど、問題なく運用出来てる。まあがんがれ。

203:nobodyさん
12/06/24 20:56:58.63
CakePHP サブディレクトリ htaccess あたりでぐぐると多分解決する

204:nobodyさん
12/06/24 21:36:35.96
今ダウンロードしたさらの状態のものを
/home/www/cake_test/
として解凍したんだけど、アクセスすると
400 Bad Requestと出ます

205:nobodyさん
12/06/24 21:37:55.05 mIG0xQos
>>204=200
です

URLリンク(cakephp.kojima-yoshio.net)
>症状2:400 Bad Requestエラーが出る。
>対処法:マルチドメインの設定を見直す。
>パスの列を見て、末尾に/が付いているとダメ。( ○/test  ×/test/ )]
これも確認しましたが、大丈夫でした

206:nobodyさん
12/06/25 00:03:36.30 bAX9Bc0l
新しいアカウント契約して単純に解凍したら見れたわ
別の既存の原因だったみたいだわ

207:nobodyさん
12/06/25 10:04:44.87
$this->User->id = $user_id;
$user = $this->User->read();
var_dump($user);
↑これがローカルではちゃんと取得できていて、
サーバにアップするとfalseが帰ってくるんだけど、何が原因?
サーバもローカルも1.3だったはずだけど、もしかしてマイナーバージョンぐらいがかもしれないんだけど、
マイナーバージョンアップで上記に影響されるような変更あったのかな?

208:nobodyさん
12/06/25 10:10:30.77
>>207
単に、ローカルと公開鯖とのDB構成が違うだけじゃないの

209:207
12/06/25 10:17:38.50
if (getenv('server_name') == 'localhost') {
   Configure::write('debug', 3);
} else {
   Configure::write('debug', 0);
}
原因分かった
こういうふうにローカルとサーバでdebugの値変えてたからだった。
ただ、なぜこれが>>207に影響するんだ???????
まぁ直ったからいいんだけど・・・

210:nobodyさん
12/06/25 11:54:22.20
違いはキャッシュぐらいじゃないの

211:nobodyさん
12/06/26 12:18:15.97
2を業務で使ってる人いる?

212:nobodyさん
12/06/26 12:31:08.88
はい

213:nobodyさん
12/07/01 00:01:58.85
ごめんちょっと教えて。

cake ver.1.x から cake ver.2 への移行ってメンドクサイ?

まだcakeに手をつけてなくて、
この移行作業が初めてなんだけど。

214:nobodyさん
12/07/01 04:39:16.82
authコンポーネントで嵌っています。
loginページでログインしてokだったらtopページにredirectさせているんで
すが、loginページとtopページはコントローラが別で、かつloginページは
https接続です。

loginページではちゃんとAuth->user()が取得出来るのに、topページだと
Auth->user()が取得出来ません(nullしか取れない)


215:nobodyさん
12/07/01 14:12:43.79
>>213
新規に作るのだけ2系にしたらどうだ?
移行は止めた方が良いと思う。

216:213
12/07/01 15:48:37.46
>>215
そもそもサーバのリプレースに合わせて、
PHPとDBのバージョンアップが主目的で、
PHPとDBをバージョンアップしたら、
もちろんcakeもバージョンアップでしょ、
みたいな感じなんだよね。

「移行は止めた方が良い」という理由を
簡単で良いので教えてくれると助かる。
よろしくおねがいします。

217:nobodyさん
12/07/01 16:05:30.07
マイグレーションガイド読んでテメーで判断しろカス
二度と来るな

218:nobodyさん
12/07/01 16:13:00.28
>>217
マイグレーションガイドっていうのがあるんだな?
そういうことは早く家カス

ってかお前ら暇だろ?
んで、その無駄な知識ひけらかす場所も此処ぐらいしかないんだから、
「二度とくるな」とか言ってないで答えとけよw

219:nobodyさん
12/07/01 16:19:14.42
暇じゃねえよ
ああ、まだ今日は6月31日

220:nobodyさん
12/07/01 17:03:43.04
>>216
「移行する時間とコストが無駄だから」

っていう幼稚園児でも分かる答えだと納得しないの?

221:213
12/07/01 20:30:48.36
>>220
残念ながら納得はしねぇんだなぁ。
「バージョン上げないとセキュリティ的にヤベェんじゃねぇの?」
っていう幼稚園児でもわかる動機があるのさ。
PHPが ver4 ⇒ ver5.2 は必達なわけよ。だとすると、cake ver2 は必須だろ?
もともとが cake ver0.2 とかで作られちゃってるわけで・・・

>>219 「今日は6月31日」のガンバリ屋さん
マイグレーションガイドちょっと目を通したわ・・・
けっこうめんどくせぇのな・・・
教えてくれてサンクス。
仕事がんばれ。死ぬな。

作りなおしを提案するかなぁ・・・・


222:nobodyさん
12/07/01 21:01:00.46
どなたか設計手法について教えてください。

例えばSNSのようなウェブアプリを作ったとして、
ログインしていると仮定します。

他のメンバー一覧画面から送信先の人の行で「メッセージ送信」ボタンをクリックすると
メッセージ送信フォームが現れるようにしたいのですが、送信先の情報はどのように送信フォームへ引き渡しますか?





223:nobodyさん
12/07/01 21:24:18.70
>>222
一覧にチェックボックスを配置して、そのチェックボックスにはメンバーIDを入れ、
送信ボタンを押した時に、選択したメンバーID宛にメールが送信されるように
するのはどうだ?

224:nobodyさん
12/07/01 22:06:48.14
>>223
なるほど、ナイスアイデアです!
配信先が配列(複数)になってもOKってことですね。

例えばAさんから来てるメッセージの内容表示画面(scaffoldでいうshow)で
返信するボタン押したときは
新規メッセージの編集画面(edit)へは
どのように送信先の情報は渡して
持たすべきですか?

hiddenフィールドにすべき?

getで渡したら送信先のidとかがURLに表示されますよね?
スパマーとかにそのURLのID部分だけ書き換えられてスパムメッセージされまくりが不安です。

225:nobodyさん
12/07/01 22:10:54.69
今MSAccessを使ってショボイ生産管理をしているんですが、知り合いのところで
PHP&Mysqlを使ったよさげなシステムを作ったのを見てPHPちょっとづつ勉強してます。

でも、PHPでいちからゴリゴリ作るのはどうもって事で、フレームワークを探してたら
こちらにたどり着きました。

Accessに慣れきった体にはMVCの概念を理解するのはちときついと思いますが、cake
何とかものにしたいと思ってこちらのレス眺めさせてもらってます。

で、時々思うのですが、Accessからスンナr移行しやすいフレームワークって何かないでしょうか?
なんだろうなぁって思うのですが、だめもとで聞いてみました。。。。。
お手柔らかにお願いします。

226:nobodyさん
12/07/01 23:19:29.72
>>225
イベント駆動とかってことなら、PRADOかな?
いまいち情報少ないし、素直にMS謹製asp.net web formsの方がいい気がするが。 .netも最近はasp.net mvcが多いみたいだけどね。

227:nobodyさん
12/07/02 00:46:19.94
>>226
情報ありがとうございます。
こちらも調べて見ます。でもやっぱりWebはMVCアーキテクチャを採用するものが多いようですね。
後学のために両方調べつつ勉強することにします。



228:nobodyさん
12/07/02 10:37:29.40
なぜcakeのスレで他のフレームワークを相談するかわかんねえわ

229:nobodyさん
12/07/02 10:44:53.79
嫌味だな

230:nobodyさん
12/07/02 13:11:26.77
どなたか>>224お願いします

231:nobodyさん
12/07/02 13:22:20.55
その質問cake関係ねえだろカス

getで渡したくなけりゃpostでわたしゃいいだろ。
スパマー?
getで渡そうが渡さなかろうが、悪意を持ってたらいくらでも送信出来んだろ
つまりそんなところの対策は連続送信対策を打てよ
送信者は不特定多数じゃなく会員ユーザーなんだからいくらでも対策打ちやすいだろ

232:nobodyさん
12/07/02 13:31:16.85
編集画面へ移動だけなんだからGETでいいだろ
それをポストする時に何らかの対策をすればいい話だしCakeと関係ないっていうのも全く同意


233:nobodyさん
12/07/03 02:25:30.52
>>230
「体系的に学ぶ 安全なWebアプリケーションの作り方」って本読め

234:nobodyさん
12/07/03 02:42:19.60
会員数10万人のサイトをCakeで作るかオレオレで作るか悩んでいるんだけど、
皆さんならどっちで作りますか?

開発工数が少なくなると言う意味でCakeでしょうが、
社内フレームワークもCakeを縮小した感じでそれなりに使えます。

ちなみに自分はディレなんでかじる程度にしか知りません。
明日の会議でどっちにするか決めなければ行けないのですが、
ずっと悩んで結論が出せずじまいです・・・。

235:nobodyさん
12/07/03 02:46:24.02
オレオレの方が細かくカスタマイズ出来るな。

236:nobodyさん
12/07/03 02:56:18.59
ですよねー。一応、CakeのMVCを元にしてまして
findすると連想配列で結果を得られるような形にはなっています。

ただ、簡易的にしようしていたので、SQLiteがベースなんですよね・・・
MySQL用に書き換えなければ行けないというのはネックかも。

会員数10万人もいてマッチングサイトっぽい事したいらしいから、
やっぱり出来るだけ柔軟性のある方が良いですよね

237:nobodyさん
12/07/03 03:00:21.64
会員制で100万人とかだとrailsのほうがいいですか?

238:nobodyさん
12/07/03 03:04:20.92
FW使って最後に舵取りできなくなって失敗しろや。

239:nobodyさん
12/07/03 03:51:07.40
こんな時間なのに2.x系の移行マニュアル読んでしまった・・・
そして読めば読むほどに移行したくなってきた

240:nobodyさん
12/07/03 13:57:06.57
そもそもsqliteで10万てキツそうだな

241:nobodyさん
12/07/03 14:58:28.86
なんで2.x系ってファイル・フォルダ名がキャメルケースで統一したんだろ?
アンダースコア使う方が見やすいと思うんだけどな
あと、ヘルパーも$this->Htmlになったし

242:nobodyさん
12/07/03 17:47:16.09
ヘルパー内部でのオブジェクト化はタイプ数は増えたけど管理しやすいんじゃないか?
この感覚になれるともう戻りたくはないわ。

それよりキャメルケース云々の件は、コントローラのURLがキャメルケースでもアンダースコアードでも処理できちゃうこと方が問題と思うんだが。
あと、メソッドをキャメルケースで書いてもテンプレートはアンダースコアードにしなくちゃダメというのも統一感が無いのが気持ち悪い。

243:nobodyさん
12/07/03 18:02:41.30
>>236
FW使ってやってみて。
破たんするのを実体験出来るから。

244:nobodyさん
12/07/03 18:14:27.84
FWってフレームワークの略称じゃないの?

245:nobodyさん
12/07/04 23:08:23.82
ドットインストールにcakeができたぞな。。。。。。

246:nobodyさん
12/07/05 00:03:24.00
それなりに規模があるんならsymfony使えや

247:nobodyさん
12/07/05 03:32:44.02
2系の情報が少ないからと敬遠してたけど、移行にそんなに困らないな。
ファイル名の書き方も成れたら気にならなくなった。
CakePHP辞典の人が執筆準備しているらしいから、
それが出たらもっと広まりそう。

248:nobodyさん
12/07/05 11:20:29.40
2.x使いだすと戻れないな。
1.3系のメンテの仕事やりたくなくなる。
コンソール周りがかなり使いやすい。

249:nobodyさん
12/07/05 15:30:36.25
俺、cakeでコンソールはほとんど使わないけど、
2.xはやっぱ処理が早い(気がする)のが良い
symfony使わなくてもそこそこの規模のサイトでも行けると思う

250:nobodyさん
12/07/05 19:53:28.39
cakephpってレコード件数増えると比例して重くなる?

251:nobodyさん
12/07/05 20:02:35.92
まずレコード件数に比例して速くなるデータベースを見たことが無い

252:nobodyさん
12/07/06 09:45:02.36
インデックスとクエリ次第だろう

253:nobodyさん
12/07/06 10:01:17.99
O(1/n)的なアルゴリズムを発見したら革命が起きるな

254:nobodyさん
12/07/06 12:03:53.00
会員同士のメッセージ機能を実装してみました。

連続スパム送信防止のために工夫すべきことって
最終送信日時から、どれくらい間隔が空いたかで制御するくらいかな?

255:nobodyさん
12/07/06 12:12:16.32
だからcake関係無いだろヴォケ

256:nobodyさん
12/07/06 12:29:13.37
Cakeに絡めるとすれば最低でもcaptchaのプラグインぐらいは導入すべき

スパマーは手動なのかスクリプトなのか知らんけど会員になるぐらいは普通にやってくるからな
「会員」なんて信用しちゃダメ


257:nobodyさん
12/07/06 12:39:27.43
>>256
メッセージ一通送る度にキャプチャ入力って面倒すぎない?

会員登録時はキャプチャを実装しておいて、
登録メールへアクティベート用リンクを送信してクリックされるとアクティベート。
ってだけで充分じゃないかな?

あとはメッセージ送信は30秒規制入れるとか。

スパマー対策はアクセス禁止フラグみたいなのを設けて、
そこだけ外出先からでも操作していけばいい。
さすがのスパマーも会員登録を1から、やり直しは面倒くさいでしょ。

mixiとかはどうしてるんだろうね

258:nobodyさん
12/07/06 13:30:50.02
てか、そんなことせずとも会員同士のやりとりだろ?
同じ会員が何回も同じ相手に送信できないようにすればいいだけじゃん。


259:nobodyさん
12/07/06 13:32:49.34
>>254
設計はどうなってるの?
日記みたいに単にメッセージが保存されるやり方だと
頻繁にやりとりがある場合、テーブルを圧迫すると思うけどな。
俺の実験では100万レコードだと重くなった。

260:nobodyさん
12/07/06 13:42:35.49
すれち

261:nobodyさん
12/07/06 18:17:40.37
>>259
メッセージがテーブルへ保存されつつ
サイドでsendmailってかんじです
会員は二万人は見込んでます

262:nobodyさん
12/07/06 18:29:08.63
>>261
サイドでsendmailってどういう意味?

263:nobodyさん
12/07/06 19:20:07.48
>>262
同じアクション内で
sendmailを使って送るって意味です

264:nobodyさん
12/07/06 19:25:42.25
いつまでスレチやっとんねんボケ

265:nobodyさん
12/07/06 20:17:11.89
2.2が正式に公開されたな

266:nobodyさん
12/07/06 21:29:21.31
はやく2の本出ないかなぁ

267:nobodyさん
12/07/07 00:19:34.25
2.2.0で何度試してもAuthのログイン失敗するんだが原因がわかった
IE8使っているからだ・・・他のブラウザならログインできた
IE8でもキャッシュ関係のファイルを削除したら表示された。

268:207
12/07/07 22:53:27.28
1.3使ってるんだが、Configureのdebugの値によって変わる挙動がわからん。
どっかにまとめて解説してるページないかな?

269:nobodyさん
12/07/07 23:01:01.45
1.3から頑張って2.2に移行するメリットある?
コストとメリットのバランス的に
メリットは主に少し速度改善するぐらい?まあそれでも1日程度で移行できるなら考えるんだけど

270:nobodyさん
12/07/07 23:30:12.12
>>269
1日じゃ無理

271:nobodyさん
12/07/08 00:56:39.14
2.xの勉強も兼ねてブログを作っているのですが、
ブログのサイドバーに「最新記事」とか「カテゴリ」の一覧ってありますよね?
例えばカテゴリ一覧を取得したい場合、ビューからrequestActionで
Categoriesコントローラにアクセスしてfindの値を取ると思うのです。

でもこれってコントローラ通すのおかしいですよね?
Categoryモデルに直接アクセスして取る方がスムーズだと思いますし、
カテゴリ表示用のページを用意しないのに、
Categoriesコントローラを通すのに違和感があります。

皆さんの場合ならどうしてますか?

272:nobodyさん
12/07/08 03:03:49.89
なぜそうしてるかというとrequestActionで取得したものをキャッシュにして、
つまり毎リクエストでカテゴリの取得はしてないってことでしょ?
いやならサイドカラムに表示する必要のあるアクションで、
直接Categoryモデルに取りに行けばいいけどデメリットもわかるよね?

273:nobodyさん
12/07/08 08:53:53.55
cakePHP導入を考えております。
直接関係ないかもしれませんが、ちょっとお付き合いください。
帳票を出力する部分は皆さんどのようにされてますか?
PDF作成してクライアントで印刷させるのが一般的でしょうか?
良い運用方法があれば教えていただきたく、、、、、

よろしくお願いします。

274:nobodyさん
12/07/08 09:36:17.34
スレ違い。
よそで聞け

275:nobodyさん
12/07/08 13:12:07.54
教えて君や初心者はCakePHPするなよ

276:nobodyさん
12/07/08 13:55:56.62
2.2.0のテストをしているのですが、エレメントキャッシュについて教えて下さい。

レイアウトにこんな感じで指定しているのですが、
echo $this->element('header', array(), array('cache' => '+1 minutes'));

キャッシュファイルが/app/tmp/cache/viewsではなく、
/app/tmp/cache以下に生成されています。

しかも1分後にキャッシュが削除されず、+1を+10に変えても一緒です。
なにかエレメントキャッシュの指定方法が変わったのでしょうか?

277:nobodyさん
12/07/08 14:46:02.27
>>276
ググれカス

278:nobodyさん
12/07/08 14:48:36.28
すぐにググレカスとか返しちゃう人は、ググって答が出てくるか確かめてから言ってんの?

279:nobodyさん
12/07/08 15:20:06.82
>>278
ググれカス

280:nobodyさん
12/07/08 15:24:21.86
>>278
ググれよ
似たようなことはほとんどが既に英語で出てる

まずは英語を勉強しろ

分からん奴はCakePHPするな


281:nobodyさん
12/07/08 15:40:45.06
と、日本語でほざいてる奴がいた

282:nobodyさん
12/07/08 17:15:18.29
だってお前に英語で言っても、理解出来ないだろ?

283:nobodyさん
12/07/08 17:55:38.61
英語ができる奴はこんなところにこないよ

284:nobodyさん
12/07/08 18:46:33.71
>>276
そのメソッドのAPIリファレンスみてみな
結構前にcache指定方法は変わってる

285:nobodyさん
12/07/08 19:33:27.90
>>284
URLリンク(book.cakephp.org)
を見ているのですが、正直よく分かりません・・・
1.3のように期間指定は出来ないんですかね

286:nobodyさん
12/07/08 21:17:45.95
それ読んでわからんなら辞めろマジで。
皿洗いのバイトでもしてろ

287:nobodyさん
12/07/09 21:07:45.01
惨めな人生送ってるからって、荒らして発散しないで欲しい

288:nobodyさん
12/07/10 01:47:19.18
いつものごとくRoRスレから出張しにきたんだろ

289:nobodyさん
12/07/10 02:09:16.62
284=286=おれだけど、
リンク先見てみろよ。全部書いてあんだろ。
なにごちゃごちゃ文句いってんの?
何か答えてあげる気になるならてめえで答えてやれよ。

290:nobodyさん
12/07/10 02:17:26.33
>>289
おい、クズやろう
てめぇはクズだ

291:nobodyさん
12/07/10 03:38:58.86
>>289
文句書いてません。ですが、本当に理解できないのです・・・。
なぜなら、キャッシュタイムの記述はどこにもないじゃないですか。
configとかkeyとか書いてありますが、これが何を指すのか書かれていません。

一日調べて、keyやconfigを数値にしたり、ソースも読みましたが、
私が求める>>276の要件が満たされません。ググても出てきません。
ググり方は「cakephp2 キャッシュ エレメント」です。


292:nobodyさん
12/07/10 03:49:07.16
>>290
はいはい黙れ
もしくは答えてやれっつってんの。

>>291
>Cache の設定についての詳細は /core-libraries/caching をみて下さい
リンクは切れてるけどどこを見ろと言ってるかはわかるよな?
URLリンク(book.cakephp.org)
durationが時間の指定な
keyは・・まぁわかるよね


293:nobodyさん
12/07/10 09:11:57.50
cakeめんどくせーよー
いみわかんねーよー
よくこんなんで開発できるな。

294:276
12/07/10 10:16:11.30
>>292
ありがとうございます!思い通りに出来ました!

まず、core.phpに
Cache::config('short', array(
'engine' => 'File',
'duration' => '+1 minutes',
'path' => CACHE . DS . 'views',
));

というようにキャッシュの指定をして、ビューのエレメントは
echo $this->element('header', array(), array('cache' => array('config' => 'short')));
のようにするんですね。

設定は少々手間ですが、自由度は上がったわけですね。
本当に助かりました。ありがとうございました。

295:nobodyさん
12/07/10 12:05:51.27
Cakephp厨って
どんだけ array( とか言ってるんだw
めんどくさい記載だよな

Railsとかだとスマートなやり方になりますが何か?

お前らのことを今度からArrayPHPと呼んでやろう

296:nobodyさん
12/07/10 14:17:59.13
独り言なら電車の中ででもやっててください

297:nobodyさん
12/07/10 14:29:19.52
arrayってcakeというよりphpの仕様じゃないの

298:nobodyさん
12/07/10 14:54:06.25
でもArrayPHPはいい名前だ。

299:nobodyさん
12/07/10 17:19:25.15
新しいバージョンのPHPを使っていい案件なら、とっくにcakeなんぞ捨ててるわ…

300:nobodyさん
12/07/10 17:46:48.84
俺はむしろCakeの規約じゃないと駄目な人間になってしまった
オレオレですらCake風の作り方してるし

301:nobodyさん
12/07/10 19:39:16.11
railsはrailsでversion管理がガチガチで使い難いところもあるのだよな

302:nobodyさん
12/07/11 10:10:46.64
ところでお前らcake好きなんか?嫌いなんか?どっちだ?

俺か?

俺は嫌いだ

303:nobodyさん
12/07/11 10:17:08.05
好きでも嫌いでもないがソース覗いてみると
もっとシンプルに効率的にやれよ…と思ってしまう

304:nobodyさん
12/07/11 11:07:39.91
railsはバージョン管理が糞すぎる

305:nobodyさん
12/07/11 14:34:57.59
>>302
俺は好きだな。他と比べるのは意見が分かれるだろうが
ZendやEthnaやsymfonyより分かりやすかった

306:nobodyさん
12/07/11 15:25:47.58
確かにSynfonyは辛い感じがあるな
シェア的には凄いんだよね?なぜだ

>>303
下位互換性のためでしょ

307:nobodyさん
12/07/11 15:26:14.09
ぶっちゃけ、1年ぐらい暇があれば圧倒的にCake以上のFW作れる気がする
けど、そんな時間はないからCake使ってる
他のに乗り換えるための暇さえ惜しい

308:nobodyさん
12/07/11 16:25:18.16
でも、2ちゃんで俺すげーする時間はあるんですね

309:nobodyさん
12/07/11 19:57:53.47
1年でcake以上のフレームワークだってよwwww
おめー頭おかしいんじゃねえの

310:nobodyさん
12/07/11 20:09:51.36
>>309
いやー、実はすごいハッカーなのかもしれないぞ。。。307は、、、
出たら使ってみたいのでぜひ作ってみてください。
楽しみにしてます。

311:nobodyさん
12/07/11 20:21:28.65
ハッカー???

312:nobodyさん
12/07/12 01:09:21.31
rails厨を煽って内乱起こすのが楽しすぎる件w

313:nobodyさん
12/07/12 10:08:14.58
時間は有効に使えよ

314:nobodyさん
12/07/12 17:47:58.28
>>309
たぶん1年あれば可能なんだよ。>>307 は1から作り直すとは言ってない。
(確かにフルスクラッチで一人でこれ以上のものって言うんなら頭おかしいとしか思えないが)
ただ、1年後にはそれ以上のものをほかの誰かが作ってる可能性の方が高い。
しかもそれが同じCakePHPである確率が一番高い。

315:nobodyさん
12/07/12 17:58:08.67
なぁ、こんなかでCake PHPのこと完全に理解してる人間て何人ぐらいいんの?

316:nobodyさん
12/07/12 18:12:23.77
マジレスすると、開発者の人も完全に理解していないと思う

317:nobodyさん
12/07/12 21:31:46.38
PHP勉強してたらcakeにたどり着いたんですが、お勧めの本とかありますか?
本家のチュートリアルも一応試してみているんですが、、、、

318:nobodyさん
12/07/12 21:56:25.63
>>317
和書は1.3以前のものしかない。
2.0で結構変わったんで、今から1.3以下をやる無駄を考えたら書籍からスタートは無駄が多すぎる。
学生さんとかなら、チュートリアルやったあと自分の作りたいアプリをCakePHPのルールにのっとって作ってたら?
その時肝心なのは、独自のアイデアを一切はさまずにCakePHPが敷いたレールの中で完結するようにすることじゃないかな。
まぁ俺自身が中途半端にオレオレをやった結果、そういう意見にたどり着いたわけだが。

319:nobodyさん
12/07/12 22:28:28.04
>>317
その前にPHPでいくつかシステム作った方が良いよ。
いきなりCakeやってもオブジェクト指向すら意味分からないでしょ
意味分からないまま学ぶより、基礎から学ぶ方が良い

320:nobodyさん
12/07/12 22:41:28.94
cakephpで継承という概念を覚えたにょ

321:nobodyさん
12/07/12 23:00:07.78
318様、319様
アドバイスありがとうございます。
PHP&フレームワークの思想を体で覚える必要があるっていう感じですね。
精進いたします。

322:nobodyさん
12/07/12 23:41:19.59
>>321
初心者しねよ

323:nobodyさん
12/07/12 23:59:43.47
cake2.0以降の本出てるよ…?

324:nobodyさん
12/07/13 01:04:46.59
Cake3.0はまだですか

325:nobodyさん
12/07/13 10:20:05.44
バージョン2の書籍って
オープンソース徹底活用 CakePHP 2.1によるWebアプリケーション開発
これ以外になんかある?

CakePHP辞典の人が執筆中だとかの話もあるようだけど。

326:nobodyさん
12/07/13 10:51:12.72
>>325 デザイナーのためのビューがなんたらっていうのがある

Cakeの書籍なんか作ろうと思っても、利益出しにくいんだろうな

あと今頃執筆してるようじゃ完成したころには3.0が出てるっていうオチじゃねぇかw

327:nobodyさん
12/07/13 12:24:32.89
CakePHP辞典は結構売れてるみたいだけどな。
何度か売り切れになっているのを目撃した。

とにかく2系のリファレンス出して欲しい。4000円ぐらいでも良いから。
cookbookは未完だし、ネット上の情報も少ないしな。

328:nobodyさん
12/07/16 02:52:38.46
>>319

なぁなぁ、巣のPHPでいくつかシステムつくってcakePHPを始めたら
>>318 の言ってる「CakePHPが敷いたレールの中」ってのに
やたらとイラつく事がおおいんだが、これは仕方が無いのかね?

ってか >>318 の「中途半端にオレオレをやった結果、そういう意見にたどり着いた」ってのが
ちょっときになるんだが、おそらく、それcake使いとしては正解だと思うんだ。
でもなぜ、自分を捨てて「CakePHPが敷いたレールの中」に入れたんだ?


329:nobodyさん
12/07/16 02:58:54.19
>>328
何を主張したいのか分からん。
どんな言語にしろ学問にしろ、基礎を学んで応用していくもんだろ?

330:nobodyさん
12/07/16 03:07:40.30
>>329
すまんわかりにくかったな。
言いなおそう。
一言でいえば「なんでフレームワークなんぞ使おうと思ったんだ?」ってことだ。

まぁ対象システムがcakeだったって、のが多いんだろうけどさ。

331:nobodyさん
12/07/16 03:11:53.19
逆になぜ車輪の再発明をしたがるのかを聞きたいぞ。

別にCakeじゃなくても目的に合うようなフレームワークは転がってるだろ。

332:nobodyさん
12/07/16 03:20:10.41
>>331
そうだな、Zendとかのほうが俺のスタイルには合ってるんだと思う。
だけど、「なんであんたはcakeを選んだの?」ってとこ。

それと車輪の話題だけど、
すでにある車輪が気に食わない。
軽自動車作ろうってのにトラックの車輪持ってこられてもなぁ・・って感じ。


333:nobodyさん
12/07/16 07:37:46.32
車輪の再発明ってcake等フレームワーク自体のこと言ってるんじゃないとおもうが?
フレームワーク使わない=そのフレームワークで書かれてるコードを自前で再発明
ってことだし。

334:nobodyさん
12/07/16 11:53:17.10
>>324
Bakery読む限り、あと半年もすれば出るんじゃないの?
最近開発スピード早くなったんか?

335:nobodyさん
12/07/16 18:43:19.49
通りすがりのものです。。。

そもそもcakeってどんなシステムを作ることを前提として
作られたフレームワークなんでしょうか?

業務システム(っていうと色々突っ込まれるでしょうけど。。。。。)
を構築するのに使った人っているんでしょうか?

336:nobodyさん
12/07/16 19:12:15.97
>>335
そもそも足し算という計算は、何と何を足すことを前提として
作られた計算方法なんでしょうか?

みたいな質問だな

337:nobodyさん
12/07/16 19:41:19.40
業務システム構築するのにバリバリ使ってますが何か?
具体的には書けないけど、誰もが知ってる某社のサイトとかCakePHPで作ったよ。

今現在も、誰もが知ってる大手外資金融の社員向けシステム構築でCakePHPを使
うか検討してる最中。でも流石にDBにMySQLは使いたくねーし、金が許せば本当
はASP.NET+C#でイキたいんだけどなー

338:nobodyさん
12/07/16 19:43:05.70
>>335
スタートはRORのPHP版だからROR板に行って聞いてくれば?

339:nobodyさん
12/07/16 21:12:01.33
>>335
よくあるWeb系システムじゃね?
会員制サイト、ECサイト、ブログなんかは良くサイト例として挙がるよ。

340:nobodyさん
12/07/16 21:20:24.32
もう3がでるのか
まだ2すら触っていないというのに

341:nobodyさん
12/07/16 21:52:48.54
5ぐらいになったら使うか、出たら起こしてくれ

342:nobodyさん
12/07/17 00:32:50.52
>>337
それちゃんと速度でてるん?
cakeとか使うとおそいんじゃねぇの?ってイメージがあるんだけど。


343:nobodyさん
12/07/17 01:43:00.22
もちろん遅いよ
鯖のスペックでカバーじゃないの

344:nobodyさん
12/07/17 02:10:14.43
ソーシャルゲームをCakeで作ったよ
ゲームをMVCに当てはめるの難しいな

345:nobodyさん
12/07/17 02:25:57.29
>>344
ウp汁

346:nobodyさん
12/07/17 02:39:34.70
どーでもいいけど、

日本ではなんで Drupal 流行んないの?
凄くよくできたCMSだと思うんだけど。



347:nobodyさん
12/07/17 02:54:19.19
宣伝不足だろ

348:nobodyさん
12/07/17 08:25:10.35
>>344
名前忘れたけど、どこかのスライドショーで公開してたよね?
確か、管理画面はCakeだけど、表のユーザが利用する箇所は
素のPHP+memcachedを使って速度を出していたはず

349:nobodyさん
12/07/17 10:08:42.34
俺のは全部Cakeだよ

350:nobodyさん
12/07/17 10:11:12.17
>>349
アクセスが集中するページはどうしてるの?普通にキャッシュ使うだけ?

351:nobodyさん
12/07/17 13:01:24.53
何もやってないよ
ゲームは更新が激しくて、キャッシュはほとんど使えないんだ

352:nobodyさん
12/07/17 13:09:05.17
>>347
Drupal マンセーのステマでもして広めようぜ

353:nobodyさん
12/07/17 15:55:28.65
>>346
スレ違い

だが、Drupalの発音がよく分からない、発音しにくい、キャラクターがあまり可愛くない
っていうのは最初の壁として地味に効いてる気がする。
一度突破すれば無関係になるんだろけど。

354:nobodyさん
12/07/17 16:35:41.09
俺の脳内で今の今まで「ドルフィン」って読んでた
よく見ると全然綴りが違うが

355:nobodyさん
12/07/17 18:06:08.91
Drupalスレが過疎り過ぎて誰もいないのでこちらで質問させて下さい。


Drupal7 でIMCEとCKEditorを使ったファイルのアップロード設定を行ったのですが
画像をアップロードしても何も表示されません、どこに落ち度があるのでしょうか?

そこでCKEditor上でIMCEの機能を使って
挿入した画像のパスを確認してみたところ次の様になっていました。

URLリンク(domain.com)

そもそも、この画像に対してブラウザ上からアクセスする事は出来るのか?
と思いアクセスしてみたところ次のエラーが出てしまいます。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Drupalをインストールしたディレクトリ上の .htaccess はコメントアウトしており外すとそもそも
コンテンツ自体の表示が出来なくなります。

#Options -Indexes
#Options +FollowSymLinks

困ってます。お助け下さい。

356:nobodyさん
12/07/17 18:19:22.87
>>355
頼むから止めてくれ。全く用途が違う。英語とフランス語並みに違う。

357:nobodyさん
12/07/17 18:25:57.57
>>356
Drupalスレマジで過疎ってるんですよ・・・
すごくよくできたCMSなのに・・・

世界ではメジャーなんだぜ!!

358:nobodyさん
12/07/17 18:31:46.37
>>357
問題をもっと細かく切り分けろ
問題の発生する状況を少し変えてどうなるかやって比較しろ

359:nobodyさん
12/07/17 18:38:23.96
>>358
IMCE入れてConfigureもちゃんといっていると推測出来る状態です。
なぜからファイルアップロードウィンドウが正常に起動しているからです。

IMCEで指定した画像ファイルへのパスは、
次の様になっておりサーバ上に画像ファイルもしっかり存在していました。

URLリンク(domain.com)

ブラウザから当該画像ファイルへ直接アクセスしようとして、
はじかれている事からアクセス制限回りが原因ではないかと疑っております。


みんなで Drupal 使ってもりあげてくれ!!

360:nobodyさん
12/07/17 20:41:07.36
なんか大変なことになってきたな、、、

Excelがフレームワークだっていいきる俺がきましたょ

361:nobodyさん
12/07/18 12:27:45.60
1.3使ってるんだけど、
フォームにエラーがあったときに
inputの下だけじゃなくて、
一番上に出たエラーをまとめたもの出したいんだけど、どうしたらいい?

362:nobodyさん
12/07/18 12:32:22.69
formヘルパーにエラーを出すメソッドがある。
APIリファレンス読んでみ

363:nobodyさん
12/07/18 13:09:03.23
<?php echo $form->error('hoge');?>
<?php echo $form->input('hoge', array('type' => 'text', 'error' => false));?>

364:nobodyさん
12/07/18 14:51:43.89
これCakePHPの問題かわからないけど、

<?php
echo $this->Form->create('User', array('inputDefaults' => array('label' => false)));?>

echo $this->Form->input('User.email');

echo $this->Form->input('User.password');
?>
こんな感じでPOSTデータ送ったら、
passwordだけすっぽり抜けて送られるんだが・・・
$this->dataに入れるときになんかやってるのかと思って、
$_POSTをdumpしてみたけど、やっぱりpasswordだけ送られてない
こんなこと初めてだ・・・お手上げ状態

365:nobodyさん
12/07/18 14:58:51.64
echo $this->Form->input('User.email');

echo $this->Form->input('User.password');
echo $this->Form->input('User.test1');

とかやってみると、最初のemailだけしか送られていない
ほかのページでも最初のinputだけがPOSTされているみたいです。。。

やばい・・・本番サイトなのに・・・どうしよう
検討がつかないのがほんとにやばい
誰か知恵を貸して下さい

366:nobodyさん
12/07/18 15:06:24.68
生PHPでPOSTするとちゃんと送信されているので、やっぱりCakePHPの問題だわ
最初のinputだけPOSTするってどういうことだ???

367:nobodyさん
12/07/18 15:14:20.96
CakeのFormヘルパーは使っちゃ駄目な機能の一つ
でも初めての時はわからないよね、俺もそうだった
とりあえずないものだと思って開発した方が捗る

368:nobodyさん
12/07/18 15:20:28.68
とりあえずCake使う時は、提供されてる機能を無理に使おうとしないことだ
ちょっと試して期待した動作しなかったらやめる
このポリシーで貫いて、ほとんど使える所がなかったらそれは駄目FWだから捨てる
(幸いCakeはそこまで駄目ではない

FWなんて工数短縮のためにあるもの(そしてそのメリット以外は犠牲にするもの)なのに、
機能を使うために時間を費やすなんて本末転倒だ

出されたご飯は全部食べたいのが人情だが、冷静になろう

369:nobodyさん
12/07/18 15:22:05.83
>>367
<?php
echo $this->Form->input('User.email');
?>
<label>パスワード</label>
<?php
echo $this->Form->input('User.password');
?>
<input name="data[User][test1]" type="text" id="UserTest1">
と書き換えてみましたが、
同じように最初のデータしか送信されませんでした


array(2) { ["_method"]=> string(4) "POST" ["data"]=> array(1) { ["User"]=> array(1) { ["email"]=> string(22) "test@gmail.com" } } }

というか、今まで正常に動いてたのが、急に動かなくなった、、、
確か何か作業したような記憶があるけど、MySQLのテーブルを消しただけだし、
ファイルいじった覚えがない・・・多分いじってしまったんだろうけど、
なんにせよこんな不可解な動きをして焦りまくってます;;;

370:nobodyさん
12/07/18 15:26:34.07
>>368
次からそうします
本番ですぐに動かさないと業務に支障きたしていて、
今から全部formタグに書き換えるのもちょっと時間が無いですね、、、

というか今まで動いてたのが、急に動かなくなったので、
原因がわかればすぐに戻せそうなのですが、、、
こんな根本的な動きが変わるってことはコアのファイルをいじらないと変わらない気がするんですが
そんなファイルいじった覚えがない、、、

371:nobodyさん
12/07/18 15:30:09.32
確実に覚えている作業は、
DBの要らないテーブル(test_*)を15テーブルほど消したことです。
ローカルと見比べても、間違えて消したテーブルはありません。

このテーブル消す作業はPHPMyAdminで行いました
この作業のときにコアファイルが壊れたとか??ありえないか・・・と思いつつ
cake/libを見ているんですがやはりとくに変わった様子はありません

372:nobodyさん
12/07/18 15:31:06.50
全文読んでないが、
動かないformだけformタグに置き換えるとかできんの

373:nobodyさん
12/07/18 15:31:26.25
>>367
馬鹿は消えろ

374:nobodyさん
12/07/18 15:35:23.32
>>369で問題はformヘルパーじゃないって分かったのに
>>370ではformヘルパー脱却を検討

ほんと馬鹿を増やすスレだわ

375:nobodyさん
12/07/18 15:35:56.07
>>372
動かないformというか、
全formが最初のinputしか送信していない状態ですね
なにか根本の部分で変わってしまったとしか思えない

376:365
12/07/18 15:40:41.14
>>375
語弊がありました
送信していないかどうかは定かではありません。
とにかく、
送信先のcontroller内で、
var_dump($_POST)とやると

array(2) { ["_method"]=> string(4) "POST" ["data"]=> array(1) { ["User"]=> array(1) { ["email"]=> string(22) "test@gmail.com" } } }

このように、1つのinputだけしか入っていません。

377:nobodyさん
12/07/18 15:41:03.59
>同じように最初のデータしか送信されませんでした
ってあるけどたとえば順番入れ替えてpasswordを先頭に持ってきたらpasswodだけ受け取れるのかよ?

378:nobodyさん
12/07/18 15:43:27.56
あと、cakeって$_POST書き換えたっけ?
webrootのindex.phpの先頭でvar_dump($_POST)すると何出るの

379:nobodyさん
12/07/18 15:43:49.81
どうせformがfromになってるとかだろ

380:nobodyさん
12/07/18 15:46:15.74
いやform->end()後に
$form->input(...)書いてました(てへぺろ
な展開だろ

381:365
12/07/18 15:55:03.20
なぜか直りました・・・まだなにもアップロードしていないのに・・・
わけがわからん・・・
いやここにいる人も僕以上にわけわかってないと思うのですが、
当人もわかっていません
まず
>>377 はその通りです。
>>379-380 は、全formが急にこうなっていたので、書き間違えなどは無いと思います。

>>378 ああ、それを試したかったですね・・・

不可解すぎて今日眠れそうにないです。。。

382:365
12/07/18 15:57:18.12
わけわかんねえええええええええええええ

まず
不可解1
最初のinputだけ送られる、
しかも全フォームで
という謎の挙動

不可解2
急に直る
まだなにもアップロードしてない

こええ・・・

383:nobodyさん
12/07/18 15:59:51.85
クライアントサイドがおかしいとしか思えないが?

384:365
12/07/18 16:01:21.18
>>383
と、思ってスマホでもPOSTしてみましたが、
最初のinputのみ送られていました

385:nobodyさん
12/07/18 16:32:06.06
キャッシュの問題とかじゃねーの

386:nobodyさん
12/07/18 16:52:26.92
>>360
おれはお前をすきになれそうだぜ。ゥホ。

387:nobodyさん
12/07/18 16:57:40.65
echo $this->Form->inputs(array('User.email','User.password'));

こっちだとどうなんだろ?

388:nobodyさん
12/07/18 17:49:20.92
phpの設定とキャッシュのせい

389:nobodyさん
12/07/18 18:04:13.59
動かなくなる前と後で何をしたのか記録に残してないとかいう時点で
Cake云々言う前に論外。

390:nobodyさん
12/07/18 18:20:44.17
ビューが吐き出したコードはどうなってんの?
必要最小限のコードでビュー(レイアウト含む)を作って、吐き出したコードさらしてみ?

あと中途半端にオレオレ入れるのって大抵時間とかが足らないので
仕様をよく理解できてないパターンだよな。
少なくとも FormHelper 使えないっていう人初めて見たわ。

391:nobodyさん
12/07/18 18:23:51.98
ファイルアップロードとかメール送信ならともかく、
フォーム関係でFormHelper使わずに何とかするって
それ、Cake使う意味無いだろw

392:nobodyさん
12/07/18 18:53:13.37
まぁ、時間とかが足らないんだろw

393:nobodyさん
12/07/18 18:56:47.21
>>368

>とりあえずCake使う時は、提供されてる機能を無理に使おうとしないことだ
>ちょっと試して期待した動作しなかったらやめる



>ちょっと試して期待した動作しなかったらやめる


>ちょっと試して期待した動作しなかったらやめる


>ちょっと試して期待した動作しなかったらやめる

>ちょっと試して期待した動作しなかったらやめる

>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる


なるほど、時間とかが足らないんだな

394:nobodyさん
12/07/18 21:00:57.07
頓珍漢な回答者ほど邪魔なものはない

395:nobodyさん
12/07/18 21:32:59.34
そんな自虐的なこと言うなよ

396:nobodyさん
12/07/24 23:11:24.05
>>362
> formヘルパーにエラーを出すメソッドがある。
> APIリファレンス読んでみ
ねーじゃん!!!1.3だよ?!

397:nobodyさん
12/07/24 23:34:02.18
>>396
どこを見てんの?2秒で見つかったぞ

398:nobodyさん
12/07/24 23:41:28.03
URLリンク(api13.cakephp.org)
いやないないない!ないだろ!
$form->error()じゃなくて、エラー全部出すやつだよ?!

399:nobodyさん
12/07/25 00:30:12.80
this->autoRender = false

にすると、全てのビューに関する処理は
スルーされるって認識で良いですかね?

400:nobodyさん
12/07/25 02:36:41.75
メソッド内で明示的に Controller::render() を呼び出さない限りはね。
※2.x以上しか知識ありません。念のため。

401:nobodyさん
12/07/25 02:38:31.88
いや待て、やっぱり「全てのビューに関する処理」ってのが気になるな。
Dispatcher とかが裏でゴソゴソViewクラスに値を渡したりとかはやってるよ?

402:nobodyさん
12/07/25 10:48:07.13
>>400-401
ビューをDBで管理しようと思いまして、>>399にすれば
余計な処理を実行させなくても良いのかな?と思っていました。


403:nobodyさん
12/07/25 11:51:23.40
>>398
おい、これどうなった!やっぱないのかい?

404:nobodyさん
12/07/25 20:40:10.91
>>403

viewの中でdebug($this);
あとはわかるな?

405:nobodyさん
12/07/25 22:22:16.55
>>402
きっとDispatcher周りの大改造が必要になるぜ

無理とは言えないが、かなり仕様を理解しないとだめだろうな

この程度の質問にすらすら答えられるようじゃないとドツボにハマるよ

まぁでもどうなるのか見てみたい

進捗を報告してくれ

406:nobodyさん
12/07/25 22:44:54.46
>>404
フォームヘルパーちゃうやん!!!!!

407:nobodyさん
12/07/25 22:56:14.30
なにをごちゃごちゃ言ってんだこのキチガイは
まとめたのを出すメソッドがないから何なんだ

408:nobodyさん
12/07/25 23:27:27.44
>>407
ちゃぶだいひっくり返すなよ^^;

409:nobodyさん
12/07/27 13:43:34.69 Ij5uT65n

-----
・名前を入力してください
・メールアドレスを入力してください
-----

名前[       ]
!名前を入力してください

都道府県[▼東京都 ]

メールアドレス[       ]
!メールアドレスを入力してください


inputの下には自動で出してくれるんですが、
一番上にあるようなエラーの一覧が欲しいんです
本当にお願いします。

410:nobodyさん
12/07/27 13:57:29.16
>>409
しつこい
>>404で解決済み

411:nobodyさん
12/07/27 14:01:38.23
たしかvalidationErrorsってのに入ってた気がする
>>404してvalidationErrorsで検索してみ

412:nobodyさん
12/07/27 15:54:14.68 Ij5uT65n
>>411
ありがとうございます。入っていました。
ただ、 $this->Model->validationErrors にアクセスできません
themeView に Modelオブジェクトが無いと言われます

413:nobodyさん
12/07/27 15:59:54.55
409が求めてるのは、$form->errorAll('Post')
みたいなメソッドが無いか?って事だろ?

で、結論としては「無い」んだよ。
>>409みたいなことがやりたいなら$form->errorを全て書くか
>>404をしろよ。そこをまずは納得しろ。

414:nobodyさん
12/07/27 16:11:56.02
2.0でちゃちゃっと今見てみたらviewのthis->validationErrorsに入ってあるんだけど、
1.3じゃあ入ってないの?

415:nobodyさん
12/07/27 16:11:58.09 Ij5uT65n
>>413
分かりやすい説明ありがとうございます。
無いんですね。

> >>409みたいなことがやりたいなら$form->errorを全て書くか
あ、これでいいですね。
$form->error('inpu1');
$form->error('inpu2');
$form->error('inpu3');
$form->error('inpu4');
まだ試してないですけど、こうやればおkですよね。

これでいきます。
ありがとうございました!

416:nobodyさん
12/07/27 16:13:04.99
それでいいのかよw

417:nobodyさん
12/07/27 16:27:39.79
敢えて俺にも言わせてくれ

それでいいのかよw

418:nobodyさん
12/07/27 17:06:53.00
>>404どころか>>362の時点で終わってた

419:nobodyさん
12/07/27 17:18:46.30
モデルのフィールド一覧を取得してループさせて、
コピペじゃない方法でやることもできそうですね
誰か頼みました!w

420:nobodyさん
12/07/27 17:21:02.41 Ij5uT65n
>>416-418
いや、エラー一覧を出してくれるのがベストでしたが、
無いというので、もうこれで妥協しました

421:nobodyさん
12/07/27 17:59:17.31 QJsfcWiv
Cakephp2.2を使っているのですが、
Authのログイン認証で手間取っています。
usernameとpassword以外にも、
certificationというフィールドが1かどうか、確かめさせてからログインさせたいのですが、

$this->Auth->userScope = array('certification'=>1);

をfunction beforeFilter()に追加しても、
実際のsql文的には追加されていないようで、certification関係なく、ログインできてしまいます。

どこがいけないでしょうか?


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