トップページphp
995コメント290KB

【PHP】フレームワーク CakePHP 13ホール目【v2.0】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2011/11/09(水) 01:05:10.60ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

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

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja

前スレ
【PHP】フレームワーク CakePHP 12ホール目【笑】
http://hibari.2ch.net/test/read.cgi/php/1309505626/
0002nobodyさん2011/11/09(水) 01:06:50.50ID:???
テンプレって何かあるの? いいよね別に
0003nobodyさん2011/11/09(水) 01:23:37.23ID:???
            ☆
            人
           ノ::oゝ
          ノ;;;;; ゝ
           ノ::o;;::。ゝ           __旦_
          ノ.: ::◎;::::ゝ         ∠二二二/\
          ノ..&, ,.....].ゝ""_~_~_~_~_~_(三三三三()三()
        /~,へニニニニ7 「从erry ]’mas |三三()三()ヽ
         !<介>  ,ヘ   .,ヘー―,ヘ―‐.,ヘ┘ ,ヘ .<介> i
.        |ヽ。.,,_ <介> <介>  <イト>  <介> <介>.,_,,。ィ
       |    ~~"""'''''''''ー―-゛-"-――'''''''"""~~  : :|
       |                                ::|
     人 |                                 ::|  人
   ,.(::0::)‐|                            ::|‐(::0::)-、
  ヽ__ ヽ。,,                      _,,。ィ ___ ノ
    /     人"''''''''ー―-――――''''' 人 "´    \
    (_ イ  ,(::0::)  へ    人  .へ  (::0::)   ト 、_ノ
       ヽ。  _/  .\  (::0::) ./  \_  _ノ
0004nobodyさん2011/11/09(水) 15:16:38.80ID:JcIEC3Dm
モデルの$this->query()ってSQLインジェクション対策してないよね?
0005nobodyさん2011/11/09(水) 17:21:49.26ID:???
してないわけねーだろうが
0006nobodyさん2011/11/09(水) 22:28:23.63ID:???
すれたておつ
0007nobodyさん2011/11/09(水) 22:39:39.64ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ 2.0の日本語訳まだなの
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)
0008nobodyさん2011/11/10(木) 00:22:15.33ID:tPbiz4Np
MySQLでカラム名をすべて大文字で作成した場合に
findしたときのカラム名もすべて大文字で返ってきてしまうんですが、
これを小文字で返ってくるようにするにはどうしたらいいですか?
テーブルを作り直すというのは無しで。
0009nobodyさん2011/11/10(木) 01:24:10.20ID:???
>>7
必要?
0010nobodyさん2011/11/10(木) 01:30:03.86ID:???
>>7
暇だからしてもいいんだけど、ここに書き込んだら日本語翻訳チームが採用してくれるかな
そもそも翻訳がどこまで進んでるのかわからないけど

ここで結構翻訳進んでるのにオフィシャルには反映されてないし、
cookbookの翻訳がどうやって進んでるのかわからんというので
翻訳協力者が進みにくい状況になってる気がする
http://hiromi2424.lv9.org/translate/cakephp20/
0011102011/11/10(木) 01:35:58.79ID:???
翻訳が進みにくい+協力者が集まりにくい
がごっちゃになってしもうた
0012nobodyさん2011/11/10(木) 02:14:16.02ID:???
翻訳したら本の出版依頼が来るかもしれないぞ。
ブログかwiki使ってやってみたら?
0013nobodyさん2011/11/10(木) 02:31:46.01ID:???
正確に翻訳するってむずかしいじゃん
0014nobodyさん2011/11/10(木) 03:42:25.89ID:???
http://book.cakephp.org/
http://book.cakephp.org/ja
1.3のドキュメントは編集できるようになってるけど
http://book.cakephp.org/2.0/en/
http://book.cakephp.org/2.0/ja/
2.0のドキュメントは編集できない
まだシステムが整備されてないとか言う問題なのかな

ドキュメントを読むとgithubのファイル修正したら公式ドキュメントに反映されるようにも書かれてるけど、
ドキュメントチームにメール送るかIRCで参加表明してくれとも書いてある
よくわからん
http://book.cakephp.org/2.0/ja/contributing/documentation.html

しかしgithubみると、今のところhiromi2424さんがほとんど翻訳してるんだな・・・
https://github.com/cakephp/docs

とりあえず明日github編集してみて、よくわからなかったら野良翻訳ブログでもやってみるわ
0015nobodyさん2011/11/10(木) 10:14:20.96ID:Y5PvVcC5
CakePHPってアソシエーション設定して普通に開発してると、
気がついたら1ページで100クエリ発行してたりするから困る
0016nobodyさん2011/11/10(木) 11:15:50.69ID:???
既出だとは思うがコンテイナブル ビヘイビアを使うと必要なアソシエーションだけに限定できる。
http://book.cakephp.org/ja/compare/1323/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%A4%E3%83%8A%E3%83%96%E3%83%AB
この場合recursiveは関係なくなるっぽい。
0017nobodyさん2011/11/10(木) 13:22:07.94ID:???
1ページで100クエリ、あるある
なんちゅーフレームワークだと思った
0018nobodyさん2011/11/10(木) 13:40:46.41ID:???
>>16
つまり、いちいちbindModelで付け足していくよりも、
最初からモデルにアソシエーションを書いて
そこから必要な分だけ取り出すって形かな。

それはそれで便利そうだけど、
「ユーザ」モデルに「日記」「写真」「プロフィール」とかの
関連モデルと結合する場合、bindModelの方が軽い気がする。
0019nobodyさん2011/11/10(木) 16:03:19.22ID:Y5PvVcC5
>>17
だからクエリ減らすために、
デバッグログをビューに出すやつで、
このクエリはこのファイルのここで実行された、みたいなログも一緒に出してくれたらいいんだけど
誰か方法しらない?
0020nobodyさん2011/11/10(木) 16:29:00.22ID:???
あれはCake専用のレイアウトじゃないと出ないのでは?

って事はないよな・・・個別に貼り付けできるはずなんだが
0021nobodyさん2011/11/10(木) 16:31:05.79ID:???
>>18
その例だとどうbindModelが軽いのかよく分からないが
コンテイナブルビヘイビアだと、順序やIDのつながり方をモデルのアソシエーションに集約できるから
普通は純粋にテーブルの取捨選択だけをcontainで指定すればいいし、順序を変えたいならcontainで上書きすることもできる。
0022nobodyさん2011/11/10(木) 17:29:24.47ID:???
>>19
てかコンテイナブル使っても何しても、CakePHPは入れ子の2階層までしかJOINしてくれない
だからそれ以上の階層になると、1レコードとってくるのに WHERE id = ??? のようにして1クエリ発行される。
JOINしたら1発で取ってこれるような情報でも、100クエリとか発行するのはそのせい
0023nobodyさん2011/11/10(木) 18:06:18.89ID:???
>>21
俺の出した例は大きく分けて2パターンの利用方法がある。
A:特定会員のコンテンツを取得
B:コンテンツ内のデータ(そのデータにユーザモデルをJOIN)

この場合、モデルにすべて書くと再帰的に複雑になるだろ?
AはUser→Diary、BはDiary→User
Aでfindした時、User→Diary→Userみたいになってエラーになる可能性がある。

だから、必要な時だけbidModelを使ってその都度足していけばいい
って考え方なんだけど、何か間違ってるかな?
0024nobodyさん2011/11/10(木) 20:46:02.54ID:???
>>23
A:
$this->User->id = $id;
$this->User->contain(array('Diary' => array('Article')));
$data = $this->User->read();
(Articleはおまけで付けた)

B:
$data = $this->Diary->find('all', array('contain' => array('User')));
いずれにしろ再帰はしない。bidModel書くのが手間ではないならそれでもいいと思うが。
0025nobodyさん2011/11/10(木) 23:20:49.30ID:???
>>22
findのjoinsオプション使うと明示的にJOINできるよ
デフォルトだとクエリ多発するのは確かにそうだね
でもhasManyのときはJOINにコストが結構かかるから、この仕様のほうが効率いいことが多いとかそんな話を聞いたことはある。
眉唾で聞いてたけど。
0026nobodyさん2011/11/10(木) 23:52:27.25ID:tPbiz4Np
CakePHP2.0でfindとかやったときの例外処理ってどのように記述すればいい?

try {
  $this->User->find('all', $params);
} catch (xxx) { ←ここら辺
  xxx     ←    
}
0027nobodyさん2011/11/11(金) 00:04:29.44ID:???
>>25
joinsってなんかうまく動かないの俺だけか
joinしたテーブルの下にjoin付けられる?
0028nobodyさん2011/11/11(金) 01:43:52.72ID:???
付けられるぞ。
アソシエーション云々考えなければ、
joins使う方が一番思い通りに出来るよ。
0029nobodyさん2011/11/11(金) 01:54:38.67ID:???
翻訳ブログ立ち上げたとたん>>14の2.0向けドキュメントが消えている
なんてこったい
0030nobodyさん2011/11/11(金) 02:05:21.30ID:???
>>29
本当だ。復旧すると思うが吹いたw
0031nobodyさん2011/11/11(金) 02:48:32.46ID:???
設計について質問させてください

例えばmixiでいうコミュニティーをユーザーが作れるとします。

コミュニティー作成者(管理人)は
設立段階で、
メンバーになる人達がコミュニティーに登録する際、
コミュニティー内で利用する
メンバーIDのフォーマット(バリデーションパターン)を指定する必要があります。

メンバーIDのフォーマットはどんなパターンにも
応じられる仕組みにしたいです。

例えば

コミュニティーAでは 477-794-954 のような(数字三桁)-(数字三桁)-(数字三桁)フォーマット

コミュニティーBでは英数半角なら何でもOK

コミュニティーCでは47472のような数字五桁


上記のようにメンバーIDは多岐に渡ります

こういった場合はどのようなテーブル設計、
またフローで対処するのが一般的ですか?

コミュニティー内でのメンバーリストでの
メンバーIDによるソートなども考えて実装したいところです。
0032nobodyさん2011/11/11(金) 03:50:10.89ID:???
メンバーIDのフォーマットを選ばせるってのがよくわからない。
そこがすでに一般的じゃないからなんとも。
0033nobodyさん2011/11/11(金) 03:51:04.82ID:???
むずかしすぎてわからないぜ
0034nobodyさん2011/11/11(金) 06:01:26.02ID:???
JsHelper使って$this->Js->request();を使いjavascriptでアクションを呼び出しました。

methodをgetにするとレスポンスが返ってくるのですが、postにするとレスポンスが返ってきません。
原因なにかわかりませんか
0035nobodyさん2011/11/11(金) 08:30:54.84ID:???
>>32
メンバーIDのカラムは一つだけど
コミュニティーごとにバリデーションパターンが違って
コミュニティ作成者が指定出来るようにすることが出来るのか?ということです。
0036nobodyさん2011/11/11(金) 08:54:22.87ID:???
>>31
バリデーションルールをcustomにして、customバリデーションの中でコミュニティー毎にルールを書けばいい
0037nobodyさん2011/11/11(金) 09:11:59.03ID:???
>>35
beforeValidation使えば出来ると思う
0038nobodyさん2011/11/11(金) 09:32:54.02ID:???
CakePHP1.3系の自作behaviorについて
詳しく説明されているサイトをご存知の方いらっしゃいませんか?
独自のbehaviorを作成するにあたって、参考にしたいんですが
なかなか、細かく説明されているものが見当たりません
0039nobodyさん2011/11/11(金) 10:46:14.70ID:???
>>36
一般ユーザーが簡易に
バリデーションパターン(コミュニティー管理者任意)をフォーム画面からカスタマイズさせるのって
どういう形で入力させるのが
一般的なんでしょう?

あまり、この手のものは前例を見たことがないので
0040nobodyさん2011/11/11(金) 11:20:05.05ID:???
Cake1.3のSessionについて質問

初回のみURLにOAuthパラメータが付加されてくるのでチェックして認証できたら
$this->Session->write( $key, $params );
と保存。
これ以外にはどこにもSessionにwriteするコードはない。

2回目以降のアクセスでセッションを読む。
$this->Session->read( $key );
すると空になっている。

調べてみると初回の認証成功の後に、2つほど新しいキーで空っぽの値が保存されている。

これは何が起きていてどうすれば直るのでしょうか。
ぐぐってCAKE_SECURITYを変えたり、RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$をやってみたけど駄目でした。
0041nobodyさん2011/11/11(金) 22:11:48.35ID:???
jsもできないとうまく使えないかな
0042nobodyさん2011/11/12(土) 04:22:28.06ID:???
じつはセッションに保存してなかったとか
0043nobodyさん2011/11/13(日) 18:01:49.24ID:???
CakePHPのフォーラム活気がないんじゃないの?
ふつうあんなものなの??
0044nobodyさん2011/11/13(日) 18:15:00.75ID:???
登録してハンドルで投稿するのがめんどい
無責任に書くつもりも無いけど、名前背負ってまで書き込みたくない

というのは2chみたいな匿名コミュニティに慣れてる人には多いんじゃ無いだろうか
0045nobodyさん2011/11/13(日) 18:27:05.63ID:???
Railsのスレのほうが活気ないから
CakePHPに移ろうかと思うんだけど
日本でのシステム構築はどちらが有利?
シェアとか利点とか
0046nobodyさん2011/11/13(日) 18:34:37.07ID:???
はいどうぞ
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
1 1 Java 17.874% -0.63% A
2 2 C 17.322% +0.61% A
3 3 C++ 8.084% -1.41% A
4 5 C# 7.319% +1.61% A
5 4 PHP 6.096% -1.72% A
6 8 Objective-C 5.983% +2.79% A
7 7 (Visual) Basic 5.041% -0.43% A
8 6 Python 3.617% -2.06% A
9 11 JavaScript 2.565% +0.90% A
10 9 Perl 2.078% -0.39% A
11 10 Ruby 1.502% -0.40% A
12 20 PL/SQL 1.438% +0.78% A
13 13 Lisp 1.182% +0.09% A
14 15 Pascal 0.991% +0.21% A
15 21 MATLAB 0.955% +0.32% A--
16 12 Delphi/Object Pascal 0.872% -0.77% A
17 23 ABAP 0.847% +0.25% A--
18 22 Lua 0.635% +0.02% A-
19 16 Ada 0.622% -0.07% B
20 19 RPG (OS/400) 0.620% -0.04% B
21 Logo 0.592%
22 Transact-SQL 0.550%
23 Visual Basic .NET 0.533%
24 Assembly 0.529%
25 COBOL 0.522%
26 Scratch 0.522%
27 R 0.500%
28 Scheme 0.453%
29 NXT-G 0.447%
30 Fortran 0.440%
0047nobodyさん2011/11/13(日) 18:40:37.21ID:???
単純にRuby的なのが好きならRails、PHP的なのが好きならCakeという選び方でいいよ

php frameworkのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Ccodeigniter%2Csymfony%2Czend+framework%2Cyii&ctab=0&geo=all&date=all&sort=0
cake, symfony, rorのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Csymfony%2Cruby+on+rails&ctab=0&geo=all&date=all&sort=0

日本だけ見ればcakeの圧勝だな
しかしrailsがこんなに先細ってるとは知らなかった
0048nobodyさん2011/11/13(日) 21:24:33.67ID:???
世界的に見ると、Yiiの伸びがすげーのな。
日本だとcakeの圧勝だけど。
0049nobodyさん2011/11/14(月) 12:21:32.77ID:???
YiiとCodeintegerスゲーじゃんと思いながら調べていくと
結局CkakePHPに戻ってしまう
0050nobodyさん2011/11/14(月) 13:08:59.45ID:???
>>49
理由は?
0051nobodyさん2011/11/14(月) 13:13:03.72ID:???
>>50
日本語に対する情報の差
0052nobodyさん2011/11/14(月) 13:18:47.14ID:???
そんなに英語嫌なの?
アホなの?
0053nobodyさん2011/11/14(月) 13:22:04.04ID:???
>>52
yes
0054nobodyさん2011/11/14(月) 13:41:19.30ID:???
まぁ良いフレームワークならユーザーも増えて情報も増えていくだろう
Yiiはかなり有望だと思うよ
0055nobodyさん2011/11/14(月) 13:47:56.50ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ 有望だけじゃなにがいいかわからない
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)

0056nobodyさん2011/11/14(月) 14:43:27.05ID:???
>>55
・シンプル
・軽い
・柔軟
・だけど大規模もいける
0057nobodyさん2011/11/14(月) 15:38:26.16ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ CakePHPもおなじじゃないのか
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)
0058nobodyさん2011/11/14(月) 17:55:25.43ID:???
CakePHPは日本語情報が相当そろってるでしょ。
個人のブログでも盛んに発信されてるし。

Yiiは有望なんだろうけど、いかんせん個人での発信者が少ない気がする。
開発画面のフッターはかっこいいと思う。あれは使いやすい。
0059nobodyさん2011/11/14(月) 18:04:58.31ID:???
CakePHP辞典のようなリファレンス本があればいいのにね。
やっぱネットで調べるよりも本を見ながらの方が開発しやすいし。
0060nobodyさん2011/11/14(月) 18:57:00.77ID:???
皆は


会員登録
メールによるクリック本登録
パス忘れたときのメールによる再発行

なんかは自分で作り込んでるの?
0061nobodyさん2011/11/14(月) 18:59:56.98ID:???
いらないだろ
0062nobodyさん2011/11/14(月) 19:22:07.74ID:???
>>61
どういうこと?
0063nobodyさん2011/11/14(月) 19:24:44.69ID:???
>>61はいらない子
0064nobodyさん2011/11/14(月) 19:55:45.54ID:???
>>60
自分で作り込んでるの?ってどういう意味だ?
誰かが作った物をそのまま流用してるって事か?
そんなわけねーだろ。
0065nobodyさん2011/11/14(月) 20:59:16.72ID:???
>>60
この一連のユーザー登録機能、
フレームワークによっては標準搭載もあるよな。
0066nobodyさん2011/11/14(月) 21:09:29.55ID:???
んじゃ、CIやYIIって
cakephp+ktailiblary以上に携帯サイト作りやすいの?ん?
0067nobodyさん2011/11/14(月) 21:18:38.51ID:???
>>60
adminが登録するタイプの案件しかやった事ない。
0068nobodyさん2011/11/14(月) 22:03:24.22ID:???
みんな携帯サイトつくってばかりということか
0069nobodyさん2011/11/14(月) 22:25:25.56ID:???
>>60
自分で作ったよ。CakePHPで。

テストも自動化したかったから、
ニセのSMTPサーバー作ってそこに送信→ファイルに保存。
それみてCakePHPについてたブラウザをエミュレートするモジュールが
クリックなんてことしたなぁ。

もう3年以上前になるかな。今なら便利な何かがあるかもね。
0070nobodyさん2011/11/14(月) 22:32:22.79ID:???
Ktai Libraryって個人が作ってるショボいやつでしょ?
絵文字の対応が弱かった気がする
0071nobodyさん2011/11/15(火) 00:30:41.57ID:???
Modelにvalidateを記述してもスルーされてしまうんですが、何故でしょうか?

<?php
class Contact extends AppModel
{
var $name = 'Contact';
var $useTable = false; //データベースのテーブルを使用しない

var $validate = array(
"name" => array(
"rule" => 'notEmpty',
"message" => '名前を入力してください'
),
);
}
?>

コントローラ
function index() {

if ($this->data['Contacts']['mode'] == 'confirm') {
if (!empty($this->data)) {
$this->Contact->set($this->data);
if ($this->Contact->validates()) {
$this->render('confirm');
return;
}
$this->render();
return;
}
  (以下略)
0072nobodyさん2011/11/15(火) 00:47:02.01ID:???
>>71
>var $useTable = false;
↑こういう場合は、$_schema を設定する必要があった気がする。

var $_schema = array(
'name' => array(
'type' => 'string',
),
);
0073nobodyさん2011/11/15(火) 01:42:34.79ID:???
>>70
setしたデータがあってるか、validatesする前にvar_dumpしてみたら?
ContactsとContactがごっちゃになってそうだけど。
0074nobodyさん2011/11/15(火) 01:56:03.33ID:???
>>47を見る限りCIはタガログ語とインドネシア語の情報が豊富そうだぞ
まずはそっちの語学学習からだな
0075nobodyさん2011/11/15(火) 13:30:08.83ID:???
>>71
俺みたいにappを分けてて、
modelファイルも同一の物があるんじゃねーの
0076nobodyさん2011/11/15(火) 15:55:39.02ID:???
CakePHP2.0でhelperを読み込んだらviewからしか開けません
これってふつうですか?controllerから前は呼べた気がするんですが
0077nobodyさん2011/11/15(火) 16:51:27.77ID:???
前からもコントローラーでApp.importしたが
0078nobodyさん2011/11/16(水) 13:56:38.50ID:???
test
0079nobodyさん2011/11/16(水) 14:58:38.98ID:???
CakePHPの勉強会いってるひといる?どうですか
0080nobodyさん2011/11/16(水) 15:21:00.48ID:???
単なる馴れ合いです
0081nobodyさん2011/11/16(水) 15:29:23.74ID:???
勉強会でコネ作れればいいんだろうけど、俺は毎回孤立するか、名刺交換しても連絡取らないからな
まあ自分みたいなアマグラマーは少ないからしょうがないと思ってる
0082nobodyさん2011/11/16(水) 15:58:04.21ID:???
連絡取るってことは=金が発生するって事だからな。
大の大人がただの情報交換で連絡取り合うのはあり得ないし。
0083nobodyさん2011/11/16(水) 17:21:51.07ID:???
さ、寂しいこと言うなよ。
僕は>>82君の声を耳元で聞きたくて連絡取ってるわけだし、いつだって君のことを見てるよ
0084nobodyさん2011/11/16(水) 18:33:51.99ID:???
まじかよ。行く気がへっちゃったよ
0085nobodyさん2011/11/16(水) 19:42:09.06ID:???
相手が自分と相応の知識持ってたら、無償の情報交換も成り立つんだけどな。
0086nobodyさん2011/11/16(水) 23:57:11.46ID:???
viewについてですが条件分岐が多くてif文だらけになるんですが
なんかスマートなやりかたってありますかね
0087nobodyさん2011/11/17(木) 01:07:02.88ID:???
>>86
viewファイルわけるとか?
0088nobodyさん2011/11/17(木) 01:26:10.05ID:???
そういうのはうちでは全部盛り込んだ。
0089nobodyさん2011/11/17(木) 01:44:12.36ID:???
なにを盛り込んだのよ
0090nobodyさん2011/11/17(木) 08:49:19.09ID:???
ど、どくを・・・
0091nobodyさん2011/11/17(木) 08:55:55.80ID:???
>>86
まず、何に対する条件分岐か書けよ
0092nobodyさん2011/11/17(木) 11:17:06.59ID:???
>>86
ヘルパーにまとめちゃえば
0093nobodyさん2011/11/17(木) 12:51:19.33ID:???
viewからコントローラーやモデルを呼び出すことはできますか?
0094nobodyさん2011/11/17(木) 12:52:51.10ID:???
出来ます
0095nobodyさん2011/11/17(木) 13:44:18.21ID:???
>>93
そうしなくちゃいけない設計がマズイ
0096nobodyさん2011/11/17(木) 23:19:43.07ID:t9LRBQJB
一つのIPに対してバーチャルホスト切って運用する場合に
ドキュメントルートってcakephp/app/webrootでいいの?
トップはいいとして他のページを表示しようとすると
Not Foundになっちゃうんだけど。
ちなみにcakephp直下をドキュメントルートにするとうまくいく。
0097nobodyさん2011/11/17(木) 23:46:36.11ID:???
cakePHPを最近使い始めました。
mod_rewriteを使って、実際のパス名と違うパスでアクセスさせているんだけど
paginatorで作成されるURLが、実際のパス名のほうになってしまいます。
どこかの定数を変更したりすれば上手く行くでしょうか?

htdocs/foo/app/webroot/index.php
こんな感じで index.php を置いているとして、でも各種都合により
実際のリクエストは
http://domain.com/bar/baz/controll1/action1
こんな形で来ます。
このとき、mod_rewriteで^/bar/bazを/foo/に置き換えているんだけれど
このときmod_rewriteのフラグに[PT]を入れないと画像などがHelper経由の画像のパスが、
/var/foo/というような、おかしなものになってしまい
[PT]を入れるとpaginatorで生成されるURLが/foo/になってしまう。

ざっと見た感じでは、問題はDispatcherなのかと思うんだけど
app下のファイルでうまく設定は出来ないでしょうか。
0098nobodyさん2011/11/18(金) 01:01:53.98ID:???
>>96
バーチャルホストのドキュメントルートを、各のドキュメントルート直下を指定するといい。
0099nobodyさん2011/11/18(金) 01:18:37.03ID:???
>>97
mod_rewriteは基本触らないでRouterでやった方がいいと思うんだけど
0100nobodyさん2011/11/18(金) 01:56:17.73ID:???
>>98
「各のドキュメントルート直下」というのは
例えば、/var/www/cakephp/のこと?
それとも、/var/www/cakephp/app/webrootのこと?
0101nobodyさん2011/11/18(金) 12:40:48.58ID:???
/var/www/cakephp/
これでいいのでは?
cakephp標準で.htaccessが付いてるし。
0102nobodyさん2011/11/18(金) 17:11:19.32ID:???
2.0でhelperからcomponentを呼びたいのでやりかたおしえてください
あとcomponentからhelperを呼ぶようにするのとどっちがいいですか
0103nobodyさん2011/11/18(金) 23:01:21.82ID:???
普通にPHPクラスを作って、両方から呼び出してください。
0104nobodyさん2011/11/18(金) 23:12:54.03ID:???
CodeIgniterがライセンス変更されて使いづらくなったらしいけど
Cakeは大丈夫かな?使い始めてから突然変更されたらかなわんな
0105nobodyさん2011/11/19(土) 00:00:44.70ID:???
>>104
CIは会社が作ってるんでしょ。
0106nobodyさん2011/11/19(土) 00:07:58.71ID:???
>>99
mod_rewriteが使えるならRoutesよりmod_rewriteが推奨のように見えます。
http://cakephp.jp/old_doc/ch04s03.html

> "Routing"(ルーティング) は、(中略)見栄えの良い URL (pretty URLs) をより設定しやすくし、
> mod_rewrite がなくても動くようにするため、 Cake に追加されました。
> しかし、 mod_rewrite を使用するなら、アドレスバーははるかに整理されます。
0107nobodyさん2011/11/19(土) 01:45:52.06ID:???
>>104
今cake使っててCIかyii浮気しようと思っていた俺は、浮気先が一つになったので選ぶ必要がなくなった
オープンソースの宿命だから、そのときはそのときでしょうがない
0108nobodyさん2011/11/19(土) 02:37:10.19ID:???
なんで浮気しようと思ったの?
0109nobodyさん2011/11/19(土) 02:40:13.80ID:???
>>106
えとね。mod_rewriteは○○○ってURLを×××に変えることはできるけど、
×××を○○○に変えることはできないんだよ。
0110nobodyさん2011/11/19(土) 08:14:03.03ID:???
オープンソースの宿命なの?
あとから規約変えるとか詐欺だろ
0111nobodyさん2011/11/19(土) 10:01:41.28ID:???
最近はてブでFuelPHPってのが話題にあがってた
触ってみた?
0112nobodyさん2011/11/19(土) 11:11:45.38ID:???
>>109
mod_rewriteで出来ないことまでやろうとしてるんじゃなくて、
mod_rewriteとRoutes両方で出来ることなら、
mod_rewriteでやったほうがいいんじゃないか。
>>99はmod_rewriteは基本触らないという意見のようなので。
0113nobodyさん2011/11/20(日) 02:41:49.47ID:???
>>111
そんなに便利そうに思えないんだよな。
オレオレの域を抜けてないというか
0114nobodyさん2011/11/20(日) 14:33:03.47ID:???
CodeIgniterが死亡した今Yiiとの一騎打ちになったか
0115nobodyさん2011/11/20(日) 14:54:00.52ID:???
>>111
触ってない
「CIより多少マシ」というコメントがついていたけど、まさにそんな感じだと思った
CIも結局盛り上がらなかったし、既にCakeとかSymfonyというフレームワークがある状況だと、
いいフレームワークが出来てもいかにそれを流行らせるかが問題だと思う
暇そうなプログラマー雇って提灯記事とドキュメントの日本語訳書かせまくるしかないんじゃない?
0116nobodyさん2011/11/20(日) 17:11:02.58ID:???
なんで訳さないといけないんだよ
お前らが英語勉強しろよ
0117nobodyさん2011/11/20(日) 20:29:27.21ID:???
Cakeが流行ったのは提灯記事のおかげだったのか
0118nobodyさん2011/11/20(日) 23:38:02.20ID:???
いいえ、提灯ではない記事のおかげです
0119nobodyさん2011/11/21(月) 01:16:55.48ID:???
>>117
cake初期の頃ブログ書きまくってたけど、「CakePHPがRoRに対抗するフレームワークになるんだ!俺がそうするんだ!」
みたいな変な使命感もってやってたよ
今はすでにPHPでフレームワークがたくさんある、しかもCakeなどのメジャーになったモノがたくさんある状況で
新規のフレームワークに手を出す人は少ないだろうから、まずはそのフレームワークのエヴァンジェリストが必要なんじゃ無いかと思う
0120nobodyさん2011/11/21(月) 01:22:56.17ID:???
>>119
確かにCakeの記事は玉石混交しててバリエーション豊かだった気がする。
Zend Frameworkとかもあんま流行ってる感じしないしな。
0121nobodyさん2011/11/21(月) 01:38:56.62ID:???
cakeネタで書こうと思えばいろいろあるんだけど
twitterとか使い出したら、なんかわざわざブログに書くのめんどくなったよ
0122nobodyさん2011/11/21(月) 12:40:46.36ID:???
Cake1年ほど業務で使ってみたけど
開発スピードは速い
実行スピードは遅い
バグは多くも少なくもない
という印象
0123nobodyさん2011/11/21(月) 16:18:29.64ID:???
俺も同じ意見。
実行スピードの遅ささえ解消されれば、最強なんだがな・・・
0124nobodyさん2011/11/21(月) 17:47:44.03ID:???
Controllerからviewヘルパーを呼ぶと
Fatal error: Call to a member function hoge()がでてしまいます

コントローラには
$helpers = array('Hoge');
とかいて
$this->Hoge->hoge();
と書いているのですが
0125nobodyさん2011/11/21(月) 17:49:18.81ID:???
コントローラー内で呼ぶ場合、newしないとだめだよ。
0126nobodyさん2011/11/21(月) 18:19:23.29ID:???
>>125
ありがとうございます

$this->Hoge = new HogeHelper();
このように書いたら
Fatal error: Class 'HogeHelper' not found が$this->Hoge = new HogeHelper();と書いた行ででてしまいました
最初に読み込んだりしますか

0127nobodyさん2011/11/21(月) 18:50:56.58ID:???
App::Importしないと。
0128nobodyさん2011/11/21(月) 19:17:30.73ID:???
>>127
ありがとう
できなかったからもう寝るお
0129nobodyさん2011/11/21(月) 19:25:32.67ID:???
なぜにググることすらしないのか
0130nobodyさん2011/11/21(月) 19:34:10.21ID:???
馬鹿だから
0131nobodyさん2011/11/21(月) 21:57:23.12ID:hMc6lKUo
LinuxでPHP5.3.6をソースからコンパイルして使ってるんですが、
CakePHPの内部でfindメソッドの戻り値にモデル名をセットしている箇所に問題があり、
モデル名の代わりに0がセットされるようになってしまい困ってます。

原因はPDOStatement::getColumnMeta()でtable名が返ってこないためです。
ちなみにxampp環境のPHP5.3.8だと問題なく動作しているのですが、
PHP5.3.6に問題があるのでしょうか?
0132nobodyさん2011/11/22(火) 02:47:37.72ID:???
ソースからコンパイルなんてするの
0133nobodyさん2011/11/22(火) 03:02:58.10ID:???
オプションいろいろ付けたかったらするでしょ
0134nobodyさん2011/11/22(火) 17:28:20.16ID:???
>>131
このことじゃね
https://bugs.php.net/bug.php?id=54695
0135nobodyさん2011/11/23(水) 19:20:56.88ID:vIVNUlWb
hetmlhelperで相対パスにリンクを張ったらhttpのアドレスからだとhttpにリンクが張られてしまうんですが、
httpsに張るようにするには絶対パスしかないですか?
0136nobodyさん2011/11/23(水) 20:28:32.14ID:???
>>135
Htmlヘルパーを拡張したMyHtmlヘルパーを作ればいいじゃない。
0137nobodyさん2011/11/23(水) 20:35:14.55ID:???
舞Htmlヘルパー
0138nobodyさん2011/11/23(水) 21:13:39.19ID:???
app_html.phpかな。
0139nobodyさん2011/11/25(金) 01:36:56.19ID:???
CakePHPでサイト作るとしたらふつうだいたい何ヶ月くらいかかるの
0140nobodyさん2011/11/25(金) 01:41:51.95ID:???
自分で学習して作るのか、外注して作るのか、作るサイトの規模はどれくらいかとか書いてくれないと、ピンキリとしか言いようが無い
0141nobodyさん2011/11/25(金) 02:01:33.59ID:???
OpenPNEのようなSNSを自分で作る場合はどのくらいかかりますか?
0142nobodyさん2011/11/25(金) 03:48:39.39ID:ms97YqHe
http://libro.tuyano.com/index3?id=8005&page=6
このとおり作ってるんだが、「送信」押すと、
Create the class ResultController below in file: app\Controller\ResultController.php
ってエラーがでる。
0143nobodyさん2011/11/25(金) 05:54:25.81ID:???
Cakeのwebrootにあるcss.phpて動作してる?
App::import('Vendor', 'csspp' . DS . 'csspp');とかやってるけど、そんなもの存在してない気がするんだが
0144nobodyさん2011/11/25(金) 05:55:26.54ID:???
Cakeのwebrootじゃなくてapp/webrootだった
0145nobodyさん2011/11/25(金) 12:05:59.37ID:???
>>142
そのサイトの他ページは見てないからviewがどうなってるのか知らないけど、
フォームの送り先URIがおかしいのでは。
0146nobodyさん2011/11/25(金) 12:08:23.24ID:???
>>143
cssppをダウンロードしてVenderにぶち込めってことじゃないの
css.phpのコメントにでも書いてあると思うが
0147nobodyさん2011/11/25(金) 12:47:14.66ID:???
>>139
画面数と機能数で概算出してみたら?
0148nobodyさん2011/11/25(金) 13:42:47.07ID:???
      / ̄ ̄ ヽ,
    /        ',
    |   {0} /¨`ヽ、
    l      ト.__.i●
    ノ      ー─'
   ノ         ',
●をダブルクリックするとクチバシが伸びるぞ!




人人人人人人人人人人人人人人人人人人
)                         (
)      伸びるわけねーだろ!      (        _/\/\/\/|_
)            ,rrr、           (        \ 試したやつ  /
⌒Y⌒Y⌒Y⌒Y⌒Y| |.l ト⌒Y⌒Y⌒Y⌒Y⌒Y/つ)))    <   バーカ!  >
           ⊂ ヽ | __ ☆   __  _/ 巛      /          \
     / ̄ ̄ ヽヽ ,`ー   \ | |l / \  __つ      ̄|/\/\/\/ ̄
   /{゚} 、_   `ヽ/|| ,  \.|||/  、 \   ☆             / ̄ ̄ ヽ,
  / /¨`ヽ {゚}   |  /  __从,  ー、_从__  \ / |||         / 丶 /   ',
  | ヽ ._.イl     ',/ /  /   | 、  |  ヽ   |l      ノ//, {゚}  /¨`ヽ {゚} ,ミヽ
   、  ヘ_/ノ    ノ/ )  `| | | |ノゝ☆ t| | |l \      / く l   ヽ._.イl    , ゝ \
   \___ ノ゙ ─ー  `// `U ' // | //`U' // l  / /⌒ リ   ヘ_/ノ   ' ⌒\ \
         /   /   W W∴ | ∵∴  |   (   ̄ ̄⌒          ⌒ ̄ _)
        /    ☆   ____人___ノ    ` ̄ ̄`ヽ           /´ ̄


0149nobodyさん2011/11/25(金) 14:26:37.82ID:???
>>145
遷移しなかったのですが、一応解決しました。
原因は、
フォームの
<form method="post" action="./result">
↑ここがおかしかったみたいです。
0150nobodyさん2011/11/25(金) 23:22:16.42ID:???
CakePHP2.0について
■app/Model/Test.php
<?php class Test extends AppModel{public $name = 'test';}
■app/Controller/TestController.php
<?php class TestController extends AppController{function index(){$test = $this->Test->find('all');debug($test)}}

データベースはSQLiteに設定してありますが、データベースを使わず、
モデルTest.phpに書いた変数$nameの値をコントローラから読み込みたいのですが
Fatal error: Call to a member function find() on a non-object
というエラーが出て困ってます
どなたかアドバイスお願いします
0151nobodyさん2011/11/26(土) 02:11:47.02ID:???
cakephp使ってるやつはもっとブログいっぱい書いてくれ。使い方がよくわからないし
0152nobodyさん2011/11/26(土) 02:19:26.62ID:???
>>146
見たけどなんも書いてないし
こういう作りかけで放置?みたいなのがCakeにはちょこちょこ見られて嫌だな
0153nobodyさん2011/11/26(土) 14:40:10.29ID:???
>>152
2.0ではcss.phpは無くなってるし、全体的にちぐはぐだった部分が整理されてきてる感じ
0154nobodyさん2011/11/26(土) 15:54:08.70ID:???
>>150
よくわからんが
Test.phpはtest.php
TestController.phpはtests_controller.php
じゃないのか。
0155nobodyさん2011/11/26(土) 23:26:54.50ID:???
>>141
たぶんその質問をするレベルからなのだろうから、集中してやっても半年
下手すれば3年
0156nobodyさん2011/11/27(日) 03:43:00.02ID:???
勉強するために本を購入しようと思ってるんですけど、
お勧めの本とかを聞くのはスレ違いですか?
もし平気ならお勧めの本を教えてください。
0157nobodyさん2011/11/27(日) 07:48:03.99ID:???
「奉仕を主とする事業は栄え、利得を主とする事業は衰える」
「ほかの要因はさておき、我々の売上は、ある程度賃金に依存しているのだ。
より高い賃金を出せば、その金はどこかで使われ、ほかの分野の商店主や卸売り業者や製造業者、
それに労働者の繁栄につながり、それがまた我々の売上に反映される。
全国規模の高賃金は全国規模の繁栄をもたらす」

奥田 碩(日本経団連名誉会長 元トヨタ自動車会長)
0158nobodyさん2011/11/27(日) 17:45:35.50ID:???
>>156
CakePHP辞典とネットの情報でおk
0159nobodyさん2011/11/28(月) 06:13:25.61ID:???
>>158
PHPは何となくわかるんだけど、ビジネスロジック?をmodelにどう書いたらいいかとかがわからない、、。
ネットで調べてもDBのアクセス方法とかしか載ってないし・・・。
0160nobodyさん2011/11/28(月) 11:15:11.72ID:???
>>159
おいおい、その程度の知識かよ・・・
それなら「はじめてのMySQL」的な本とかかって、DB回りを勉強しろよ。
MVCについても全く概念が無いようだから、
ネットの解説記事を見て、オレオレフレームワークでも作る練習しろ。
その後にCakeやった方が捗るよ。
0161nobodyさん2011/11/28(月) 13:01:50.72ID:???
知識なんていらないからね
0162nobodyさん2011/11/28(月) 13:52:41.35ID:???
必要なかったら本買わずにソースだけ見てやってください
0163nobodyさん2011/11/29(火) 15:55:46.38ID:???
echo $this->Form->input('birthdate',array('type'=>'date'));

上記で出力した項目のValidationについて教えてください。
上記で年・月・日のドロップダウンリストが出力されます。
2011・2・31を選択して保存すると、2011-03-03として保存されます。
ありえない日付を選択されたのでエラーとしたいのですが、標準でできますでしょうか?
0164nobodyさん2011/11/29(火) 16:27:20.48ID:???
>>163
モデルの$validateでruleをdateにしたらエラーに出来ないか?
0165nobodyさん2011/11/29(火) 23:21:26.10ID:xETpRXat
Viewの必要のないXMLを返すような場合に
Viewを作らずにすますにはどうすればいいですか?
0166nobodyさん2011/11/30(水) 01:08:19.68ID:???
>>164
dateルールだとできません。
0167nobodyさん2011/11/30(水) 01:46:38.75ID:???
>>160

オレオレフレームワークのつくりかたどっかにないかな
0168nobodyさん2011/11/30(水) 02:02:38.21ID:???
>>167
ちょっと古い記事ですが
http://blog.syuhari.jp/archives/172

テーブルからデータを取得するコードはモデルにメソッドとして書いて
コントローラで取得して、ビューに渡すという流れです
0169nobodyさん2011/11/30(水) 11:57:10.26ID:???
>>166
俺のところでは出来るが

>>168
これ、ページネーション(paginate)を使いたい場合は使えないんだよな・・・
0170nobodyさん2011/11/30(水) 13:04:25.29ID:???
>>169
すみません、バージョン教えてもらえますか?
こちら2.0です。
0171nobodyさん2011/11/30(水) 16:17:33.31ID:???
バージョンだわ。俺は1.3系使ってるし。
0172nobodyさん2011/11/30(水) 22:39:37.21ID:???
いよいよ2.0の話題が増えていくのか
0173nobodyさん2011/12/01(木) 01:14:05.48ID:???
app/webroot/files/sample.phpから
app/views/layouts/layouts.ctp
を参照したいんですけど、相対パスってどうなりますか?
0174nobodyさん2011/12/01(木) 01:15:41.08ID:???
むずかしいもんだいだね
0175nobodyさん2011/12/01(木) 01:19:47.08ID:???
すみません../../views/layouts/でいけました
webrootなので複雑に考えてました
0176nobodyさん2011/12/01(木) 01:36:07.41ID:???
逆にlayouts.ctpから参照するときは
files/sample.phpなんですね
0177nobodyさん2011/12/01(木) 21:07:27.25ID:???
2.0系って、従来のプラグイン使えるのかな
移行ガイドにはそのあたり触れられてないのが気になる
0178nobodyさん2011/12/02(金) 02:48:35.30ID:LODTi230
CakePHP + Oracleってあまり相性良くない?
Oracleってオートインクリメント使えないんだけど
CakePHP側でうまくやってくれるとか?
0179nobodyさん2011/12/02(金) 04:44:28.87ID:???
そもそも使えるの?
0180nobodyさん2011/12/02(金) 22:19:51.28ID:???
オートインクリメントが使えなかったら
RDBMSとして成り立たないだろ。
お前があほなだけ。
0181nobodyさん2011/12/02(金) 23:44:46.73ID:???
Oracle側でシーケンスとトリガーでやります
0182nobodyさん2011/12/03(土) 00:46:21.36ID:ewJKbRKA
CakePHP2.0でSqlite3のファイルにアクセスしたいんだけど
どうもうまくいきません。以下のようなエラーが出ます。

Missing Database Table
Error: Database table xxx for model Xxx was not found.

もしかして、CakePHP2.0ではsqlite3のファイルにアクセスできない?
0183nobodyさん2011/12/03(土) 00:51:11.36ID:???
Missing Database Table って言ってんだろw
0184nobodyさん2011/12/03(土) 09:33:17.39ID:???
>>182
Model.phpが無いんじゃないの?
cake bakeしてみたら。
0185nobodyさん2011/12/03(土) 13:53:22.68ID:???
CakePHP辞典の人が2.0バージョンも出してくれたらいいのにな。
今は明らかに情報が足りなすぎる。
0186nobodyさん2011/12/03(土) 16:12:59.14ID:???
>>182
eat cake, PDO版 SQLite3 を使う
http://miztools.so.land.to/php5_list/eat_cake/cake2/edit/sqlite3
0187nobodyさん2011/12/04(日) 01:19:55.36ID:???
sqliteいいの?mysqlしかつかったことない
0188nobodyさん2011/12/04(日) 02:29:45.94ID:???
システムが違う。
sqliteはテキストデータにRDBMSっぽい書き込みをして使用する。
0189nobodyさん2011/12/04(日) 02:37:58.60ID:vxdOAUX9
sqliteはPHP5からのデフォルトバンドルだぜ?
しかもDBサーバを立てることもなく一つのファイルで完結だ。
俺はこんないいものを知らない。
0190nobodyさん2011/12/04(日) 02:43:31.05ID:???
同意せざる終えない。使い勝手良すぎ
0191nobodyさん2011/12/04(日) 15:48:53.97ID:???
app/app_controller.phpを作って、
function beforeFilter(){
echo '<!--'.$this->params['controller'].'-->';
}
とやってみたんですが、特定のコントローラだけ$this->params['controller']で出力されません
何が原因なんでしょうか?
他とその出ないコントローラの違いで思い当たるのはそのコントローラにもbeforeFilterが指定してあることくらいです
01921912011/12/04(日) 15:50:38.27ID:???
>>191に追記です
コントローラ値が空なだけだと思ったら、どうやたapp_controller自体実行されてなかったようです
(普通に文字を出力させてもでませんでした)
御教示いただけたら幸いです
0193nobodyさん2011/12/04(日) 15:54:37.24ID:???
>>191
コントローラ内のbeforeFilter内で
parent::beforeFilter();
ってやってる?
01941912011/12/04(日) 16:19:33.30ID:???
>>193
それでした
app_controllerを作ったのがはじめてだったので、決まりごとを理解してませんでした
ありがとう御座いました
0195nobodyさん2011/12/07(水) 14:22:49.37ID:XLyuG92u
cakephp 1.3.13を使ってcakeError()の情報をXMLで返したのですがうまくいきません。
通常のデータは以下のようなことでViewをXMLにしています。
var $helpers = array('Text', 'Xml');
public $components = array('RequestHandler', 'Security');
function beforeRender() {
$this->RequestHandler->respondAs('xml');
$this->viewPath .= '/xml';
$this->layoutPath = 'xml';

しかし、app_error.phpに
function errorXXXX($params) {
$this->helpers[] = 'Xml';
if ($this->controller->RequestHandler->isXml()) {
$this->controller->RequestHandler->renderAs($this->controller, 'xml');
}
$this->controller->render('errors', 'default');

とやってデバッグすると、内部の$outに正常にXMLが入っているのですが、クライアント
にわたりません。なにか特別のことをしなければならないのでしょうか。
0196nobodyさん2011/12/07(水) 17:18:20.77ID:???
検索処理で該当データなしの場合、「(検索条件)に一致する情報は見つかりませんでした。」みたいなメッセージを出力させたいのですが、
どこにどう記述するべきでしょうか?Controller?View?
0197nobodyさん2011/12/07(水) 18:02:05.03ID:???
View
0198nobodyさん2011/12/07(水) 21:33:41.84ID:???
Viewに決まってるだろ
0199nobodyさん2011/12/07(水) 23:38:47.74ID:???
>>196
controllerかmodelで分岐させて、controllerでset
viewの出したい箇所に変数を<?php echo $message ?>
0200nobodyさん2011/12/07(水) 23:41:58.93ID:???
>>199
いや、View内で分岐だろ
02011992011/12/07(水) 23:45:59.78ID:???
うちはmodel::findのif(empty($data))の分岐でviewに渡す文字列またはarray。
viewの方にもif(isset())で文字列またはarray(リスト表現)
0202nobodyさん2011/12/08(木) 01:31:10.64ID:???
CakePHPはPHP5.3に完全対応できないだろうな。
PHP5.3の恩恵を受けることのできるフレームワークはfuelphpしかない。
CakePHPの時代も終わりか。
0203nobodyさん2011/12/08(木) 01:32:48.80ID:???
>>202
スレあるんなら誘導してくれよ

【php】fuelphpについて語ろうぜ
http://hibari.2ch.net/test/read.cgi/php/1321843505/
0204nobodyさん2011/12/08(木) 01:37:07.11ID:???
アクセス修飾子にvarが使われてる時点で、すごい気持ち悪い。
0205nobodyさん2011/12/08(木) 02:27:45.30ID:???
DebugKit、2.0の環境で使えてます?

LAMP環境で
var $components = array('DebugKit.Toolbar');
とAppControllerに書くと、画面が真っ白になる・・・
xampp環境だと問題ないんだけど。
0206nobodyさん2011/12/08(木) 02:47:03.37ID:???
Lithiumはどうなったのよ
0207nobodyさん2011/12/08(木) 09:13:39.91ID:???
Cakeオワコン過ぎ
技術情報とかぐぐっても2009年とかの前のバージョンの記事しか出ないし
便利なプラグインなんかも大体その頃に作られてて、今は放置
大きめの英語の掲示板で技術質問をしても、1日1個の書き込みもない過疎っぷりでレスが付かない
おワットる
0208nobodyさん2011/12/08(木) 10:23:40.21ID:???
逆に他のフレームワークだと書き込みは多いのか?
0209nobodyさん2011/12/08(木) 16:08:22.57ID:???
以前のような盛り上がりは無くなったね
っていうか、前のバージョンでもさほど動作が変わらないから書き直すほどでも無いしなあ…
でもそういうバージョンの違いがあってもちょっと直すだけで動くと言うことを新規参入者は知らないから、
今から始めようという人には不親切な環境かもね
cookbookも日本語になってないし
0210nobodyさん2011/12/08(木) 16:27:06.15ID:???
えー
find('all')かfindAllかとか、大きな違いで戸惑うと思うけどなあ
他にも色々変わっていて困ったことがあった
0211nobodyさん2011/12/08(木) 18:21:25.83ID:???
>>210
そのくらいは最初にブログチュートリアルで学ぶかマイグレーションガイド見てください
0212nobodyさん2011/12/10(土) 06:31:35.05ID:dP9DBevc
早く2.0のcookbook日本語化しろよ。
どんだけ情報少ないんだよ。
ちんたらしてるとユーザー逃げるぞ。
0213nobodyさん2011/12/10(土) 19:52:45.95ID:???
よっしゃ、まかせろ!
0214nobodyさん2011/12/10(土) 21:39:38.00ID:XSFB8P6r
掲示板に画像UPの機能付けようとしてて、現在メディアプラグインを
使おうとしてるんですがうまくいきません。
「The file cannot be transferred from or to location.」と表示されて
先に進めず、力量不足で問題の切り分けもできない状態です・・・
メディアプラグインを使われてる方、アドバイスお願いします。

現在の環境はMacでXAMPP,php5.29,cakephp1.3,mediaplugin1.3です。
0215nobodyさん2011/12/11(日) 02:28:53.15ID:???
>>214
使ったことないからわからんけど、軽くググった感じだと、たぶんファイルの書き出し先がちゃんと指定されてないんじゃね
0216nobodyさん2011/12/11(日) 18:29:54.09ID:???
ログイン機能があったのですがChromeだけセッションが保持されなくなってしまいました。
なにか原因としてかんがえられますか
02172162011/12/11(日) 19:19:22.12ID:???
すみません
Cookie削除したら解決しました
0218nobodyさん2011/12/11(日) 20:39:39.12ID:???
>>213
まだですか
0219nobodyさん2011/12/11(日) 20:56:58.63ID:???
>>215
レスありがとう御座います。
現状を報告すると、
xamppのtempフォルダまではちゃんと、ファイルが上がってました。
しかしそこからプラグインが指定している、weroot/media/transfer/img/
フォルダには移動されていませんでした。
パーミッションを777にしても駄目だったので今からソースを追ってみます。

進展があったらまた、こちらに報告します。
0220nobodyさん2011/12/11(日) 21:06:56.91ID:???
>>219
パス間違えました
webroot/media/transfer/img/ です。
02212152011/12/11(日) 21:11:51.64ID:???
>>220
サーバー側までファイルは来ていて意図するところに書き出せないと言うことは、やっぱりそういうtypo系のミスじゃないかなー
あとはファイルを置くディレクトリの階層浅くして別のところに作って試してみるとか
0222nobodyさん2011/12/11(日) 21:43:21.91ID:???
>>221
少し進展があったのでご報告します。

今までチュートリアル系のブログを見ながら試していたのですが
最新のヘルプを見るとadd.ctp(登録用view)に追加する記述が変わっていました。

今まで
echo $form->create('Hoge',array('action'=>'add','type'=>'file'));
echo $this->element('attachments', array('plugin' => 'media'));

新しい
echo $form->create('Hoge',array('action'=>'add','type'=>'file'));
echo $form->input('file', array('type' => 'file'));

新しいもので試した所、ファイルはアップロードされていましたが
$hasManyで設定したテーブルにファイルの情報が保存されていませんでした。

----
プラグインの制作者様が細かいバージョンで仕様変更されているようなので
注意して進めていきたいと思います。
また、進展がありましたら報告します。
0223nobodyさん2011/12/12(月) 11:11:03.41ID:???
Cakeの実行速度が遅いので、なるべく急いで他のフレームワークに移行したい場合
おすすめがあるとしたら何でしょうか?
移植のしやすさと得られるパフォーマンスの改善のバランスが良いもの
んなもん経験者にしかわからんと思うが、もしいたら
0224nobodyさん2011/12/12(月) 11:29:31.97ID:???
なるべく急いで他のフレームワークを取得できるなら
Cakeの実行速度を上げる方法を学んだ方が良いですよ。
0225nobodyさん2011/12/12(月) 13:18:51.48ID:???
>>223
どこがネックで遅いのか書くとより良い回答が期待できると思う。
どこがネックかもわかってないなら、まずやることはフレームワークの移行ではない。
0226nobodyさん2011/12/12(月) 13:33:57.79ID:???
App::import()が遅いです
02272222011/12/12(月) 15:26:43.56ID:???
メディアプラグインで画像アップロード機能を実装しようと
してましたがもう無理です。
添付されたヘルプと、ソースを追って行った時の処理が違うので
修正する為のコストが多すぎます。

こんな事なら最初から全部自分で書けばよかった。
0228nobodyさん2011/12/12(月) 16:38:37.11ID:???
こんなガタガタのフレームワーク使ったら、そうなるわな…
MVCの本当に基本フレームワークとしては普通に使えるから
それ以上の機能は自分で書いた方がいい
0229nobodyさん2011/12/12(月) 17:46:20.08ID:???
てか、画像アップロードの仕組みってそんなに難しくないんだから
自分で作ればいいのに。フレームワーク使う前の関数・クラスとかあるだろ。
0230nobodyさん2011/12/12(月) 17:57:52.56ID:???
フレームワーク使うと、何故かフレームワークの機能を使わなくちゃならない気分になるんだよな
俺もCakeのヘルパーとかプラグインとか最初試して、結果試した時間は全部無駄になったな
結局自分で作って元気に動いてるよ
0231nobodyさん2011/12/12(月) 18:14:26.06ID:???
App::import()が遅いなら普通にinclude・requireすればいいのと一緒だな
0232nobodyさん2011/12/12(月) 18:22:41.27ID:???
CakePHPで、DBが死んでる時はこっちのコントローラに分岐ってことをやりたいのですが
DB接続できないとモデルのコンストラクタがエラーになって、そこで処理が止まっちまいます

これを避けるにはcake以下を直接書き換えるしかない?
0233nobodyさん2011/12/12(月) 22:02:32.47ID:???
pluginは有志開発だから、過剰な期待しちゃいかんよね
0234nobodyさん2011/12/12(月) 22:15:59.53ID:???
メディアプラグインは2.0でうごくん?
02352222011/12/12(月) 22:21:11.57ID:???
>>229
セキュリティ的にちゃんとした物が書ける自信がなかったので
プラグイン使おうと思いました。
>>230
今回は裏目に出たけど、他人のソースを読めてよかったと思う事にします。


画像うpについては↓のプラグインがさくっと動いたので今回はこれで行く事にします。
ttps://github.com/fusic/filebinder
制作者様(?)の解説動画↓
ttp://zenpre.net/p/Gacui

では、名無しに戻ります。お騒がせしました。
0236nobodyさん2011/12/12(月) 22:26:02.72ID:???
>>234
1.3でぼろぼろだから2.0は厳しいと思う。
作者がgithubで「自分の為に作ってるプラグインで、今忙しいごにょごにょ」
って言ってたから自分で修正できないならやめとけ。
0237nobodyさん2011/12/13(火) 10:15:11.41ID:???
結局、誰の助言も聞かずに自分で探して終了か。
画像アップロード如きで「セキュリティが〜」とか言っちゃう奴が
他人の作ったプラグインをすんなりと受け入れるというのが
おかしいとは思わないんだろうな。

頑なに意思を変えないなら、人に質問しなきゃ良いのに。
0238nobodyさん2011/12/13(火) 11:31:08.57ID:???
なんか陰湿でキモい
0239nobodyさん2011/12/13(火) 15:08:02.43ID:???
うかつに質問も出来ないこんな2ちゃんねるじゃ
0240nobodyさん2011/12/13(火) 15:53:33.42ID:???
自分で分かるならわざわざ質問するなとは思わないか?
0241nobodyさん2011/12/13(火) 16:19:08.03ID:???
>>239
ぽいずん
0242nobodyさん2011/12/14(水) 00:20:14.28ID:???
>>240
自分の中で80くらいがんばって無理だったらネットで質問しつつ後の20の努力をする。
質問に回答もなく、後の20がんばっても無理だったら諦めて違う方法を模索する。
0243nobodyさん2011/12/14(水) 01:34:17.83ID:???
いや、回答出してるじゃん
0244nobodyさん2011/12/14(水) 17:39:11.08ID:???
CodeIgniterは覚えたからCakePHPも覚えたいと思うんですけど難しいよ
0245nobodyさん2011/12/14(水) 17:40:34.96ID:???
モデルってデータベースに接続しないといけないの?
モデルに変数でデータを入れててコントローラーからそれらの変数を取得ってできないの?
0246nobodyさん2011/12/14(水) 17:41:52.04ID:???
グローバル変数みたいなことか?出来ると思うけど。
あと、データベース使わなくても使えるよ。
0247nobodyさん2011/12/14(水) 23:57:19.24ID:???
Railsのせいでモデル=データベースの1テーブルって
間違った考えが広まってしまったよな。
0248nobodyさん2011/12/15(木) 00:06:20.83ID:???
4
0249nobodyさん2011/12/15(木) 03:00:05.66ID:???
モデル名とコンポーネント名が重複してるとコンポーネントの方が優先されてモデルにアクセスできなくなるのって仕様?
UserモデルがあるところにUserコンポーネントも作っちゃうと$this->User->save()とかがundefined methodになってしまう
0250nobodyさん2011/12/15(木) 11:44:42.72ID:???
同名ならそりゃそうだ
0251nobodyさん2011/12/15(木) 11:46:40.70ID:???
またCakeの関数と重なるアクション名を付けてうまく動かなかったよ
すぐ参照できる一覧とかねーのかよ
つーかPHPてnamespaceないわけ?なにこの糞言語
0252nobodyさん2011/12/15(木) 12:26:04.28ID:???
>>251
PHP5.3以降ではnamespace使えるけど、
Cake2.0は動作環境にPHP5.2系も入れてるので互換性のために仕方ない部分もあるのでは。

FuelPHPみたいに最初からPHP5.3以降で作られてるやつはコアでnamespaceサポートされてたりするし。
0253nobodyさん2011/12/15(木) 13:24:42.38ID:???
PHPって後からつけたしつけたし、つぎはぎみたいな言語だし
フレームワークは苦労するわな
0254nobodyさん2011/12/15(木) 17:12:04.31ID:???
>>250
やっぱそうなのか
一つのモデルに対して、同名のコントローラーとコンポーネントを作れると名前がそろっていて綺麗なんだがなあ・・・

たとえばUserModelに対してeat_cake_countをアップデートする処理とかはUserComponentに書きたい
そういうときはUsersComponentって名前にすればいいのかな
なんかその辺のコンポーネントの分け方(ネーミングルール)のセオリーみたいなのがよくわからないんだよね
UpdateComponentって分け方にすると、とんでもなく巨大なファイルになりそうだし
0255nobodyさん2011/12/15(木) 17:32:59.52ID:???
それはモデルに書くべきじゃないの?
コントローラーは薄く、モデルは厚く
0256nobodyさん2011/12/15(木) 18:14:13.62ID:???
>>251

せめて

function actionIndex()
function actionView()

みたいな作りになってればいいんだけどね。
0257nobodyさん2011/12/16(金) 13:25:33.43ID:???
Modelの中身が突如出力されだしたんですが消し方知ってる方いませんか?
http://www.dotup.org/uploda/www.dotup.org2386365.png

0258257 2011/12/16(金) 13:34:08.67ID:???
自己解決 <php がありませんでしたw
0259nobodyさん2011/12/16(金) 19:10:30.97ID:???
1つのレコードの1つのカラムを更新したい場合、
findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
0260nobodyさん2011/12/16(金) 21:55:12.50ID:???
<php じゃ動きません
0261nobodyさん2011/12/16(金) 22:46:31.07ID:???
一人で開発する分にはフレームワークいらない
CakePHPだと逆に遅くなる。
PHPは頭よりも手を動かしてなんぼだと思う。
フレームワークは頭を動かす比重が大きくなる。
設計部分が特にそう。
極端に言えば変数が上書きされないようクラス化しておけば実運用では問題ない。
スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
関数の共通化を考える時間があれば手を動かしてた方がいい。後でリファクタリングで十分。
0262nobodyさん2011/12/16(金) 23:38:25.39ID:???
一生のうちPHPで書くアプリケーションが3つほどまでで、書き直しを一切しないというなら完全に同意してもいい
0263nobodyさん2011/12/17(土) 00:03:51.26ID:???
>スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
ワロタ
学生の課題ならそれでいいんじゃね
0264nobodyさん2011/12/17(土) 06:04:20.02ID:???
セッションが設定した時間内で切れてしまうのですが、
原因として何が考えられますか?

core.phpでは以下のようになっています。
Configure::write('Session.timeout', '31536000');
Configure::write('Session.start', true);
Configure::write('Security.level', 'low');

ちなみに、サーバーにアップロードすると自動的に切れてしまうのですが、
ローカルでは大丈夫(もしくは切れるまでの時間が長い)なんですよね・・・
0265nobodyさん2011/12/17(土) 06:11:18.00ID:???
Configure::write('Session.save', 'php');
Configure::write('Session.checkAgent', true);
あと関連しそうな設定は上記になっています。忘れていました。
他のsession関連の設定はコメントアウトされています。
0266nobodyさん2011/12/17(土) 09:24:53.68ID:???
1つのレコードの1つのカラムを更新したい場合、
findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
0267nobodyさん2011/12/17(土) 11:42:27.08ID:???
>>266
findする意味がわかんないんだけど。
saveするだけが一番早いだろうに。
0268nobodyさん2011/12/17(土) 14:55:06.91ID:???
select id from posts where user_id = 3;
update posts set title = 'hogehoge' where id = 5;



update posts set title = 'hogehoge' where user_id = 3;

さてどっちが速いかね
0269nobodyさん2011/12/17(土) 15:59:01.03ID:???
user_idがユニークでインデックスあたってれば、後者のほうが速そう
0270nobodyさん2011/12/17(土) 18:54:27.72ID:???
>>267
findしないと、idがわからない
0271nobodyさん2011/12/17(土) 18:58:31.20ID:???
>>268
後者が速いよな。
CakeではupdateAllか。それ以外方法ないよな?
0272nobodyさん2011/12/17(土) 19:59:48.04ID:6Ny+9Cbj
エレメント使うと Starting to render ってHTMLにコメントが入っちゃうんですけど
これ消す方法ないですか?
0273nobodyさん2011/12/17(土) 21:10:11.26ID:???
>>272
debugが0なら消える
0274nobodyさん2011/12/18(日) 04:48:44.53ID:9T9v3cA3
CakePHP2.0 + SQLite3で
arning (512): _cake_model_ cache was unable to write 'default_"xxx"' to File cache [CORE\Cake\Cache\Cache.php, line 310]
みたいな警告が出るんですが同じ症状の人いません?
0275nobodyさん2011/12/18(日) 18:19:44.28ID:???
>>223
どこが遅いかの原因解明をまず行うべきです。

SQLレベルなのか、画面描画なのか、CakePHPのせいなのかetc
ユーザー数増加によるアクセス過多も問題になることはありますね。
根本的に解決しない可能性もあります。
0276nobodyさん2011/12/18(日) 18:27:15.86ID:???
>>259
やりたい事をそのまま2つの処理で書いて、debugでSQLが出力されますので、
それをMySQLのオプティマイザーなどの時間が計測できる機能で実際に試してみては?

レコード数の多い・少ないにも関連しそうなので、
テストする際には1か月後、1年後などの予測されるレコード数で実行することを忘れずに。
0277nobodyさん2011/12/19(月) 21:46:59.93ID:???
HABTAMで関連付けられた、投稿-タグのテーブルの検索ってどうやるんでしょうか。
やりたいことは、特定のタグを持った投稿を取得する、という単純なものです。
配列は以下のようになっていて、ConditionにTag.name => $tagname などとしても取得できませんでした
Array
(
 [0] => Array
  (
   [Post] => Array
    (
     [id] => 60089
     [message] => testtest
    )
   [Tag] => Array
    (
     [0] => Array
      (
       [id] => 8
       [name] => タグ1
       [PostTag] => Array
        (
         [id] => 26
         [post_id] => 60089
         [tag_id] => 8
        )

      )
     [1] => Array
        :
        :
    )
  )
0278nobodyさん2011/12/19(月) 22:57:47.33ID:???
>>277
Set::extract使うべし
0279nobodyさん2011/12/20(火) 05:19:51.29ID:???
え、そういう問題?
0280nobodyさん2011/12/20(火) 11:14:14.85ID:???
>>278
SQLでとってくる方法はないですか?
「タグ1と関連づいた投稿を全て取得する」というfindができれば教えてほしいんですが、、、
0281nobodyさん2011/12/20(火) 11:48:28.25ID:???
Cakeってさ、findでデータ取ってきた時に
モデル名のキーが頭に付くのがジャマでしょうがないよね
仕方ないからいつもこうやってる
$data = $this->find( ....
$data = $data['モデル名'];
0282nobodyさん2011/12/20(火) 12:16:02.08ID:???
>>277
findするときに、joinsオプション使って明示的にJOINする
0283nobodyさん2011/12/20(火) 12:36:01.65ID:???
>>281
よくやる。
0284nobodyさん2011/12/20(火) 14:59:31.58ID:???
>>281
俺は↓する
$data = $this->User->find('all');
$user_data = $data['User']

これだとどのモデルか分かりやすいし。
ただし、アソシエーション使ってる場合などは、適切でないかも。
0285nobodyさん2011/12/20(火) 16:07:14.62ID:???
>>281
$this->data = $data
ってやると、formヘルパーの値valueに自動でセットするためにキーがついてからね。

おれはあんまり気にしたことがない。
0286nobodyさん2011/12/20(火) 17:30:41.74ID:???
>>284
find('all');ってテーブルの全レコード取り出してるの?
あんまりそういう機会ないなあ
あとfind('all')だと配列が返ってくるから、2行目はエラーになるんじゃないか
0287nobodyさん2011/12/20(火) 17:36:47.14ID:???
>>281
じゃまくせえとは思うけどアソシエーションを考えると仕方ないなと思ってそのまま使ってる
0288nobodyさん2011/12/21(水) 08:45:16.75ID:???
CakeEntity使えよ。色々捗るぞ
0289nobodyさん2011/12/21(水) 10:15:07.10ID:???
>>264だけど、
Configure::write('Session.timeout', '31536000');
↑これってセッションファイルが破棄されるまでの時間じゃないのかよ!!!ややこしすぎ
0290nobodyさん2011/12/21(水) 13:07:35.76ID:???
>>286
あくまで例を書いただけだが・・・
0291nobodyさん2011/12/21(水) 14:24:31.11ID:???
>>288
紹介している人のブログ見たけど、いまいち何が捗るのか分からん
別に配列で指定しても見た目で分かるじゃん。
0292nobodyさん2011/12/21(水) 14:41:31.77ID:???
そんなんだからぺちぱーなんだよ
0293nobodyさん2011/12/21(水) 14:45:23.68ID:???
ぺちぱーってなんですか
0294nobodyさん2011/12/21(水) 14:57:27.19ID:???
PHPer
0295nobodyさん2011/12/21(水) 23:18:44.66ID:???
パーラー(Pearler)ほど洒落た言い回しではありませんね。
0296nobodyさん2011/12/21(水) 23:35:54.39ID:???
APIにアクセスしたりするメソッドってどこに書けばいい?
複数のモデルとコントローラーから利用する予定だけど、クラスとしてLibに置いた方がいいのか
APIからデータを持ってくるところまでモデルとして扱っちゃった方がいいのかで迷っている。

http://www.multiburst.net/sometime-php/2009/01/cakephp-rakuten-webservice-genrecode/
この人はモデルに書いてるけど、外部のライブラリを使うわけで無ければモデルとして書いちゃった方がいいのかな。
0297nobodyさん2011/12/22(木) 16:13:09.95ID:???
ログインの実装のデファクトスタンダード的な方法ってあるの?
ログイン維持しておくのはセッションで?クッキーで?
セッションなりクッキーにユーザーIDだけ保存する?ユーザー情報も保存しておく?
0298nobodyさん2011/12/22(木) 16:20:05.12ID:???
ユーザー情報って具体的に何?
0299nobodyさん2011/12/22(木) 17:12:31.58ID:???
セッションで。名前とか権限とかよく使いそうなデータもいっしょにセッションに入れておく。
0300nobodyさん2011/12/22(木) 17:51:46.44ID:???
AuthComponentだと、usersテーブルの情報だけ持ち回してくれるんだっけ?
その都度SQL叩いてるんだったか、どっちだったか忘れた。
0301nobodyさん2011/12/22(木) 18:58:21.21ID:???
ってかCakePHPってアプリケーションにアクセスするだけで
セッション発行してるけど、なんのために?
中規模のサイトだったらsessionファイルが何万も作られて怖いんだけど
0302nobodyさん2011/12/22(木) 21:04:43.88ID:???
>>301
親切心での自動発行じゃ無いかな
いらないんならSession.startをfalseにしておこうぜ
0303nobodyさん2011/12/22(木) 21:12:30.05ID:???
>>302
falseにしたら
$this->Session->setFlash
のメッセージが表示されなくなったニダ
0304nobodyさん2011/12/23(金) 00:56:07.87ID:???
というか、2.0だとSession.startの設定出来なくなった?
0305nobodyさん2011/12/23(金) 12:30:12.44ID:???
俺も2,0にしたいけど書き換える部分めっちゃあるだろうからめんどうだわ
0306nobodyさん2011/12/23(金) 12:56:48.08ID:???
なんでCakeなんて使って作っちまったんだろうなあ
今更変えられないし
0307nobodyさん2011/12/23(金) 13:04:59.22ID:???
>>306
変えられないのはお前のせい。

正しくフレームワークを使っていれば
自分の作ったコードとフレームワークを分離させられる。
0308nobodyさん2011/12/23(金) 13:24:47.98ID:???
いやいやいやw
0309nobodyさん2011/12/23(金) 13:33:57.13ID:???
時間と手間をかければできる
0310nobodyさん2011/12/23(金) 14:26:04.13ID:???
1.3使ってる、それなりに大きなサイトあるだろ。
そのサイトで問題ないんだから、使い方が悪いだけだ
0311nobodyさん2011/12/23(金) 16:12:44.23ID:???
ふと気づいたんだけど、1.2系でさえまだメンテナンス続いてるのね
最終版と銘打ったものが出ない限り、クリティカルなバグを含んでなければコアをアップデートする気になれない俺は無精すぎる
0312nobodyさん2011/12/23(金) 16:19:01.72ID:???
動いてるシステムに手を入れたくない気持ちはよく分かる。
0313nobodyさん2011/12/23(金) 16:46:26.74ID:???
そうそう
寝た子を起こすようなことになってしまったら嫌だし
0314nobodyさん2011/12/23(金) 17:12:11.79ID:???
メジャーバージョンは動いているシステムだとアップデートするのはきついね。
マイナーバージョンは以前あったセキュリティコンポーネントのバグとかあるから注視しないといかんと思うけど。
0315nobodyさん2011/12/24(土) 08:41:32.33ID:???
1.3.13を使っています。
ビューキャッシュって$autoLayoutがfalseの場合、
キャッシュファイルが生成されません。

レイアウトを使用しない場合、キャッシュが生成されないのでしょうか?
0316nobodyさん2011/12/24(土) 15:39:27.27ID:???
>>315
その状況でのみキャッシュ生成されないんならそうなんじゃない?
layout/empty.ctpとか作ってコンテンツだけを単純に出力するレイアウトにして適用すれば回避できそうだけど
03173152011/12/24(土) 17:08:20.11ID:???
>>316
ありがとうございます。仮のレイアウト作る方法で出来ました。

ただビューキャッシュについては上手く行かないことが多くて、
例えば、core.phpに
Cache::config('default', array('engine' => 'File', 'prefix' => 'aaa_'));
としてもキャッシュファイルにprefixが付きません。
pathを指定しても、指定した箇所にファイルが生成されず、
普段通りapp/tmp/cache/viewsに作られるだけだし・・・

1.3.13をダウンロードして初期設定以外変えてないのですが
どうにもキャッシュ設定の変更が上手く行きません。
ググっても問題を見つけられないし・・・
分かる方いたらアドバイスお願いします。
0318nobodyさん2011/12/25(日) 03:30:55.85ID:S4Adtqyt
CakePHP2.0でSessionの設定関連がcore.phpに見当たらないんですが、
セッションの有効期限を変更するのってどこをいじればいいんでしょうか?
03193182011/12/25(日) 03:57:41.58ID:???
自己解決。
一箇所に固まったのね。
0320nobodyさん2011/12/25(日) 17:29:14.64ID:???
PaginatorHelperって使ってる?
自分で作るよりそんなに楽なの?
0321nobodyさん2011/12/25(日) 21:18:29.33ID:???
>>320
標準であるから使ってる。既にあるものを再作成しちゃいけない。
0322nobodyさん2011/12/25(日) 22:46:46.49ID:???
>>320
かなり楽
0323nobodyさん2011/12/26(月) 00:40:12.74ID:???
SQL文のパラメーターを自分でエスケープする時ってmysql_real_escape_stringでいいんだよね?
conditions に array("MATCH(title) AGAINST ('".mysql_real_escape_string($keyword)."')");
みたいな感じに書くと「DBに接続できてないからmysql_real_escape_stringは使えないっすよ」的なエラーが出るんだけどどうしたらいいんだ
0324nobodyさん2011/12/26(月) 08:51:40.09ID:???
>>323
cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
0325nobodyさん2011/12/26(月) 08:53:39.81ID:???
>>323
cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
0326nobodyさん2011/12/26(月) 19:22:58.29ID:???
>>323

App::import('Sanitize');
Sanitize::escape($keyword); とか
0327nobodyさん2011/12/27(火) 02:42:47.86ID:???
>>321,322
でもDBの値を変更して出力する場合には
対応してないですよね?
0328nobodyさん2011/12/27(火) 11:15:57.24ID:???
>>327
ページネイトでDBの値を変更するってどういう用途?
0329nobodyさん2011/12/27(火) 13:24:45.98ID:???
webrootをpublic_htmlにして、それ以外のフォルダはドキュメントルートの外に起きたい場合はどのように設定するのでしょうか?
0330nobodyさん2011/12/27(火) 13:29:34.03ID:???
↓のように見える件について報告はしたけど返信もこないんですけど
たいしたことないから修正されないんですかね?
実際に個人情報とか漏れてるわけでもないので別に問題ないっちゃ問題だいけど。
ちょうどフレームワーク名に使おうか迷っててcakephpにも興味あるんですが
cakephpてurlにクエリをつけるとこういうページが表示されるものなんでしょうか?

http://mystone.aeriagames.jp/?
0331nobodyさん2011/12/27(火) 14:05:11.21ID:???
うわー、urlに?を含めたこと無かったからびっくり。
0332nobodyさん2011/12/27(火) 16:06:32.48ID:???
>>324-325
以前は入っていたような気がするんだけれども、2.xになってから使われてないっぽかったので、よくわからんので質問したんだ
説明不足ですまぬ

>>326
さんくす!
03333152011/12/27(火) 17:42:17.16ID:???
どなたか>>317についてはわかりませんか?
もう何日もググって試してやってますが、
ビューキャッシュファイルにprefixが付きません・・・
0334nobodyさん2011/12/27(火) 19:36:48.08ID:???
>>329
webroot/index.phpでパスを指定する
0335nobodyさん2011/12/28(水) 02:02:45.93ID:???
>>328
DBから一覧を取得してその中の日付のフォーマット変えたり、
0か1で入っている性別を男と女に変換したりとか。
0336nobodyさん2011/12/28(水) 07:03:30.26ID:???
>>330
これは特殊例だな
多分トップページだけCakeのルーティングを外しているか特殊なmod_rewrite書いたりしてるはず
ソース読めないんで確かなことは言えないけど。
まあそもそも1.2の初期バージョン使ってるようなサイト参考にされても困る
0337nobodyさん2011/12/28(水) 09:44:18.78ID:???
>>335
1.3ならvirtualField使った方が良いのでは。
日付のフォーマット変えるのは自分は表示する時にしてるけど。
0338nobodyさん2011/12/28(水) 09:59:07.49ID:???
>>335
DBの値を変更って、SQLのINSERTとかUPDATEかと思った。
DBから引いたデータを加工するなら、viewでやろうがmodelでやろうが好きにすればいい。
そのあたりはpaginateでもfindと同じこと。争点にする意味がわからん。
0339nobodyさん2011/12/28(水) 12:59:51.45ID:???
Cakeはデータがただの配列だから、
こういうときつらいよな

Yiiはオブジェクトなんだっけ?
0340nobodyさん2011/12/28(水) 14:11:35.72ID:???
Cake使ってるWebサービスはあるけど、アプリはあるの?
0341nobodyさん2011/12/28(水) 14:16:12.40ID:???
アプリってなんぞ
0342nobodyさん2011/12/28(水) 14:43:40.02ID:???
意味不明ワロタ
0343nobodyさん2011/12/28(水) 15:50:07.23ID:???
mixiアプリとかのことかな?
0344nobodyさん2011/12/28(水) 16:36:45.22ID:???
すみません。webアプリのことです
0345nobodyさん2011/12/28(水) 17:11:51.85ID:???
webサービスとwebアプリの違いは?
0346nobodyさん2011/12/28(水) 17:18:26.85ID:???
wikipediaによると
・Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。
・ウェブアプリケーション(Web application)は、ウェブの機能や特徴を利用したアプリケーションソフトウェアのことである。
ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。
0347nobodyさん2011/12/28(水) 19:42:34.74ID:???
その定義通りだとして(違和感はあるが)、逆にWEBサービスとして使われてるのを見たことないな
0348nobodyさん2011/12/28(水) 20:23:56.64ID:???
>>335
v2.0でもvirtualfieldだな
Paginatorのソートは、sqlに投げてるだけっぽいから、
加工後の値でソートしたいなら、virtualfield使うのが一番楽
0349nobodyさん2011/12/28(水) 22:42:26.99ID:???
SOAPやRESTfulな環境で使うイメージがわかない。
0350nobodyさん2011/12/28(水) 22:51:10.97ID:???
SOAP使ってないとWebサービスにならないのか
って、んなわけねーだろ!
0351nobodyさん2011/12/29(木) 01:39:46.15ID:???
俺は↓な風に思ってたけど・・・
Webサービス→mixiとかtwitterとか
Webアプリケーション→OpenPNEとかWordpressとか
0352nobodyさん2011/12/29(木) 03:10:25.40ID:???
Webサービス∈Webアプリケーション
0353nobodyさん2011/12/29(木) 04:32:43.50ID:???
$this->User->save(array(
'id' => $user['User']['id'],
'lastlogin' => date("Y-m-d H:i:s", time()),
));
↑こうやってlastloginにユーザーのログイン時間を保存しているんですが、
ローカルではちゃんと保存されるのに、
全く同じコードをアップロードした本番サーバでは
保存されないのはなぜ??
0354nobodyさん2011/12/29(木) 08:33:32.46ID:???
databaseの設定ミスとかじゃないよね?
0355nobodyさん2011/12/29(木) 10:49:12.41ID:???
webrootをpublic_htmlに変更し、それ以外を全部ドキュメントルートの上に置くというのは難しいですか?
0356nobodyさん2011/12/29(木) 10:58:31.41ID:???
MVCについてお聞きしたいのですが
学年
クラス
生徒
を管理するときに
コントローラ・・・学年
アクション・・・・クラス
id・・・・・・・・・・・生徒
とするのか
コントローラ・・・学年/クラス
アクション・・・・・生徒
とするのどちらがよいでしょうか?
前者の場合はモデルへデータを追加するだけで管理できますが
紺者の場合はモデルへデータの追加とアクションの追加を行いますが
どちらが定番といえますか?
0357nobodyさん2011/12/29(木) 12:02:14.47ID:???
>>353
本番サーバとやらのログを貼らないのはなぜ??
0358nobodyさん2011/12/29(木) 12:14:03.44ID:???
>>355
難しくありません。
03593532011/12/29(木) 12:45:18.65ID:???
>>357
ログとはどのログのことでしょうか?
0360nobodyさん2011/12/29(木) 12:54:07.59ID:???
>>356
まともな日本語でおk
「管理」の用法が特殊で意味がわからない
あと、MVCについて誤解してないか?
0361nobodyさん2011/12/29(木) 12:59:47.56ID:???
>>359
webサーバ、データベース、cakeあたりのログ
0362nobodyさん2011/12/29(木) 13:01:26.83ID:???
>>360
分からない奴は黙っていたほうが良い
恥を書いて荒らしなる道に行くから
0363nobodyさん2011/12/29(木) 13:33:28.56ID:???
わからないままは恥ずかしいので、
是非教えてください
荒らす気はありません
0364nobodyさん2011/12/29(木) 14:44:26.04ID:???
>>356
その例なら学年とクラスは一緒じゃないか?
カテゴリ・サブカテゴリの関係性だろ?
0365nobodyさん2011/12/29(木) 17:29:24.05ID:???
>>355
public_htmlの位置が変えられない環境ならこの辺参考にがんばれ
http://massat.jp/2007/01/08/110

>>356
その例だと、学年hasManyクラス、クラスhasMany生徒、のデーターベース構成の話になってしまうような
ちょっとMVCを誤解している気がする
0366nobodyさん2011/12/29(木) 17:41:41.88ID:???
なかなか斬新なMVCの解釈だなw
0367nobodyさん2011/12/29(木) 19:59:03.95ID:???
年末で暇なのか、賑わってるなー。よきかな
0368nobodyさん2011/12/29(木) 20:06:56.58ID:???
>>356
学年、クラス、生徒は全部モデルだよ。
正確に言えば、モデルが扱うデータとその属性だよ。

ま普通に考えれば、生徒がたくさん入っている生徒達データがあって、
学年とクラスは、生徒一人ひとりの属性。
0369nobodyさん2011/12/29(木) 20:09:49.58ID:???
コントローラはURLとモデルが持っているメソッドへの変換を行うものと考えればいい。
そして、メソッドの戻りをビューに変換する役目も持っている。

コントローラはあくまでURLとデータの変換をするだけで
学年とかクラスとかそんなものを扱う所ではない。
0370nobodyさん2011/12/30(金) 03:20:30.57ID:???
>>356は俺たちの煽り耐性を試してるんだと思う。
0371nobodyさん2011/12/30(金) 11:04:12.85ID:???
MVCを勘違いしていることはよく分かる。
0372nobodyさん2011/12/30(金) 12:04:16.43ID:???
MVCを理解していない人は非常に多いが、こういう勘違いをする人はレア
0373nobodyさん2011/12/30(金) 12:56:24.02ID:???
cookbookさえ読めば解決だと思う
0374nobodyさん2011/12/30(金) 13:57:03.73ID:???
MVCでラーメンは作れますか?
0375nobodyさん2011/12/30(金) 14:07:23.64ID:???
cookpadさえ読めば解決だと思う
0376nobodyさん2011/12/30(金) 14:08:22.55ID:???
MVCはなくても電気は足りるよ
0377nobodyさん2011/12/30(金) 15:17:13.68ID:???
MVC 2014年10月から引き上げ決定
0378nobodyさん2011/12/30(金) 15:37:15.23ID:???
MVCが異音出してて壊れそうなので買いに行きたいんだけど、そろそろ値段は落ち着いてるのかな
0379nobodyさん2011/12/30(金) 23:17:06.65ID:???
おれが、おれたちがMVCだ!
0380nobodyさん2011/12/31(土) 04:56:39.85ID:???
MVCとは違うのだよ、MVCとは!
0381nobodyさん2011/12/31(土) 07:32:25.22ID:???
MVCであることを強いられているんだ!
0382nobodyさん2011/12/31(土) 07:56:47.38ID:???
早くMVCになりたい!
0383nobodyさん2011/12/31(土) 07:57:13.90ID:???
MVC48がレコード大賞だってよ
0384nobodyさん2011/12/31(土) 08:39:39.24ID:???
さあ、ケーキ作りに戻ろうか。
0385nobodyさん2011/12/31(土) 19:39:46.96ID:???
結局>>362が一番アホだったなw
0386nobodyさん2012/01/02(月) 13:43:43.74ID:???
2
0387nobodyさん2012/01/02(月) 16:43:04.06ID:???
新年だし1.3系のシステムを2.0系に作り直してみるぜ
0388nobodyさん2012/01/02(月) 17:00:58.05ID:???
それは貴方にいかなる利益をもたらすのか?
0389nobodyさん2012/01/02(月) 17:34:39.76ID:???
勉強にはなる。
0390nobodyさん2012/01/02(月) 17:59:16.89ID:???
「使わない機能を切る」みたいな機能があればいいのにな。
なんでもかんでも読み込むから重くなるんだと思う。
0391nobodyさん2012/01/02(月) 18:45:39.31ID:???
>>388
他にも2.0で新規に作ったシステムがあって、それと同時に開発してるから、バージョンが違うとややこしい
あとコードが汚いからイチから書き直したいというのもある
いずれにせよ、古くなったバージョンからはさっさと離れたい
0392nobodyさん2012/01/02(月) 18:47:28.84ID:???
2.0って?p=1みたいな感じでもキャッシュは効くのかな
0393nobodyさん2012/01/02(月) 20:59:19.72ID:???
1から作りたいなら、いっそのことCake風オレオレフレームワークを作れよw
俺はそんな感じの作ってるよ。
0394nobodyさん2012/01/02(月) 21:23:42.17ID:???
cakeやるんだったらbakeって覚えとかなきゃマズい?すげぇかったるそうなんだけど。
0395nobodyさん2012/01/02(月) 22:01:40.40ID:???
楽できなくてもいいなら問題ない
0396nobodyさん2012/01/02(月) 22:15:37.39ID:???
>>395
まぁ使う方が楽なんだろうけど、やんないならやんないで別にいいって部類ならスルーしちまおうかと思って。
0397nobodyさん2012/01/02(月) 22:19:15.79ID:???
てか、bakeやらなくても1回作った物をコピーすれば良いだけじゃん。
同じような箇所が結構あるだろ
0398nobodyさん2012/01/02(月) 23:08:17.97ID:???
>>394
cakeに用意されているサンプルデータでいいから、1回はbake体験した方がいい。
ひな形とはいえ、MVC全部を作ってくれるのは助かる。
0399nobodyさん2012/01/03(火) 00:17:03.05ID:???
bakeやった方が良さそうという事がわかった。サンクス。
0400nobodyさん2012/01/03(火) 03:59:04.88ID:???
フォームヘルパーをカスタマイズしたいときって多いと思うんだけど、どうやってる?
1.helpers/form.phpをapp以下にコピーして改造
2.FormHelperを継承したMyFormHelperを作成
1→Cakeのバージョンアップ時に問題
2→ビューでの変数名がFormじゃなくなるのが嫌
0401nobodyさん2012/01/03(火) 08:57:05.67ID:???
>>400
半角スペースは投稿時に省略される。

>.2.FormHelperを継承したMyFormHelperを作成
今回はこっちを採用した。html5の input email を使いたくて、FormHelperを継承した。
0402nobodyさん2012/01/03(火) 13:58:48.66ID:???
JavaScript系のヘルパー使うのって普通にjQueryのコード埋め込むのと比べてメリットありますか?
0403nobodyさん2012/01/03(火) 15:17:25.79ID:???
PHPファイルで使える
0404nobodyさん2012/01/04(水) 00:34:45.46ID:???
結局MyFormHelperをビューで$this->Formという変数名で使うことはできないの?
0405nobodyさん2012/01/04(水) 00:43:36.30ID:???
>>404
namespaceでも使えば出来るんじゃないの?
0406nobodyさん2012/01/04(水) 09:38:54.30ID:???

>>404
https://github.com/joebeeson/analogue
0407nobodyさん2012/01/04(水) 20:46:12.62ID:???
誰かAppModelをオーバーライドして
複合主キーにも対応させてくれないか?
0408nobodyさん2012/01/04(水) 22:17:55.77ID:???
断る
0409nobodyさん2012/01/04(水) 23:27:58.25ID:???
みんなfunctionの頭にpublicってつけてる?
2.0のブログチュートリアルを見るとつけてたりつけてなかったりだけど、
何も書かなければデフォでpublicだから省略していい気がするんだけど、
書いた方が(見栄え的に)お行儀のいいコードだったりする?
http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html
0410nobodyさん2012/01/05(木) 00:24:31.76ID:???
>>409
一応CakepPHPのコーディング規則ではそこまで書いてないので、好きにすればOKかと。
ただし、メソッド名の方に規則があって、protectedの場合はメソッド名の先頭をアンダーバー、
privateの場合はメソッド名の先頭をアンダーバー2つ。

http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html#method-definition
0411nobodyさん2012/01/05(木) 01:57:28.20ID:???
変数は必ずpublic/privateつけて、メソッドはpublicなら省略するのが俺ルール。
つけたほうが一貫性があっていいとは思うんだけど、
public function 関数名
と書くと、public functionが長すぎて、ぱっと見たとき関数名に目が
行きにくいんだよな。変数は常にpublic/private意識しておくけど、
メソッドはほぼpublicで問題ないし。
0412nobodyさん2012/01/05(木) 02:06:02.96ID:???
>>410 >>411
サンクス
見た目すっきりさせたいしpublicは無しで統一するわ
0413nobodyさん2012/01/05(木) 02:32:44.05ID:???
public付けないと気持ち悪くね?
1.3時代からpublic付けてたんだが。
0414nobodyさん2012/01/05(木) 12:39:38.01ID:6HbHp9Xn
CakePHPを勉強し、自前のウェブサイトを構築したおかげで、ウェブサービスの企画があっという間できるようになった。
頭の中に、ウェブサービス構築のための常套手段が植え付けられたからだと思う。
CakePHPというよりもフレームワークを使用するメリットと言った方が適切かな。
0415nobodyさん2012/01/05(木) 17:48:11.25ID:???
2.0になって、404吐かせるのがcakeErrorからthrow new NotFoundException()に変わったせいか、
AppControllerのbeforeFilterでsetした値が404の時にビューに反映されないようになった?
全ページでヘッダー部分に表示させてる共通データの部分が、404の時だけundefined variableになってしまう
SQLログ見るとデータ自体は取ってきてるみたいだけどsetしたはずのデータがビューに反映されない
0416nobodyさん2012/01/05(木) 17:52:46.12ID:???
>>413
コア見るとpublicつけてるみたいね
コアと共通表記にしたいのならpublicつけるべきだと思う
0417nobodyさん2012/01/05(木) 21:37:19.55ID:???
>>415
ビューがClassRegistyに登録されなくなったから、ビューの別インスンタンスが生成されて
それが使われる。
あとデフォルトのExceptionRenderer(というか、CakeErrorController)はbeforeFilter()まで実行しない。
beforeFilterで例外飛ばすときもあるじゃん?
というわけでExceptionRendererを継承したクラスを作ってそれを使うのがお勧め。
_getController()でもオーバーライドすればいいじゃないの。
0418nobodyさん2012/01/05(木) 22:25:09.07ID:???
>>417
ありがとう
なんか取り回しが悪くなった気がして仕方ないがw
0419nobodyさん2012/01/06(金) 01:07:10.01ID:yz+Wi1W6
Model::find('all')のfieldsにサブクエリを使いたいんだけど
どうすればいいですか?
0420nobodyさん2012/01/06(金) 06:11:17.85ID:???
セッションファイルってどれだけ溜めてもいいもん?
云万になるとlsが遅くなる気がするけど、
PHPがセッションファイルを直接取ってくるんならとくに大丈夫なのかな
0421nobodyさん2012/01/06(金) 07:36:47.81ID:???
>>420
全列挙する必要がある ls には O(N) 必要
それに対して目的のファイルが判っている場合は O(log N) に収まる
古いファイルシステムだとまた話が変わってくるが
0422nobodyさん2012/01/06(金) 07:42:05.08ID:???
>>421
100万あっても無視できる程度になりそうですね
0423nobodyさん2012/01/06(金) 09:12:24.69ID:???
ファイルってインデックス化されるん?
そらされるか…
0424nobodyさん2012/01/06(金) 10:03:42.70ID:???
インデントはスペース派なんだけど、
Cakeはタブだよね?

スペース派の人どうしてる?
Cakeに合わせてる?
0425nobodyさん2012/01/06(金) 11:54:55.28ID:???
プロジェクトや会社によってはPEAR規約(っぽいもの)で開発してたりするよ
0426nobodyさん2012/01/06(金) 14:42:53.01ID:???
cakephp2.0を置いてHelloコントローラとindexアクションとhelloビューを作って
http://localhost/helloにアクセスするとhelloビューの内容が読み込まれましたが
http://localhost/にアクセスするとcakephpのreadme見たいな感じのページがでてしまいます
http://localhost/にアクセスした場合のデフォルトのコントローラをhelloにしたいのですがこれはどこのファイルに設定するのでしょうか?
0427nobodyさん2012/01/06(金) 15:56:30.42ID:???
routes.php
0428nobodyさん2012/01/06(金) 23:03:59.16ID:???
>>424
自分で書いたコードはスペースインデント
routes.phpとか既に用意されているファイルはタブインデント
一人プロジェクトだから細かいことは(゚ε゚)キニシナイ!!
0429nobodyさん2012/01/07(土) 08:27:20.92ID:???
携帯からアクセスがあったときは、
app_controller の before_filter で

header('Content-Type: application/xhtml+xml; charset=Shift_JIS');
という風にHTTPヘッダの content-type と charset を設定して、本来

Content-Type: application/xhtml+xml; charset=Shift_JIS
このヘッダが送られるはずが、

Configure::write('debug', N);
この設定を、0(デバッグ無し)に変更すると、

Content-Type: text/html
と、出力されてしまう。
(3 にするとちゃんとxml用のヘッダが送られるのは確認済み)

このケースが逆なら、手動でヘッダを送る前にデバッグ情報が送られているのかなと思うのですが、
デバッグ無しにすると、別のヘッダが送られているのが不思議です・・・。

どのファイルのどこでHTTPヘッダが送られているかって確認できましたっけ?
04304292012/01/07(土) 08:33:08.99ID:???
大事なことを言い忘れていました。
>>429の現象はさくらの本番サーバにアップしたときにのみ起こります。
開発環境のlocalhostではdebugの値に関係なく、
意図したHTTPヘッダが送られています。

アドバイスいただければ幸いです
0431nobodyさん2012/01/07(土) 12:27:32.35ID:???
一部のアクションでしか使わないコンポーネントを全部ロードするのは無駄ですが
アクションに応じて、ロードするコンポーネントを変更することはできないのでしょうか?
0432nobodyさん2012/01/07(土) 13:24:04.51ID:???
>>431
App::importは?

http://book.cakephp.org/1.3/ja/view/876/%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB#!/1.3/ja/view/936/%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9-%E3%83%A2%E3%83%87%E3%83%AB-%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88
0433nobodyさん2012/01/07(土) 13:52:12.56ID:???
>>432
リンク先は違う情報だったけど要は
App::import('Component', 'Mailer');
$Mailer = new MailerComponent();
$Mailer->initialize( $this );
$Mailer->startup( $this );
ってやればいいのかな?
0434ひろみちゃん2012/01/07(土) 17:28:25.09ID:???
>>431
2.0からコアの機能で動的に読めますが、1,x系は拙作のHackプラグインを使うことによって
期待する機能が提供されます。
https://github.com/hiromi2424/hack_plugin
Alias->loadComponent('Mailer');
startupするかは第3引数にtrueを指定すればOKです。
ドキュメントが整備されてないのですが需要があればします。
あとプラグイン名が厨二病臭いですが厨二病なので諦めてください。
0435nobodyさん2012/01/07(土) 17:52:24.37ID:???
>>434
ありがとうございます
拝見しましたが、思ったより長いですね
>>433のやり方じゃ駄目で、このようにきっちりやるべきなんでしょうか
0436ひろみちゃん2012/01/07(土) 18:00:20.89ID:???
>>435
短期的には>>433のやり方でも問題ないです。
メールのマネージャー程度のコンポーネントならまず大きな問題は起こりえないでしょう。
長期的に見れば、2.0で導入されるやり方に近いほうがより良いと思います。
0437nobodyさん2012/01/07(土) 18:15:00.53ID:???
わかりました、ありがとうございます
コードはありがたくいただきます
0438nobodyさん2012/01/07(土) 21:17:09.01ID:???
2.0でこのAdminAuthComponentがちゃんと動いている人いる?
http://www.1x1.jp/blog/2008/01/cakephp_adminauthcomponent.html

開発環境では問題なかったんだけれども、レンタルサーバーに上げてみたら
> header("WWW-Authenticate: Basic realm=\"Please Enter Your Password\"");
のところが効いてないのか、Basic認証のダイヤログが出ずにAuthorization Requiredと表示されてしまう。

HTTPヘッダーを見てみたところ、開発環境(正しく動いている環境)では
>HTTP/1.1 401 Authorization Required
となっているのが、本番(正しく動かない環境)では
>HTTP/1.1 200 OK
が出てしまっている。

ちょっと>>429の状況に近いかも知れないけど、自分の方はdebugの値に関係なくheaderがちゃんと送信されてない感じ
04394382012/01/07(土) 21:49:27.70ID:???
すまん、自己解決
CGI版のPHPだとBasic認証効かないのね
0440nobodyさん2012/01/07(土) 22:13:13.36ID:???
2になってからちょっと軽くなった?
1.xと比べてシャキシャキ動いてる気がする
0441nobodyさん2012/01/07(土) 22:51:46.73ID:???
2.0.5ぐらいになってるけど、バグは減った?
0442nobodyさん2012/01/07(土) 23:02:34.52ID:???
なに、動きが軽くなるなら乗り換えたいが
0443nobodyさん2012/01/08(日) 01:17:09.40ID:???
何となく軽いと言うだけでベンチを取ったわけじゃないので話半分に聞いてくれ
0444nobodyさん2012/01/08(日) 03:29:35.66ID:???
そうか、ベンチ取った人とかいないのかな
0445nobodyさん2012/01/08(日) 14:39:21.96ID:???
http://doophp.com/files/benchmark.png
dev版だけど、多少軽くなってるみたいだな
0446nobodyさん2012/01/09(月) 00:29:39.74ID:pfm1AGOc
controllerでfindするときのorderを
'order' => array('Person.secondname ASC')
のようにしているんですが、複数のorder条件をつけるのはどうしたらいいですか?

具体的には苗字順に並べるようにしてるんですが、苗字がない人は下の名前(Person.firstname)を参照して五十音で並べたいです
0447nobodyさん2012/01/09(月) 00:37:51.69ID:???
自己解決しました
$options['order'] = array(
'Person.secondname, Person.firstname ASC'
);
で$optionsをうしろにくっつければいけました
0448nobodyさん2012/01/09(月) 00:53:14.64ID:???
>>446です>>447では解決してませんでした。。
0449nobodyさん2012/01/09(月) 01:58:03.73ID:???
orderがarrayになってるんだから分かるだろ?
0450nobodyさん2012/01/09(月) 06:19:15.24ID:???
コントローラーで
function index($param){
とアクションを作っていて、URLで
コントローラー名/index/パラメータ
と呼ばすに
コントローラー名/パラメータ
とやっても動くようにするにはどうすればよいでしょうか
ぐぐるとRoutesを使う例が出てきましたが、それだと他のアクションが使えなくなるようでした
アクションとして存在しない時のみ、indexのパラメータとして扱うことはできないでしょうか
0451nobodyさん2012/01/09(月) 08:57:47.96ID:???
>>450
$paramが数値なら、ルーティング規則でその部分に(数値であることの)正規表現を書けば
いける。詳しくはぐぐって。
だめだったらカスタムルートオブジェクトを作成してひーこらするしかない。頑張って。
0452nobodyさん2012/01/09(月) 08:58:56.35ID:???
その部分にってのは紛らわしいなごめん
Router::connect()の第3引数で指定するってこと。
0453nobodyさん2012/01/09(月) 09:04:31.25ID:???
調べ中ですがまだうまくいっていません
ちなみに$paramは文字列で、複数ある場合もありますが大丈夫でしょうか
0454nobodyさん2012/01/09(月) 09:46:49.44ID:???
数値ならってわざわざ書いたのはなんでだと思う?
0455nobodyさん2012/01/09(月) 23:29:06.48ID:???
cakephpのサイトだけ紹介してるサイトないかな
0456nobodyさん2012/01/09(月) 23:34:27.49ID:SU3KFcHv
2になって、AuthComponentがかなり洗練されたね
0457nobodyさん2012/01/09(月) 23:37:13.69ID:???
CakePHPでページを表示すると下の方にsqlを200件だしているような表示になります
これは実際に200件実行してるということでしょうか
すると問題ありますかね
0458nobodyさん2012/01/09(月) 23:43:44.32ID:???
件数取得してるだけじゃないのか?
sqlを200回実行してるわけねーだろ
0459nobodyさん2012/01/09(月) 23:49:11.21ID:???
>>458
ありがとうございます。
(default) 262 queries took 46 ms こう表示されてました。
0460nobodyさん2012/01/09(月) 23:55:34.73ID:???
>>459
262回クエリ投げてるな
どんなページだか知らないがさすがに多すぎると思う
っていうか、自分で実装したコードなんだろうからクエリ回数くらい検討つくだろう
アソシエーションで勝手にいっぱい持ってきているのならcontainableで引っ張ってくるデータを厳選すればいいぞ
0461nobodyさん2012/01/09(月) 23:58:51.05ID:???
>>460
ありがとうございます。
containable調べてみます
0462nobodyさん2012/01/10(火) 01:48:35.15ID:???
containつかったら88 queriesまで減らせませした
0463nobodyさん2012/01/10(火) 03:05:48.92ID:Rzgwr3Tg
CakePHP2.1alpha を早速いれて試してみたが、エラーメッセージ(スタックトレース)がかなり見やすくなってる
0464nobodyさん2012/01/10(火) 05:46:55.61ID:???
Cakeって気付くとめちゃめちゃクエリ投げてるよね
遅い原因の一つはこれか?
0465nobodyさん2012/01/10(火) 10:19:59.29ID:???
今頃気づいたのか
Yiiにしとけ
CakePHPはオワコン
0466nobodyさん2012/01/10(火) 12:07:44.08ID:+4VQFJJn
v1.2の話なんだけど
aテーブル
bテーブル
a_bテーブル
があるとして
a にhasAndBelongsToManyを設定して
a_b にbelongsToを設定したら、このbelongsToがスルーされる。なぜだかわかる?
削除用に設定したいんだけど、毎回bindModelするしかないのかな。
0467nobodyさん2012/01/10(火) 12:11:35.74ID:???
Yiiってほとんどのレンタルサーバーで使えないじゃんw
0468nobodyさん2012/01/10(火) 13:05:20.54ID:???
PDO使うからか?
0469nobodyさん2012/01/10(火) 13:14:52.36ID:???
Yiiっていいの?
0470nobodyさん2012/01/10(火) 13:32:02.30ID:???
>>466
recursive設定するのはどうかな
0471nobodyさん2012/01/10(火) 19:50:56.57ID:???
最近2.0使ってるんだけど、本番環境時に/foos/barとか適当なURLにアクセスすると
表向きは404返してくれるんだけど、error.logにmissing controllerが記録されるようになった気がする
テスト環境時はmissing controllerエラーを表示してくれてOKだけど、本番でそれがerror.logに記録されるのはなんか変じゃないか?
/robots.txtとか/favicon.icoとかにアクセスがあったら、ひたすらerror.logに記録されちゃってるし(ファイルがない場合)
0472nobodyさん2012/01/10(火) 21:31:38.90ID:???
それ、php.iniの設定では?
04734712012/01/10(火) 22:52:12.56ID:???
>>471
説明不足ですまぬ
/app/tmp/error.logに記録されまくって困っている
0474nobodyさん2012/01/11(水) 09:07:32.93ID:???
>>471
.htaccessでなんでもかんでもCakePHPに渡すようになってる事が問題
0475nobodyさん2012/01/11(水) 16:35:42.80ID:???
設定でExceptionHandlerがログを取るかどうかが指定できたような気がする
今再インストール中で確認できないが
04764712012/01/11(水) 19:36:53.02ID:???
>>474
1.3の頃はそんなことなかったんだけどなあ

>>475
サンクス
ちょいと調べてみる
0477nobodyさん2012/01/12(木) 06:51:34.68ID:???
2.0ではController::cakeError()の代わりにどうやってエラー画面出すの?
0478nobodyさん2012/01/12(木) 13:41:50.62ID:???
>>477
http://c-brains.jp/blog/wsg/11/12/08-114554.php
0479nobodyさん2012/01/12(木) 20:06:56.05ID:srRhUW1K
>>470
返信サンクス
解決方法探し当てた。
http://d.hatena.ne.jp/cakephper/20100826/1282798441
0480nobodyさん2012/01/13(金) 01:39:04.98ID:ayVGOPQu
通常セッションの有効期限はcore.phpで設定すると思いますが、
コントローラーの中で動的に変更したい場合どうすればいいですか?
0481nobodyさん2012/01/13(金) 17:22:59.89ID:???
Cakeで作られたサイトのフォーム見ると、

<input name="data[Post][title]"
じゃなくて
<input name="title"

になっている場合があるのですが、
これって単にフォームヘルパーを使ってないだけですかね?
それともフォームヘルパーでnameを配列にしない方法があるのでしょうか?
0482nobodyさん2012/01/13(金) 18:28:21.82ID:???
Cakeのヘルパーは使えないことで有名だからな
0483nobodyさん2012/01/14(土) 21:18:17.06ID:???
関数で帰ってきた配列を代入せずに、
そのまま添字付けることって可能?

test()['test']

みたいな
0484nobodyさん2012/01/14(土) 21:28:07.86ID:???
やってみりゃいいじゃん
0485nobodyさん2012/01/14(土) 21:47:35.89ID:???
できなかったから他の方法ないかなぁと思って
内部的に戻ってきた配列に添字つけて参照するだけだし、
難しそうではないんだけどなぁ
0486nobodyさん2012/01/14(土) 21:55:23.06ID:???
あーよく俺もそれできたらいいなと思う
つーかCake関係ないやんそれ
0487nobodyさん2012/01/15(日) 00:09:42.08ID:???
function getValueFromFunc($func,$key) {
$a = $func();
return $a[$key];
}
0488nobodyさん2012/01/15(日) 15:39:15.61ID:???
http://blog.s21g.com/articles/20
こんな感じでURLを丸ごとパラメータとして渡したいんですが
Cakeでやる方法があったら教えてほしいです
0489nobodyさん2012/01/15(日) 16:40:34.32ID:???
cakeってパラメータにメタ文字使えないんじゃ
0490nobodyさん2012/01/16(月) 17:55:18.55ID:l7Fd5fgU
.NET interoperability overview of Phalanger 3.0
http://www.php-compiler.net/blog/2012/net-interoperability-overview-of-phalanger-3-0
0491nobodyさん2012/01/16(月) 19:49:38.62ID:???
>>485
PHPの公式コミュニティ行って頼んでこいよハゲ
0492nobodyさん2012/01/17(火) 00:47:37.68ID:???
1.3.10使ってるんだけど、cccが3のレコードのaaaとbbbを更新したくて

$this->updateAll(array('aaa' => 1, 'bbb' => 2), array('ccc' => 3));

だと失敗して

$data = $this->find('first', array('conditions' => array('ccc' => 3), 'field' => array('id')));
$data['ModelName']['aaa'] = 1;
$data['ModelName']['bbb'] = 2;
$this->save($data);

だと成功する。今まで2年ぐらいCake使っててこういうの初めてで、何故だかわからないんだけど
わかる人いる?
0493nobodyさん2012/01/17(火) 01:07:49.33ID:???
>>492
1個目の例で失敗しそうにないけど、何て出て失敗するの?
0494nobodyさん2012/01/17(火) 01:37:40.29ID:???
事故解決。これでした
http://stackoverflow.com/questions/4488945/cakephp-updateall-not-working
0495nobodyさん2012/01/17(火) 02:50:02.37ID:???
Cake2.0を使ってます。モデル内でコンポーネントを使っていて
PHPUnitでそのモデルをテストすると
Fatal error: Class 'Component' not found in /path/to/Controller/Component/HogeComponent.php on line xx
と怒られる。

ちなみにモデル内でのコンポーネントの呼出はこんな感じ。
App::uses('HogeComponent', 'Controller/Component');
$hoge = new HogeComponent(new ComponentCollection());

Call Stackの最後にはinclude( '/path/to/Controller/Component/HogeComponent.php' )とあるんだけど
これはコンポーネントのインクルードでなにか問題があったということかな?

コンポーネントが見つかりませんというエラーメッセージについて分かる人いたら教えてください。
0496nobodyさん2012/01/17(火) 02:58:24.75ID:7jQnUKTc
斜め読みだけど、その HugeComponent の冒頭に
App::uses('Component', 'Controller');
と付け加えればよいのでは?
0497nobodyさん2012/01/17(火) 04:10:42.74ID:???
それならテストコードにつけるべきだな。
モデルでコンポーネント使う設計についてはもはや何も言うまい
0498nobodyさん2012/01/17(火) 08:53:23.17ID:???
>>496
斜め読みすげえ!
エラーが消えてテストできるようになったよ。サンクス!
0499nobodyさん2012/01/17(火) 11:04:16.23ID:7jQnUKTc
>>498
CakePHPは、2になってクラス階層を意識する場面が多くなったと思う。
2.1ではさらにその傾向が強くなっている。
2で開発しているのだったら、今のうちに2.1にアップグレードしておくのをおすすめする。
0500nobodyさん2012/01/17(火) 15:19:00.74ID:???
2.1ってそんなに変わるのか?
リリースによれば2.0と完全後方互換があるらしいけど
0501nobodyさん2012/01/17(火) 16:07:54.57ID:???
1.3で開発してるけど、後々問題になりますか?
0502nobodyさん2012/01/17(火) 17:59:13.26ID:???
>>501
1.3→2系の移行は結構な手間になるから
新しく作るなら2にしといた方がいいんじゃないすかね。
0503nobodyさん2012/01/17(火) 20:03:02.72ID:???
フレームワークのほうが面倒になるとか本末転倒だな
0504nobodyさん2012/01/17(火) 20:24:27.94ID:???
Phalanger 3.0 (2012年1月) をリリースしました。
http://awabi.2ch.net/test/read.cgi/poverty/1326781620/
0505nobodyさん2012/01/17(火) 20:36:02.54ID:???
>>501
ディレクトリ階層がかなり変わったので、別物と考えた方がいい。
0506nobodyさん2012/01/17(火) 21:29:13.39ID:???
みんなはもう2系で開発してるの?情報少なくないか?
0507nobodyさん2012/01/17(火) 23:25:43.99ID:???
ゼロから始める人には入門情報が少なくて厳しい状況かも知れないね
でも1.x系の開発経験あれば、マイグレーションガイドを見つつ書いていけば何とかなる
何とかならなかったときにはこのスレがある
0508nobodyさん2012/01/18(水) 11:54:09.09ID:1MLy4CWB
v2のメリットは、実行速度の向上につきると思う。
問題は、既存の資産が直接使えなくなったこと。
特にAuthまわりは、完全に変わってしまっている。
これまで、直接 Auth コンポーネントをオーバーライドして機能拡張していたんだけど、すべて書き直して、プラグイン化した。
*機能拡張の内容は、「ユーザ登録確認メールの送信」「オートログイン」「SSL対応」「権限チェック」。
しんどかったけど、今後のプロジェクト間での使い回しと拡張性が確保できた点では、それなりのメリットが見込めそう。
メール送信も大きく変更された部分だが、これはすばらしい出来。
0509nobodyさん2012/01/18(水) 14:59:56.52ID:???
Authが異なるのは辛いな・・。
メール送信や画像アップロードはライブラリ作ってるけど、
Authはフレームワーク全体に関わることだからな
0510nobodyさん2012/01/22(日) 17:25:08.97ID:MxKFDdQF
1.3系での話しですが、日本語メールを送る場合
EmailComponent::templateで指定したファイルの文字コードは
UTF-8もしくはShift-JIS、どちらが正しいのでしょうか?
0511nobodyさん2012/01/22(日) 22:16:15.47ID:???
文字コードで迷ったらutf-8がいいですよ。
あとあと楽です。
0512nobodyさん2012/01/23(月) 00:38:44.40ID:???
全角含まないで保存すると元に戻るのが煩わしい
0513nobodyさん2012/01/23(月) 06:06:15.69ID:???
function add() {} // 保存アクション
function edit() {} // 編集アクション
↑8割方同じ処理をしているアクションがあるときどうしてる?
俺はaddに同一処理かいて、
エラーや編集のときの個別処理だけeditに書いてるんだけど、
アクションのURLが違うからエラーでの書き込みフォームに戻る処理などが難しい
editでreturn;するとeditビューが呼ばれてしまう
0514nobodyさん2012/01/23(月) 11:36:23.68ID:Vo1w/brb
echo $form->select('Order.prefectures', array(
'北海道' => '北海道',
'青森県' => '青森県',
'岩手県' => '岩手県',
'宮城県' => '宮城県',
'秋田県' => '秋田県',
'山形県' => '山形県',
'福島県' => '福島県',
'茨城県' => '茨城県',
(中略)
'鹿児島県' => '鹿児島県',
'沖縄県' => '沖縄県'
), 1, array('empty' => null, 'class' => 'orderform')) . PHP_EOL;
と書いたんですが、出力をみると一つ目の北海道にselectedがついてなくて、

<option value="福島県">福島県</option>
option value="茨城県">茨城県</option>

と茨城県だけ頭の<が出ないです
茨城の項目を削除すると、次の栃木の頭の<が消えるので福島が原因かと思ったんですが
福島を消しても栃木が消えるので8個目が消えるという感じかも知れないんですが
解消する方法ご存知でしたらお教えくださいますようよろしくお願いいたします

0515nobodyさん2012/01/23(月) 12:43:46.65ID:???
日本語文字コードじゃね?
0516nobodyさん2012/01/23(月) 15:21:45.11ID:???
>>515
ありがとうございました
google chrome の問題だったみたいです
0517nobodyさん2012/01/23(月) 16:49:13.48ID:???
>>513
俺はaddとeditは一緒にaddの中に書いて、idがあるかどうかで条件分岐してるわ
アクション分けたいならfunction _addOrEdit()みたいなのをつくって、共通処理はそこに突っ込めば?
0518nobodyさん2012/01/24(火) 16:24:41.34ID:???
cake2.0でdatetimeのフォームから送信した年月日が,配列のままDBに格納されようとしてエラーが出ます。
deconstructが効いていない理由がわかりません…助けて。

view:
echo $this->Form->label('birthday', '生年月日');
$minY = date('Y')-100;
$maxY = date('Y')-18;
echo $this->Form->datetime('birthday', 'YMD', null, array('monthNames' => false, 'minYear' => $minY, 'maxYear' => $maxY, 'separator' => array('年', '月', '日')));

コントローラ:
if(!$this->Hoge->save($this->request->data)) {
$this->Session->setFlash('データの登録に失敗しました。');
}

Formヘルパー(separatorの配列対応):
//$opt = implode($separator, $selects);
$opt = "";
$i = 0;
if (is_array($separator)) {
foreach($selects as $select) {
$opt .= $select.$separator[$i];
$i++;
}
} else {
$opt = implode($separator, $selects);
}
0519nobodyさん2012/01/24(火) 22:58:24.14ID:???
>>518

手元で検証してみたら、確かにModel::deconstruct()が仕事しなかった。
んで、最新版落っことしてきて、コアの部分をすげ替えたら動いたよ。
cake2最初期版はなんか問題があったんかもしれんね。

ついでにもうひとつ。
FormHelper::dateTime()だけど、引数の取り方変わってるよ。
その書き方でほんとにプルダウン生成されてるかい?

http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html#formhelper
05205192012/01/24(火) 23:16:35.15ID:???
連投すまんぬ。もうひとつ捕捉。
DBにdate型とかでbirthdayフィールドが存在しなければ
Model::deconstruct()はきっと何もしてくれない。
Model::deconstruct()のメソッド内にある
$type = $this->getColumnType($field);
で有効な値が取れて初めて機能する模様。

なんともはや。。。
0521nobodyさん2012/01/25(水) 16:31:52.13ID:???
2.1でAppControllerとかのファイルが無くなっているんだけど、
これは今後のバージョンで無くすということ?使うなということ?
05225212012/01/25(水) 16:40:31.53ID:???
すまん、libの中から消えただけで、appの下に標準で含まれるようになったのか。
0523nobodyさん2012/01/26(木) 22:25:16.80ID:???
2月中に2.1正式版出るかなー
今2.0でリリースすると中途半端な気がして、2.1のリリースを待機している・・・
0524nobodyさん2012/01/27(金) 13:11:04.23ID:???
Cakeからの移行先って何か考えてますか?
そろそろPHP5.3仕様のフレームワークに移りたい・・・
あと、データが配列なのももう嫌。

今のところ、正式版でてるのはSymfony2かFuelPHPかな?
Yiiも次期バージョンでは5.3を使うらしい。
0525nobodyさん2012/01/27(金) 13:56:20.77ID:???
なんで配列は嫌なの?
0526nobodyさん2012/01/27(金) 14:58:32.50ID:???
配列嫌ならRoR行こうぜ
0527nobodyさん2012/01/27(金) 15:19:00.44ID:???
>>525
たとえば、ビューがifだらけになっちゃうことなどです。
バーチャルフィールドである程度は対処できますが、
限界がありますし・・・
0528nobodyさん2012/01/27(金) 19:36:57.17ID:???
PHPUnit3.6インストールしたら、debug()とか出力されなくて
マニュアルを確認すると
「TipAll output is swallowed when using PHPUnit 3.6+. Add the --debug modifier if using the CLI or add &debug=1 to the url if using the web runner to display output.」
test.phpで走らせてるので、URLに&debug=1をつけたのですが
何も出力されません。わかる人いたら教えてください。

環境
CakePHP 2.0.5
PHPUnit 3.6.9
0529nobodyさん2012/01/27(金) 20:38:59.59ID:???
>>527
そんなこと無いけど。
どういう場面でviewがifだらけになるのか、想像つかん
0530nobodyさん2012/01/27(金) 21:51:47.71ID:???
1.3.14ですが、webrootの中にフォルダを作り、
同名のコントローラにアクセスすると、そのフォルダを読みに行ってしまいます。


/webroot
└/test
└index.php

の場合、http://example.com/test/
でアクセスすると、/webroot/test/フォルダ内のindexファイルを探す

同名のフォルダがあった場合、コントローラーを読み出すようにするには
どうすればいいのでしょうか?
0531nobodyさん2012/01/27(金) 22:30:54.56ID:???
>>524
配列が嫌って、PHP全否定じゃないですかw
0532nobodyさん2012/01/27(金) 23:47:52.29ID:???
>>530
仕様
別名にするか.htaccessを書き換えるしかない
0533nobodyさん2012/01/28(土) 16:14:55.65ID:???
sqliteってすごく便利だったのね
0534nobodyさん2012/01/29(日) 02:29:16.25ID:???
ページネーションのソートの際に、対象フィールドのリンクには
<a class="desc" のようなclass名が付くと思うのですが、
1.3.14では付きません。なにか設定方法が変わったのでしょうか?
0535nobodyさん2012/01/29(日) 20:34:45.68ID:???
1 -> 2 -> 3
と遷移する画面があるとして、1でPOSTされたdataをそのまま3で使いたい時
どうすればいいかね?
2でinput hiddenで埋め込むしかないの?
0536nobodyさん2012/01/30(月) 01:35:56.87ID:???
>>535
これどうだい?
https://github.com/jaredhoyt/cakephp-wizard/
0537nobodyさん2012/01/31(火) 20:54:05.78ID:???
なんで2.0になってから404 Not Foundもapp/tmp/error.logに記録されるようになったん?
ボットの適当なアクセスでerror.logが更新されまくって困るんだが
0538nobodyさん2012/01/31(火) 21:27:48.91ID:???
>>523
今、2.0系で開発してるんだが、2.1系とどれくらい互換性あるのかね
2.1まで待てばよかったかなぁ・・・
0539nobodyさん2012/02/01(水) 14:03:22.66ID:???
find("all")で全レコードをviewで一覧出力したあとで,
リンクをクリックすると絞り込み検索して,結果を一覧表示させる方法がわからないです。

全レコードの出力はindexアクションなんだけど,
絞込検索の方は,また別にアクションを書く必要があるの?
それともindexアクションの中で絞り込むことってできるの?
0540nobodyさん2012/02/01(水) 14:31:02.84ID:???
最初の一覧表示を「全部が含まれる絞り込み」と考えればコードは一つ。
0541nobodyさん2012/02/01(水) 18:11:27.88ID:???
>>538
2.1は2.0完全互換なので問題なく動くはず
ただ2.1でも重要な部分のアップデートがあるから、その辺はどちらにせよそのうち直すことになりそうだけど
0542sage2012/02/03(金) 01:46:58.38ID:???
Roadmaを読むと3.0でネームスペースの導入とオブジェクトを返す仕様にするとあるな。
0543sage2012/02/03(金) 01:48:56.31ID:???
RoadmaでなくてRoadmapな!
0544nobodyさん2012/02/03(金) 03:11:07.37ID:???
× Roadma
○ Readme

スペルは正しく書きましょう
0545nobodyさん2012/02/06(月) 21:53:18.73ID:???
CakePHPつかえば彼女できるの
0546nobodyさん2012/02/07(火) 02:09:02.39ID:???
ちいたん Yiiつかってまた戻ってきた
やっぱり人口が多いのが一番だね英語知らないから
0547nobodyさん2012/02/07(火) 14:09:10.01ID:???
ちいたんもYiiもcodeIgniterも
俺的にはオレオレと変わらないと思ってる。

多少動作が重くても、扱える人口が多いことに意味がある。
0548nobodyさん2012/02/07(火) 19:26:51.77ID:???
>>547
明らかにYiiはCakePHPより優れてるよ
日本人の使用者人口が増えれば日本語のリソースも増えてくると思うし
英語がダメな人はもう少し待つほうがいいかもな
0549nobodyさん2012/02/07(火) 19:36:59.22ID:???
>>548
本当にYiiが優れてるのなら、もっとブログで情報発信したりスレに書き込んだりしてくれよ
軽く触った感じではCakePHPに次いでいい感じだったけど、ユーザー少なそうで本腰入れる気になれない
ユーザーいないから情報出なくて、情報出ないからユーザー増えないという悪循環にはまってる感じがする
0550nobodyさん2012/02/07(火) 20:08:39.28ID:???
で、自分しか使ってないなら=オレオレと変わらないんじゃね?
って考えになるんだよな。
0551nobodyさん2012/02/07(火) 22:20:42.14ID:???
>>549
>ユーザーいないから情報出なくて、
日本語で情報探すとそう感じるけど、
英語で探すとけっこう出てくるよ。
てかドキュメントがしっかりしてるからあんま必要ないけどね。

まぁ世界全体でだけど、こんな感じの伸び率
http://www.google.co.jp/trends/?q=cakephp,codeigniter,yii&ctab=0&geo=all&date=all&sort=0
YiiがCakePHPやCodeigniterと差を縮めていってる
CakePHPに関しては減ってる

日本でもだんだん増えるよ、確実に
ブログはたまに書いてる
0552nobodyさん2012/02/07(火) 22:31:26.34ID:???
頑張って俺様のためにドキュメントを増やし給え
0553nobodyさん2012/02/07(火) 23:03:57.00ID:???
>>552
おk
お前もせいぜい英語勉強しろよw
0554nobodyさん2012/02/07(火) 23:28:06.02ID:???
未だに英語がわからん奴とかいるわけがない
都市伝説だろ
0555nobodyさん2012/02/07(火) 23:37:30.16ID:???
明日電車に乗ったら隣の席の人に英語で話しかけてみてください
0556nobodyさん2012/02/08(水) 00:23:47.88ID:???
英語が分からんわけではないが、日本語情報が無いと裾野が広がらないと思う
0557nobodyさん2012/02/08(水) 00:28:52.97ID:???
はやくして
0558nobodyさん2012/02/08(水) 01:22:28.31ID:???
英語わかんねえんだよ
わかればこんなFW使わねえよ
0559nobodyさん2012/02/08(水) 01:28:31.64ID:???
こうやって技術者格差って広がっていくんだな
0560nobodyさん2012/02/08(水) 02:25:56.05ID:???
cakeが一番わかり易い
0561nobodyさん2012/02/08(水) 02:43:04.37ID:???
今の時代、英語と中国語出来れば、どの職業でも食いっぱぐれないだろうな
0562nobodyさん2012/02/08(水) 04:51:19.10ID:???
そんなことされたら警察呼ぶわ
0563nobodyさん2012/02/08(水) 10:25:56.72ID:???
英語ができればこんなスレにはいない
0564nobodyさん2012/02/08(水) 11:00:04.88ID:???
英語できるんだけど、どこに行けばいいの?
0565nobodyさん2012/02/08(水) 11:28:41.60ID:???
英語でおk
0566nobodyさん2012/02/08(水) 12:08:44.04ID:???
which site is the best discussion forum for cakephp? give me urls.
0567nobodyさん2012/02/08(水) 12:11:29.75ID:???
Hi, Guys!
0568nobodyさん2012/02/08(水) 12:14:52.18ID:???
what's up?
0569nobodyさん2012/02/08(水) 12:15:51.13ID:???
I'm stealth marketing now.
0570nobodyさん2012/02/08(水) 12:18:45.15ID:???
Oh really ?
0571nobodyさん2012/02/08(水) 12:19:03.41ID:FLeGKhAC
a peace of cake!
0572nobodyさん2012/02/08(水) 12:22:28.38ID:???
Fack YOU 板違いだにょ
0573nobodyさん2012/02/08(水) 12:40:57.21ID:???
lol
0574nobodyさん2012/02/08(水) 15:48:30.68ID:???
>>572
oh... miss spell
repeat after me
"Fuck You"
0575nobodyさん2012/02/08(水) 16:25:40.59ID:???
thank you,good gay!
0576nobodyさん2012/02/08(水) 16:54:59.72ID:???
>>574
Fuck you
0577nobodyさん2012/02/08(水) 17:01:40.67ID:???
O mae mo naa
0578nobodyさん2012/02/08(水) 18:10:15.72ID:???
your "CakePHP" is common file, on libs or vendors?
05795722012/02/08(水) 18:39:58.51ID:???
小学生かこいつら
0580nobodyさん2012/02/08(水) 21:36:31.59ID:???
>>564
日本で専門色翻訳になれば儲かる。
0581nobodyさん2012/02/08(水) 21:44:51.18ID:???
>>578
if you use 12.x, on vendors.
if you use 2.0.x on libs.
0582nobodyさん2012/02/09(木) 13:37:44.09ID:???
フォームヘルパーの使い方について質問です。

○商品A   ○商品B
■■■    ■■■

○がラジオボタンで、■が商品の画像だとします。
フォームヘルパーのoptionsに配列で選択肢を指定したら
横並びの入力項目が出来るので、
画像付きのこういった表現が出来ません。
どうすればいいのでしょうか?
0583nobodyさん2012/02/09(木) 14:57:42.21ID:???
>>582
配列で一気にラジオボタン出すんじゃなくて、別々に出せばいいんじゃないの
0584nobodyさん2012/02/09(木) 16:32:37.53ID:???
>>583
いけました。仕様を勘違いしていました。ありがとうございます。
0585nobodyさん2012/02/10(金) 12:20:32.03ID:???
質問です
pagenatorのhasNextのような関数を、コントローラー内で呼ぶにはどうすれば良いですか?
ぐぐってもビューでヘルパーを呼び出す方法しか出てきません
コントローラー内で、次のページがあるかどうかで分岐する処理が書きたいです

1.3です
0586nobodyさん2012/02/10(金) 18:01:43.96ID:???
質問です

cakephp2.0.6 php5.3.6 apache2.2.17
という環境でcakephpをインストールし接続してみたのですが

Missing Method in AppController

Error: The action webroot is not defined in controller AppController

Error: Create AppController::webroot() in file: app\Controller\AppController.php.

このような文がでて接続がうまくいきません。どなたかご教授お願いします。

(cakephp1.3だとちゃんとRelease Notes for CakePHP 1.3.14に表示されます。)
0587nobodyさん2012/02/10(金) 18:21:21.51ID:???
エラーメッセージを良く読め
0588nobodyさん2012/02/10(金) 18:52:31.16ID:???
>>587
すみません、いろいろとググったのですがみつからず困ってました。

AppControllerにアクションwebrootがみつからない
ファイルapp\Controller\AppController.php作ってwebroot()を作れ

っと言われてると思うのですが、実際に作るとphpでのエラーがでてしまいます。

Fatal error: Class 'AppController' not found

申し訳ありませんが、ヒント頂ければと思います。
0589nobodyさん2012/02/10(金) 20:19:58.49ID:???
>>588
app\Controller\AppController.php
には正確にはどう書いた?

とうか、そもそも、どういうディレクトリにインストールして
どこにアクセスしてる?
0590nobodyさん2012/02/10(金) 20:55:32.66ID:???
httpd.confの設定がおかしいと想像。

document rootと、http側のrootが一致してないと見た。
0591nobodyさん2012/02/10(金) 21:02:16.73ID:???
webrootが正常に読み込めてないな。
そのあとのエラー的に、>>590の言うとおりパスがおかしいんじゃないかと。
あとhttpd.conf内でmod_rewriteは設定してるよな?
まずはhttpdの設定を見直すよろし。
0592nobodyさん2012/02/10(金) 21:02:49.14ID:???
>>589

中には表示されていた
<?php
class AppController extends AppController {
public function webroot() {
}
}

?>←これはなかったので付け足しました

と書きました
ディレクトリはC:\Users\fruit\Desktop\www\sns\cake\2.0\app\Controller\AppController.phpに保存しています
アクセス先はhttp://localhost/php/cake/2.0/app/webroot/index.phpです

http://localhost/php/cake/2.0/でのアクセスだとIndex of /php/cake/2.0/app/webrootになってしまいます。

またapacheには
<Directory "C:\Users\fruit\Desktop\www\php\cake">
AllowOverride All
</Directory>
と記述してあります。


どうでしょうか、よろしくお願い致します。
0593nobodyさん2012/02/10(金) 21:04:40.72ID:???
>>591

mod_rewriteの設定ですが#ははずしてあります。
0594nobodyさん2012/02/10(金) 21:06:52.99ID:???
ごめんさい記述みすしていました

正確には
ディレクトリはC:\Users\fruit\Desktop\www\php\cake\2.0\app\Controller\AppController.phpに保存しています

でした 。wwwをlocalhostとしています。
0595nobodyさん2012/02/10(金) 21:13:17.18ID:???
>?>←これはなかったので付け足しました
php.iniで、それの有無に関しての挙動が変更できる。

現在のPHPのデフォルトは、「閉じタグ ?> が無い事が標準」となってる。

初学者なのは分かるけど、いきなりフレームワークに手に入れるとか愚の骨頂。
どれだけの人数がテストしてると思ってるの?
0596nobodyさん2012/02/10(金) 21:26:19.60ID:???
>>595
そうだったんですね。初めて知りました!
ありがとうございます。
0597nobodyさん2012/02/10(金) 21:37:46.65ID:???
>>589,590,591

一通りhttpd.confをみなおし、ルートも確認し
>>595のとおり?>もはずしてみましたがやはり直りませんでした。

どなたかわかりそうな方いましたら、よろしくお願い致します。
0598nobodyさん2012/02/10(金) 22:18:06.68ID:???
>>597
ルートを確認したっていうことだけど、
httpd.conのDocumentRootはどう書いてあるの?
0599nobodyさん2012/02/10(金) 22:22:19.33ID:???
>>598
DocumentRoot "C:/Users/fruit/Desktop/www"
<Directory "C:/Users/fruit/Desktop/www">

このように設定してあります。
0600nobodyさん2012/02/10(金) 22:31:07.86ID:???
脱線だが、デスクトップにファイル置いて開発するとか、みんなそうしてるの?
アクセス権限とか切り分けが面倒になるから、俺はドライブルートから
浅い所にファイルを置くんだが。
0601nobodyさん2012/02/10(金) 22:40:32.26ID:???
>>600
俺はMac使ってるけど
cake本体は /Library/ の中、appは /Users/俺/ウェブ開発/○○アプリ って感じ。
jquery関係とかよく使うアセットはcake本体側に入れとけば複数app作るの楽だし
0602nobodyさん2012/02/10(金) 23:53:22.09ID:???
>>599
・http.confにOptions FollowSymLinksの指定がしてあるか
・そもそもmod_rewriteはLoad Moduleされてるのか
・apacheのエラーログ確認
・各.htaccessにrewrite baseの設定が要るかも?
0603nobodyさん2012/02/11(土) 00:17:43.73ID:???
>>600
ふつうはしない。
が、初心者はだいたいそうする。
0604nobodyさん2012/02/11(土) 00:55:37.73ID:???
どなたか>>585お願いします
0605nobodyさん2012/02/11(土) 02:53:33.10ID:???
>>604
ヘルパーはApp::importで読み込んでnewすれば使えるけど、
わざわざ呼ばんでも
debug($this->paginate)とかdebug($this->params)とかやったらなんかヒントあるんじゃね?
0606nobodyさん2012/02/11(土) 08:51:11.48ID:???
>>602
Options FollowSymLinksは記述してためしてもAppController.phpのエラーが返ってきます。

Load Moduleはしてあります

apacheのエラーは
[Sat Feb 11 08:43:04 2012] [error] [client 127.0.0.1] PHP Fatal error: Class 'AppController' not found in C:\\Users\\fruit\\Desktop\\www\\php\\cake\\2.0\\app\\Controller\\AppController.php on line 2
となっていてブラウザ上でみるphpエラーと同様になってます

rewrite baseを設定してみたらcssが読み込まれなくなりました
0607nobodyさん2012/02/11(土) 13:31:36.87ID:???
>>606
携帯からなんで詳しい設定名わからんけど、
index.phpをインデクスファイルとして読み込む設定になってないんじゃないの
0608nobodyさん2012/02/13(月) 23:59:06.34ID:???
1.3でjoinしているカラムをソートするにはどうすればいいのでしょうか?
$paginator->sort('投稿数', 'Post.total_num')

みたいにビューに書いてもソートされません。
06096082012/02/14(火) 00:16:33.57ID:???
自己レスです。virtualFields使えば出来ました。
今まで使い方を理解してませんでしたが、
$this->User->virtualFields = array(
'total_num' => 'COUNT(Post.user_id)'
);

みたいにすればいいんですね。
0610nobodyさん2012/02/14(火) 03:08:29.79ID:???
CakePHPかRubyOnRailsを習得するなら
どちらを優先的にすべきですか?

RORのほうはサーバーの構築からが必要だったりでお気軽感覚では出来ず導入のための敷居は高い気がします。
しかし、Deviseというプラグインがあったりするので、いちいちユーザー登録や、ユーザー管理、ログイン管理の機能を作らなくても済んだりします。

一方でCakePHPなら未だに情報交換が活発になされてますし、あまり環境にこだわらずフォルダごと、ぶちこめば大抵うごいてくれます(データベース設定やパーミッション等はありますが)


両方出来る人とかに聞きたいのですが、どちらがオススメですか?
0611nobodyさん2012/02/14(火) 03:20:43.81ID:???
趣味か仕事かどっちだ?
0612nobodyさん2012/02/14(火) 03:29:17.24ID:???
仕事で使うならこれからはCodeigniterだよねやっぱり
0613nobodyさん2012/02/14(火) 03:51:01.11ID:???
今からCake覚えて何かいいことあんの?
0614nobodyさん2012/02/14(火) 10:42:41.43ID:???
>>610
好きな方か、仕事で教えてくれる環境にある方。
ぶっちゃけやることは変わらん。
0615nobodyさん2012/02/14(火) 15:53:13.31ID:XKQCpFOZ
CakePhp2.0初心者で勉強しています。
セッションを使用して、異なるコントローラー間でデータの受け渡しを行いたいのですができません。
使用方法が間違っているのでしょうか?

異なるコントローラー間で以下の2行を実行しています。
$this->Session->write('id','hogehoge');
$hoge = $this->Session->read('id');


core.phpのセッション設定は以下の設定です。

Configure::write('Session', array(
'defaults' => 'php'
));
0616nobodyさん2012/02/14(火) 17:04:00.93ID:???
>>615
上の一行をあるコントローラでやって、
下の一行を違うコントローラでやってると言う意味だよね?

まず下の一行を実行する前に

if($this->Session->check('id))
でセッション変数自体が存在しているか確認するのはやってみた?
06176152012/02/14(火) 17:37:28.16ID:???
>>616
返信ありがとうございます。
windows環境で作成をしてて、なぜかPCを再起動したら取得できましたm(_ _)m ナゾです・・ 
0618nobodyさん2012/02/14(火) 23:58:24.06ID:???
>>611
趣味ですが
仕事にも将来的には生かせればと思います
0619nobodyさん2012/02/17(金) 14:11:59.26ID:???
index.phpからcakeにアクセスするだけじゃなくて、
別名を付けたファイル名からアクセスしたい場合、
ファイル内に $_GET['url'] = '/user/index' みたいに書けば良いだけですかね?
表向きはピュアPHPみたいなURLにしたいです。
0620nobodyさん2012/02/17(金) 14:33:54.66ID:???
>>619
意味が分からん。

foobar_controller.php
foobar_index.ctp
foobar_alt_index.ctp

URLとファイル名は必ずしも強固に1体1対応で無くてもいいんだよ。
render('ctpファイル名')でいくらでも描画先変えられるし、redirectでもいい。

特定のURLのみ、URLのファイル名とは異なるctpファイルを読み込みたい場合は、
controller側でfunction URL名(ファイル名)を作ればいくらでも好きなファイルをrender出来る。
0621nobodyさん2012/02/17(金) 14:47:34.93ID:???
>>620
そうじゃなくて、基本的にcakeにアクセスするのって
webtoor内のindex.phpと.htaccessを元にしてるじゃないですか?
それを通さないで、単体のファイルで動かしたいって事です。
0622nobodyさん2012/02/17(金) 14:50:28.33ID:???
勝手に動かせばいい
0623nobodyさん2012/02/17(金) 22:15:37.39ID:???
>>618
cakephp覚えたところで仕事無し
railsならあるぞ
0624nobodyさん2012/02/17(金) 22:18:17.74ID:/liskI/Y
>>623
あなたはないかもしれないが、こちらは一杯あるよ
0625nobodyさん2012/02/17(金) 23:19:48.84ID:???
railsの仕事なんて見たことないな
たまたまだろうけど
0626nobodyさん2012/02/17(金) 23:35:34.41ID:???
cakephpにはrailsのdeviseのような
痒いところに手が届くログイン管理プラグインが無いのが痛い
0627nobodyさん2012/02/18(土) 00:41:23.45ID:???
無かったら作ればいいじゃない
0628nobodyさん2012/02/18(土) 07:14:15.10ID:???
>>621
webroot直下に置いたhtmlファイルとか、好き勝手に動かせるよ。

webroot/phpmyadmin
とかを本番機で動かしてるし。

ここでhtmlなり、ctpなり、好きなファイル置けばいいのでは?
0629nobodyさん2012/02/18(土) 11:05:37.21ID:???
今更のcakeの仕事って、メンテばかりでつまらなそうだな。
0630nobodyさん2012/02/18(土) 11:52:58.83ID:???
仕事がつまらないのは当たり前だろ
楽しさを求める奴って一定の割合でいるけど何なの?世間ナメてるの?
0631nobodyさん2012/02/18(土) 14:10:48.45ID:???
世間w世の中w
0632nobodyさん2012/02/18(土) 14:15:16.70ID:???
>>630
俺は楽しいけど
まぁ自営だし
0633nobodyさん2012/02/18(土) 19:32:45.39ID:???
仕事がつまらないとか言ってる人って、アルバイトしかした事ない学生か、本気で仕事した事ないダメ人間だけだろ。
0634nobodyさん2012/02/18(土) 19:52:11.24ID:???
『整備に当る強兵が しっかりやって 来てくれと 愛機に祈る 親心』

戦闘機とは勝手が違うかもしれんが、職人であり整備士でもあるウェブ開発者が『メンテつまらない』なんて、間違っても言えない言葉だと思うがな。
作品に対する愛着と言うか、親心はないのかと思う。
0635nobodyさん2012/02/18(土) 19:54:15.84ID:???
本気だろうが何だろうがつまらんものはつまらん
愛があってもつまらんものはつまらん
0636nobodyさん2012/02/18(土) 19:54:39.40ID:???
愛着や親心と楽しさは違うだろ
0637nobodyさん2012/02/18(土) 20:03:42.12ID:???
>>636
「自分の子供は糞までかわいい」って話じゃね?
子供の世話とバグ取りや保守作業って同じ感覚でやってたわ
むろんどっちも楽しい。
しかもメンテっつーか仕事なら、やっただけ対価までもらえるんだぞ?
毎日wktkしとるわw
0638nobodyさん2012/02/18(土) 22:23:06.59ID:???
1から作ったものなら良いかもしれんが
他人が作ったものの尻拭いはごめんだ
0639nobodyさん2012/02/18(土) 23:12:25.71ID:???
別にどの業界だってメンテはメンテナーがいるわけよ。
ビルだって自動車だってそうだろ。
仕事として受けたならメンテのプロとしてやらないと。面白くないべ。
0640nobodyさん2012/02/19(日) 00:03:12.80ID:???
普通にバイトでも楽しいけどな。
楽しくいないのは店長や客が嫌な奴だったとか
人間関係の面がほとんどだろ。
0641nobodyさん2012/02/19(日) 00:21:41.04ID:???
今スマホ開発やっててWebAPIをCakePHP使ってんだけど楽しいよ。
俺は仕事は楽しくなくちゃ嫌だわ。
0642sage2012/02/19(日) 00:25:24.87ID:???
CakeやろうがRailsやろうがDjangoやろうが同じ不満をもらすだろうな
0643nobodyさん2012/02/19(日) 09:24:53.81ID:???
CAKEPHP1.3でWEBアプリを作っています。

ブラウザの「戻る」ボタンを押して前の画面に戻る際に、
必ずサーバーに問い合わせるようにしたいのですが、
キャッシュの設定を「session_cache_limiter('nocache')」にしていても
「ページの有効期限切れ」が表示される場合があります。
(具体的には、画面遷移時に一度入力チェックでエラーを表示した後、
次画面に遷移し、ブラウザの戻るボタンを押した場合。)

「ページの有効期限切れ」が表示されず、前画面に戻るには
どのような対応が必要でしょうか。
(ページの有効期限切れは、具体的に何を見て判定しているのでしょうか)
0644nobodyさん2012/02/19(日) 14:32:18.81ID:???
http://mwg.jp/
0645nobodyさん2012/02/19(日) 22:02:58.12ID:???
>>642
そういうことだろうな。
仕事でも趣味でも、開発すること自体楽しけりゃ不平不満なんて出ないどころか毎日Happyさね。

>>643
一般的に考えれば、フォーム(hiddenも含む)データじゃね?
単純な話で、なんかページ同士のパラメータの受け渡しに失敗してるんじゃないかな?
0646nobodyさん2012/02/20(月) 07:49:45.77ID:???
>>643
cakeのセッション設定
既出
0647nobodyさん2012/02/20(月) 13:39:28.34ID:???
みなさんはサイトの一部だけcakeを使う場合、どうしてますか?

例えばサイトのほとんどがHTMLなんだけど、
お問い合わせフォームとか新着情報の表示とかシステム化が
必要な箇所ってありますよね?
0648nobodyさん2012/02/20(月) 16:42:43.00ID:???
公式の1.3パッケージをクリックして落ちてくるのって2.0なのかよ
おかげで数時間ムダにしたわ…
0649nobodyさん2012/02/20(月) 17:31:52.64ID:???
cakePHPで使うDBにNOT NULL付けるのって非推奨なのでしょうか?
値セットしてないカラムも全部NULLになっちゃって。
0650nobodyさん2012/02/20(月) 18:44:49.57ID:???
Model::create(false)でデフォルト値があるカラムを充足しなくなるよ
0651nobodyさん2012/02/20(月) 19:27:11.23ID:???
>>650
どうもです。ぐぐったら解説も出てきました。
http://d.hatena.ne.jp/cakephper/20091221/1261385134

$data初期化してるのにヘンテコな値が入るので???になってたんですが、
よく考えたらモデルの方も初期化せなあかんのですね。
0652nobodyさん2012/02/20(月) 19:44:33.38ID:???
個人的には「NULL撲滅委員会」にお誘いしたい。
COUNT(column)とかで、面倒な挙動が多い・
0653nobodyさん2012/02/20(月) 20:16:24.86ID:???
>>652
実は既にあすこの会員でして・・・
しかし、NULLを避けたいのにcakePHPが勝手に挿入するのを避けられないというー-;

for ($x = 0; $x < 100; $x++) {
$data = null;
$this->cookie->create(false);
$data = $this->cookie->findById($x);
if ($data == FALSE) {
continue;
}
レコードが存在しない時は処理をスキップしたいんですけど、
比較式おかしいですかね?
0654nobodyさん2012/02/21(火) 00:21:24.73ID:???
CakePHPを複合主キーに対応させる為のプラグインってありませんか?
0655nobodyさん2012/02/21(火) 13:06:27.12ID:???
2.1RC来たね。

RCの後に数字がないってことは、
次がもう正規リリースなのかな?
0656nobodyさん2012/02/21(火) 14:08:16.13ID:???
何が変わったの?
0657nobodyさん2012/02/21(火) 19:27:57.09ID:???
ビューの継承とか、細かい便利機能が増えてるっぽい
0658nobodyさん2012/02/21(火) 21:15:24.57ID:???
参考書が1.3だったのでとりあえず1.3使ってるんだけど、
できれば最新のもの使ったほうがウマイのでしょか?
0659nobodyさん2012/02/21(火) 22:01:38.94ID:???
>>658
新規で作るのなら2系で作っておいた方がいいと思うよ
1.3で作ってると下手に1.3のクセがつくだろうし
今勉強中ならRCも出たことだし、サービスリリースまでにはstable出るだろうから2.1使っちゃっていいんじゃない
0660nobodyさん2012/02/21(火) 22:21:52.98ID:???
お前ら>>654の回答頼むわ。な?
0661nobodyさん2012/02/21(火) 22:26:00.87ID:???
>>659
そうですかー・・

http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html
変更点相当あるみたいですね。

後から変えたくなっても不便だし、
1.3じゃなきゃいけないような理由もないし、
早いとこ乗り換えたほうが良さそうですね。
2.1落としてきます。
0662nobodyさん2012/02/21(火) 22:28:23.70ID:???
でも2系の情報はまだまだ少ないよ?
俺の見立てでは後1年は情報や書籍は揃わないと思う
0663nobodyさん2012/02/21(火) 22:45:13.49ID:???
>>662
むむむむ・・
まぁやってみようと思います

困るかな
実際移行してる人はどんな感想をお持ちだろうか
06646592012/02/21(火) 23:19:39.41ID:???
>>663
今までのプロジェクトは全部1.xで作ってきたけど、最近全部1.3.14に上げた
とりあえずそれらは2系に上げる予定無し(1.3から2.0への全面書き換えはだるいのでしばらくは放置すると思う)
2.0のstableが出てからは全部2.0で作ってる
>>659にも書いたけど、RC出たからもう2.1に移ろうかと思ってる

個人的には複雑なことをやってないせいもあるのか2.0の情報が少ないという感じはない
昔からcakeは「公式ドキュメント読んで分からなかったらソースを読め」ってスタンスだしね
ああ、でも公式ドキュメントはまだ日本語ないから英語が全く出来ないとちょっときついか
0665nobodyさん2012/02/22(水) 00:24:37.21ID:???
お前ら>>654の回答頼むわ。な?
0666nobodyさん2012/02/22(水) 01:12:36.89ID:???
ありません。な?
0667nobodyさん2012/02/22(水) 01:34:03.12ID:???
このスレに質問書き込んで、回答が得られたことってないな
お前ら頼りなさすぎ
0668nobodyさん2012/02/22(水) 09:23:59.33ID:???
Yiiスレとのギャップがすごい。
0669nobodyさん2012/02/22(水) 10:44:07.07ID:???
2.0使いです。
updateAllで、
リレーション設定をしている他モデルで使用しているテーブルのデータを
保存することはできませんか?

Bコントローラ内
$condition = array('ModelA.neko' => 'mike');
$updatefield = array('ModelA.tag' => 'hoge');
$this->ModelB->updateAll($updatefield, $condition);

と書いても
General error: 1 near ".": syntax error
が出ます。
0670nobodyさん2012/02/22(水) 13:47:15.70ID:???
>>667
と言うより、2.0については使用者も少なく回答できないんじゃないか?
1.3系の質問は回答されてるし。

頼りないなら他行けば良いんだよ。別に質問スレでもないんだから。
0671nobodyさん2012/02/22(水) 18:20:43.51ID:???
システムのマイナーバージョンアップってcake以下(2.0だとlib)のコアファイル差し替えるだけでいいの?
0672nobodyさん2012/02/22(水) 20:21:09.89ID:???
すみません、質問です

2つの関連性の全くないテーブルA,Bがあります。
ある画面で、その2つのテーブルのデータをまとめて編集し、
1回のPOSTでValidationをかけて保存させたいのですが、
どうすればよいものでしょうか?

A,Bの項目をまとめたCモデルを作って、CモデルにValidationルールを書く。
POSTされたデータはCモデルでValidationを行う。
Validation後にAモデル、Bモデルにデータを分割して、それぞれで保存処理を行う。

こんな感じ?
0673nobodyさん2012/02/22(水) 20:46:24.93ID:???
よくわからんが、普通はAモデルはAモデルでバリデーションし、
BモデルはBモデルでバリデーションするだろ?
モデル毎にバリデーションできるんだから。
0674nobodyさん2012/02/22(水) 20:46:51.25ID:???
>>672
普通に

Aバリデーション
 ↓
Bバリデーション
 ↓
A保存
 ↓
B保存

ではなんでダメなの?
0675nobodyさん2012/02/22(水) 21:06:14.46ID:???
あとはトランザクション処理をかますくらいか。
0676nobodyさん2012/02/22(水) 22:53:27.87ID:???
>>671
それでOKだよ
0677nobodyさん2012/02/22(水) 22:58:29.26ID:???
>>672
1回のPOSTで2つのモデルをいっぺんに使うって話か?
普通に問題なくできそうなもんだが。
0678nobodyさん2012/02/22(水) 23:12:01.66ID:???
>>664
ありがとり
一応一通り移し変えることができました
ガシガシ構築していこうと思います
0679nobodyさん2012/02/22(水) 23:46:18.16ID:???
>>676
ありがトン
0680nobodyさん2012/02/23(木) 15:41:37.63ID:???
CakePHPの1.2のメンテナンス期限とか、公式な発表ってどこかにありますか?
0681nobodyさん2012/02/23(木) 16:23:25.15ID:???
>>655
本家だと数字ついてないけど日本のサイトだと1版って書いてあるから微妙だなw

>>680
公式な発表はないと思うけど、もうリリースがほとんど止まってる感じだからなあ・・・
っていうか1.1はいつのまにか公式から消えてるけどどこかでアナウンスあったっけ?
0682nobodyさん2012/02/23(木) 22:30:09.21ID:???
そんなことよりCakePHPを複合主キーに対応させる方法を教えろよ。な?
0683nobodyさん2012/02/23(木) 22:38:03.57ID:???
複合キーなんて使うなよw
0684nobodyさん2012/02/23(木) 22:40:40.54ID:7dkJC+lD
bar_controllerに、foosテーブルの中身をページネイションさせるとき
$this->paginate = array(
'conditions' => array(
"not" => array(
"Foo.bar" => "false"
)
),
'limit' => 2000,
'order' => array('Foo.date DESC')
);
$this->set('foo', $this->paginator());
と書いたら、「barsテーブルにFoo.barなんてない」ってエラーがでました
コントローラ名からモデルを補完してるんでしょうか?
どうしたらfoosテーブルのデータをページネイションできますか?
ご教示くださいますようよろしくお願いいたします
0685nobodyさん2012/02/23(木) 23:41:08.20ID:7dkJC+lD
$this->set('foo', $this->paginator());

$this->set('foo', $this->paginate('Foo'));
に書き換えたらいけました
0686nobodyさん2012/02/24(金) 04:00:19.56ID:???
モデルにprimaryKeyって必ず定義しないと行けないんですね。
プライマリーキーがないモデルにsaveしようとしたけど、エラー出ました。
0687nobodyさん2012/02/24(金) 09:30:06.44ID:???
>>686
Excelとデータベースの違いから勉強しようぜ
0688nobodyさん2012/02/24(金) 12:24:37.97ID:???
会員→日記
   →写真

のようなアソシエーションで繋がっているテーブルがあったとして、
会員情報を削除した時、その会員が投稿した日記や写真を
削除する必要があります。

その場合、会員情報を削除した後、日記・写真を削除しますか?
それとも全てアソシエーションで繋げてdeleteAllで削除しますか?
0689nobodyさん2012/02/24(金) 13:26:33.24ID:???
>>688
好きにすればいいんじゃね
deleteAllがアソシエーション含んだ削除って誤解してる気がするんだけど気のせい?
0690nobodyさん2012/02/24(金) 13:56:47.10ID:???
関連データも一括で削除するのはdependentだよね
0691nobodyさん2012/02/24(金) 14:01:26.76ID:???
>>689-690
まさに勘違いしてました・・。

アソシエーションの削除が上手く行かないので
自分は個別に削除するやり方をしているのですが、
勘違いだったようです。すみません。
0692nobodyさん2012/02/24(金) 19:09:30.64ID:???
XMLデータの出力って、CakePHP 2.0でどのように行えますか?

find('all')で複数県取得したデータを、1.3まではviewで$xml->serialize()に
データを渡していました。
2.0からはxmlHelper自体が廃止となって、代わりにXml::buildを使えとのことですが、
1.3と同様の複数県のデータを渡すと例外となります。

1.3と同様の結果が取得できるように死体のですが・・・
0693nobodyさん2012/02/24(金) 19:10:11.66ID:???
すみません、複数県→複数件です。
0694nobodyさん2012/02/25(土) 15:36:54.21ID:???
cake1.3を最近使い始めたのですが、
データベースを使うほどじゃない簡単なデータ保存処理のためにtxtファイルを読み書きしたいのですが、どこに置いてもうまくアクセスできません。
自分で用意したファイルにアクセスするにはどうしたらいいのですか?
0695nobodyさん2012/02/25(土) 16:53:26.47ID:???
データベースを使うほどじゃなかったら、cake使わない方が良いよ
0696nobodyさん2012/02/25(土) 17:03:08.52ID:???
テキストファイルのデータを読み込みたいのがデータベースから情報を持ってきてるページなのでそういうわけにもいかないのです・・・
テキストファイル自体は多くて10個程度のワードを保存&編集したいだけなのですが・・・
0697nobodyさん2012/02/25(土) 17:25:39.89ID:???
Cakeが発行する、SELECT COUNT(*) (ページネーションから?)が
ものすごい遅いんですが、解決法はあります?
みなさんどうしてます?
0698nobodyさん2012/02/25(土) 17:33:00.25ID:???
COUNTするのはgroup指定したカラムにすれば良いよ
0699nobodyさん2012/02/25(土) 17:52:58.99ID:???
>>698
ページネーションするときって自動でCOUNT発行されません?
0700nobodyさん2012/02/25(土) 18:04:29.58ID:???
>>694
自分で、model、またはdata sourceを書く。
csvならdata sourceあった希ガス
0701nobodyさん2012/02/25(土) 18:05:54.56ID:???
>>700
ありがとうございます
まずはdata sourceにつ
0702nobodyさん2012/02/25(土) 18:06:37.16ID:???
途中で送信すみませんorz

>>700
ありがとうございます
まずはdata sourceについて勉強してみます
0703nobodyさん2012/02/25(土) 18:19:28.48ID:???
>>702
ベタに書いてもOKな気もすっけど。。
とりあえず、Fileクラスもあるし。
0704nobodyさん2012/02/25(土) 18:21:48.77ID:???
>>703
のちのちワードを編集するので、直書きはできないんです
fileクラスについても調べてみます
0705nobodyさん2012/02/25(土) 22:48:10.62ID:???
1.3.14を使っています。フォームのバリデーションで質問です。
ラジオボタンの場合、項目を選択せずに送信すると
空データではなく、存在しないものとして扱われます。

ですので、バリデーションルールでnotEmptyを指定しても
正しく機能しないのですが、どうすればいいのでしょうか?
0706nobodyさん2012/02/26(日) 13:38:17.41ID:???
hidden
0707nobodyさん2012/02/26(日) 14:15:41.40ID:???
156
0708nobodyさん2012/02/26(日) 16:50:00.76ID:???
>>706
ありがとうございます。勉強になりました。
0709nobodyさん2012/02/27(月) 01:32:01.91ID:???
>>697
Model::paginateCount を 軽い処理で実装するとか
0710nobodyさん2012/02/28(火) 11:46:10.73ID:???
>>697
where句に使用しているカラムにインデックスはるとか、
joinしてるなら、その辺も確認したほうがいい。
0711nobodyさん2012/02/28(火) 15:16:02.31ID:pz8Lp3oa
[動作環境]CakePHP 2.0.6 / PHP 5.1.6 / Apache 2.2

ルーティングで躓いています。
以下のようなコントローラを用意しました。

class EntryController extends AppController {

var $name = "Entry";
var $autoRender = false;

function index(){
die('index');
}

function success(){
die('success');
}
}

http://example.com/entry/
は正しく実行され、'index'が表示されるのですが、
http://example.com/entry/success/
は、Segmentation faultが発生し、Abortします。

routes.php などの設定は、敢えて変更せず使用しています。
同じような現象を経験した方、いらっしゃいますか?(そもそも、2.0.6使っている人いるんだろうか)
0712nobodyさん2012/02/28(火) 15:21:47.73ID:???
success以外でも一緒?
また、http://example.com/entry/index は表示される?
0713nobodyさん2012/02/28(火) 15:25:44.20ID:pz8Lp3oa
>> 712
success以外でも一緒です。
/entry/index もダメです。
/entry/index/abc/def もダメです。
0714nobodyさん2012/02/28(火) 16:50:04.76ID:???
>>711 です。

Router::parse($request->url);
の結果を見ると、以下のようにルーティングが間違っているようです。
array(5) { ["controller"]=> string(7) "success" ["named"]=> array(0) { } ["pass"]=> array(0) { } ["action"]=> string(5) "index" ["plugin"]=> NULL }
Routerがちょっと怪しいので、調べてみます。
0715nobodyさん2012/02/28(火) 17:13:46.37ID:???
>711 です。
/lib/Cake/Network/CakeRequest.php に、おかしな箇所を見つけました。
下記引用の下から5行目、「$baseUrl」なんですが、どこでも宣言されていないのでif自体に意味がないようです。


protected function _base() {
$dir = $webroot = null;
$config = Configure::read('App');
extract($config);

if (!isset($base)) {
$base = $this->base;
}
if ($base !== false) {
$this->webroot = $base . '/';
return $this->base = $base;
}

if (!$baseUrl) {

//★ここを改編したらうまくいった
//$base = dirname(env('PHP_SELF'));
$base = '';
0716nobodyさん2012/02/28(火) 21:52:15.32ID:???
>>715
ソース見てみたけど確かに$baseUrlはどこでも値が入ってないね
0717nobodyさん2012/02/29(水) 02:33:19.83ID:???
1.3系でプラグインの作成方法について質問します。

公式のマニュアルを見ているのですが、
/pizza/pizzaOrders/index
でアクセスする方法は分かるのですが、
/pizza/
でアクセスするにはどうしたら良いのでしょうか?

普通に/app/controllers/pizza_controller.phpを作ればいいと思ったのですが、
作ってもアクセスエラーになります。
これってルーティングの設定になるのでしょうか?
0718nobodyさん2012/02/29(水) 08:54:37.66ID:???
>>709
1000件しか表示しない!って決めたら、
function paginateCount($conditions = null, $recursive = 0, $extra = array()) {
  return 1000;
}
こうしてもいいんですかね?
0719nobodyさん2012/02/29(水) 15:57:45.32ID:OuUO3AKR
>>717
プラグイン関係ない
ルーティングの問題
0720nobodyさん2012/02/29(水) 16:49:35.18ID:???
>>719
了解しました。ルーティングで調節します。
0721nobodyさん2012/02/29(水) 21:04:59.32ID:???
>>717
/app/plugin/pizza/controllers/pizza_controller.php
(要するにプラグイン名と同名のコントローラー)を作って、indexアクションを作れば
ルーター触らなくても/pizza/でアクセス可能だよ。
0722nobodyさん2012/02/29(水) 21:19:59.68ID:???
>>721
出来ました!勉強になります。ありがとうございました
0723nobodyさん2012/03/01(木) 05:51:29.65ID:???
モデルって別にテーブル名じゃなくても良いんだね
同じのでもサイトのコンテンツによって変えてる
0724nobodyさん2012/03/05(月) 10:09:01.94ID:???
2.1 Stableキター
つうかペース早いな
0725nobodyさん2012/03/05(月) 19:23:27.93ID:???
うおおおお
公式サイトも変わってCookBookもなんか綺麗になったー

マイグレーションガイドによると.htaccessの変更が必要という、
アップグレード時に見落としがちな変更があるのにリリース文では触れられてないな・・・
http://book.cakephp.org/2.0/en/appendices/2-1-migration-guide.html
http://bakery.cakephp.org/articles/lorenzo/2012/03/05/cakephp_2_1_0_just_landed
0726nobodyさん2012/03/05(月) 20:11:55.24ID:???
まだ開発中なんだけど、バージョアップすべきなのかな?
0727nobodyさん2012/03/05(月) 20:59:06.49ID:???
リリースしてないならageた方がいいと思う
2.0.xは今までのバージョン系列で一番寿命が短いし、下手したら1.3.xより今後のアップデートが期待できない気がする
0728nobodyさん2012/03/05(月) 23:06:32.47ID:???
>>727
ありがとう。
2.0.x系からならフレームワーク置き換えだけでいいのかな。
0729nobodyさん2012/03/05(月) 23:42:52.00ID:WIGrArNU
>>728
自分の一つ上のレスも見ようぜ!
0730nobodyさん2012/03/06(火) 01:02:47.42ID:???
次の開発案件から2.0系にしようとしてたら、もう2.1・・・。
2.0系は結局書籍も出ずじまいか。
0731nobodyさん2012/03/06(火) 03:40:14.04ID:???
互換性をきっちりしてくれないと困るにょ
0732nobodyさん2012/03/06(火) 21:43:10.65ID:???
>>727
ありがとう。
出来ました(゚ω゚)
0733nobodyさん2012/03/06(火) 22:01:24.25ID:???
2.0リリースが10月半ばだったから5ヶ月経たずに2.1出たのか
2.0は短命だったね・・・
本が出ないのもしょうが無いというか、出してしまっていたらすごい中途半端なタイミングになっていたと思う


1.2 2008/12
1.3 2010/04
2.0 2011/10
2.1 2012/03
0734nobodyさん2012/03/06(火) 23:43:25.94ID:???
Cakeにcreate tableする関数はありますか?
普通にqueryでベタSQL投げないと駄目?
0735nobodyさん2012/03/07(水) 18:16:47.78ID:???
お前らなんか言えよ
0736nobodyさん2012/03/07(水) 22:24:25.29ID:???
お前らがcakeで作ったもので、何を最大どのくらいの期間かかった?
俺はSNSで3ヶ月。
0737nobodyさん2012/03/08(木) 08:15:28.96ID:???
官公庁のシステム
2ヶ月3000万円
0738nobodyさん2012/03/08(木) 09:50:17.49ID:???
>>737
まじかよ。
あぁいう国の案件はどうやって仕事もらうの?

みんなやりたいよね。
0739nobodyさん2012/03/08(木) 10:16:55.80ID:???
てか、2ヶ月って凄いな。
国のシステムだからそんなに凝ったことはしてないだろうけど、
どんな機能があって2ヶ月なんだろ?

0740nobodyさん2012/03/09(金) 11:27:56.60ID:???
犯罪の香りがする
0741nobodyさん2012/03/09(金) 11:43:23.36ID:???
随意契約くさいな
0742nobodyさん2012/03/09(金) 12:57:11.13ID:???
2.0から始めたいのにマニュアルが英語しかないとかwww
0743nobodyさん2012/03/09(金) 13:13:11.92ID:???
英語英語うるせーよ、このスレ小卒ばっかりか?
0744nobodyさん2012/03/09(金) 14:27:27.18ID:???
お前は英語で書けよ
0745nobodyさん2012/03/09(金) 16:18:01.14ID:???
speak english or die
0746nobodyさん2012/03/09(金) 16:24:51.22ID:???
shine!
0747nobodyさん2012/03/09(金) 16:51:22.89ID:???
dieとかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
エイリアス使ってるバカってまだいたんだwwwwwwwwwwww
0748nobodyさん2012/03/09(金) 16:54:34.34ID:???
fack you!
0749nobodyさん2012/03/09(金) 17:40:19.41ID:???
OUTA MY WAY, WTF!!!!!!!!!!
0750nobodyさん2012/03/09(金) 17:54:30.33ID:???
アソシエーションするとき、プライマリキー以外とforeignKeyで
繋げるにはどうすればいいのでしょうか?
0751nobodyさん2012/03/11(日) 02:18:22.14ID:???
そんなことより誰か複合主キーに対応するためのプラグインを書けよ。な?
0752nobodyさん2012/03/11(日) 10:46:34.94ID:???
ビュー内の$this->Paginator->prev()とかnumbers()で吐き出されるリンクに
PHPSESSIDをくっつけたい(?PHPSESSID=hoge)んだけど、どうしたらいいかな

コアの$html->link()を書き換えたりしたらいけそうだけど、
もっとスマートな方法ある?
0753nobodyさん2012/03/11(日) 11:29:49.63ID:???
>>752
自己解決
'options' =>
array(
'?' => array(session_name() => $this->Session->id())
)
こうした
0754nobodyさん2012/03/11(日) 16:36:31.78ID:???
ソース追ったけどよくわからなかったので質問します。
CakePHPでのCookieを書き込む際に暗号化したデータをJavaScriptで復号するロジックはありますか?
0755nobodyさん2012/03/11(日) 22:15:13.63ID:+TvrXerP
うるせぇ!
いいからCakePHPで複合主キーに対応する為のプラグインを誰か書けや。
な?
0756nobodyさん2012/03/11(日) 23:31:02.18ID:???
>>754
ソース見る限り、Security::$typeで設定した暗号方式でSecurity.salt使って
それをbase64_encodeして暗号化してるっぽいので
それを逆に処理すればJavascriptでも復号化できると思う。
詳しくはcookie componentのソース見て。

だけど、複合に必要なキーのSecurity.saltをJavascriptに
書かないといけないので、そもそもなんで暗号化したんだって
ことになるので設計を見なおしたほうがいい。
0757nobodyさん2012/03/12(月) 00:06:16.05ID:uEcRtOSh
>>754
老婆心ながら、>>756が言っていることを強調しておく。
設計を見直せ。salt の意味がない。
0758nobodyさん2012/03/12(月) 13:24:30.73ID:???
よくある返信不可のメールアドレスって
@以前のユーザ作成してるのかな?noreplyみたいな
存在しないアカウントをreturn-pathに設定してメール送ってるのかな?
0759nobodyさん2012/03/12(月) 16:18:31.39ID:???
UI含めて設計について相談です。

複数チェックボックスを使って、チェックした項目をDBに登録し、
後から検索できるようにしたいと思います。疑問は2点。

1:テーブルの1つのカラム内にカンマ区切りで登録するのでしょうか?
2:その場合、conditionsで検索できるのでしょうか?
0760nobodyさん2012/03/12(月) 17:53:27.28ID:???
画像のサイズ別のURLって、
テーブルに保存してますか?
afterFindなどで組み立ててますか?
それとも、ビューでその都度組み立ててますか?
0761nobodyさん2012/03/12(月) 18:10:15.80ID:???
ビューで変えてます。携帯用の画像とか。
0762nobodyさん2012/03/12(月) 19:45:42.19ID:???
>>759
1は好きにしたらいい
2はインデックス当たらなくていいならできる
0763nobodyさん2012/03/12(月) 19:58:56.46ID:???
>>762
どうやって検索するのでしょうか?
1カラムにカンマ区切りのレコードがあったとして、
それをCakeのconditionsで検索する方法がわかりません
0764nobodyさん2012/03/12(月) 21:01:20.27ID:???
>>763
cakephpに配列をシリアライズして
登録するプラグインあるから、それ使え。
0765nobodyさん2012/03/12(月) 21:33:33.63ID:???
わかりました。探してみます
0766nobodyさん2012/03/12(月) 21:53:31.19ID:???
>>763
SQLのLIKEはわかってんのかな?
0767nobodyさん2012/03/12(月) 22:27:22.65ID:???
小一時間探しましたが、save時にシリアライズできるものの、
find時にconditionsで絞り込むのは無理みたいですね・・。
>>766
はい。それは分かりますが、登録されている値が
「1,10,11」みたいな場合、likeは利かないと思います。
0768nobodyさん2012/03/12(月) 23:32:17.51ID:???
>>756
>>757

ありがとうございます。
サーバサイドのJSでの実装を考えているため、種が漏れることはないと考えています。

ご回答/ご指摘ありがとうございました。
0769nobodyさん2012/03/12(月) 23:45:06.08ID:???
>>767
ソート順さえあっていれば、1かつ10かつ11なら column LIKE '%1,%10,%11,%' とかでいけるんじゃないの
ソートしてないのなら column LIKE '%1,%' AND column LIKE '%10,%' AND column LIKE '%11,%'
0770nobodyさん2012/03/12(月) 23:58:59.56ID:???
>>769
さすがにひどい。

>>767
方法1.「ビット演算 チェックボックス」でぐぐれ。
方法2.項目ごとにカラムを分ける。
0771nobodyさん2012/03/13(火) 02:48:15.55ID:???
脆弱性対策は大事だよ
http://www.1x1.jp/blog/2012/03/mass_assignment_vulnerability_cakephp.html
0772nobodyさん2012/03/13(火) 10:18:36.45ID:???
>>767
もっと頭使おうぜ
1,10,11
ではなくて
001,010,011
みたいにすれば、like %001% で検索できるだろ。
あくまで1例だから、データに何がくるかによって
良い実装があると思うので、よく考えて。
0773nobodyさん2012/03/13(火) 12:48:03.37ID:???
俺ならHABTMにしちゃうね
07747602012/03/13(火) 13:20:03.94ID:???
>>761
ビューが条件分岐だらけになりませんか?

if (!empty($post['Post']['image_filename']):

....

else:

こんな風に。

$post->getImageUrl(array('mobile' => true));
みたいに書けたらいいんですけどねぇ・・・
0775nobodyさん2012/03/13(火) 13:39:42.66ID:???
>>774
Helperつくれば?
0776nobodyさん2012/03/13(火) 13:45:55.38ID:???
>>775

そうなんですけど、
モデルの返り値が配列じゃなくてエンティティなら、
もっとスマートに書けるのに、と思いまして・・・

これがCake流なんですかね
0777nobodyさん2012/03/13(火) 13:53:09.13ID:???
>>772
その考えはありませんでした。勉強になります!

ビット演算の事を>>770さんから教えていただき勉強しましたが、
数学が苦手な私の頭ではさっぱりで、
単純にテーブルを分ける(Cake的にhasMany)を考えていました。

テーブルを分けて正規化する方法も一般的なようですが、
正直、チェックボックスを使用するカラムが必要な度に
テーブルを生成するのもどうかと思い、悩んでいました。

772さんの方法も視野に入れて設計面を工夫してみます。
みなさん、ありがとうございました。
0778nobodyさん2012/03/13(火) 22:24:16.17ID:???
likeなんか使ったらインデックス使えなくて
遅くなるだろw
0779nobodyさん2012/03/13(火) 23:03:53.03ID:???
>>776
エンティティが返ってこないのが俺がCakeが嫌いな理由の一つではある。
07807762012/03/14(水) 03:34:06.02ID:???
CakeEntityなんてのもあるみたいですが・・・

今はYiiを調べてる。
0781大便2012/03/15(木) 08:30:03.53ID:UhuckWxP
ペニー秋田は犯罪です。
早速ペニーオークションで破産しました。
0782nobodyさん2012/03/15(木) 15:50:54.34ID:???
>>778
別にLIKE使ったからってインデックス効かなくなるわけじゃないから
0783nobodyさん2012/03/15(木) 16:11:21.14ID:???
みなさん、プラグイン作成してます?
お問い合わせフォームとか会員専用ページとか
どのサイトでもよく使うファイルをプラグインにまとめるべきか否か悩みます。
0784nobodyさん2012/03/15(木) 20:50:17.13ID:???
>>782
効かなくなるが
0785nobodyさん2012/03/15(木) 21:19:00.56ID:???
>>783
どこまで汎用性もたせるか悩んで、
結局いつもコピペで済ませてる
0786nobodyさん2012/03/15(木) 21:56:56.36ID:???
ある程度規模でかいサイトで普通のLIKE検索はありえないよね。
0787nobodyさん2012/03/16(金) 00:00:22.47ID:???
普通はどうしてるの?
0788nobodyさん2012/03/16(金) 09:41:57.89ID:???
>>783
俺はまとめてるよ。
ログイン
リマインダー
新規会員登録
アフィリエイト機能とか。

うまく作れば使いまわし効く。
全部プラグインでやれるから
最近やることなくなった。
0789nobodyさん2012/03/16(金) 10:19:44.39ID:???
>>788
それらをプラグイン化して、サイトによってビューを修正する感じ?
0790nobodyさん2012/03/16(金) 10:41:05.32ID:pS4d35yu
ログイン状態のセッションが数時間で切れて困っています。
ログインすると
$this->Session->write('user',$user_id);
のようにコントローラ内のSessionに情報を保存していますが、これが数時間でread()しても値が取れなくなるようです。


core.php内で
Configure::write('Session.save','cake');
Configure::write('Session.timeout', (24*60*60*7));
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1000);
ini_set('session.cookie_lifetime', (24*60*60*7));
ini_set('session.gc_maxlifetime', (24*60*60*7));

Configure::write('Security.level', 'low');

としているので、1週間持って欲しいのですがダメみたいです。

何か方法はありますでしょうか。





0791nobodyさん2012/03/16(金) 20:57:57.62ID:???
>>789
具体的にいうと、
プラグインの中に
ビヘイビアと、コンポーネントを作る。

それをusercontrollerとmodelに読み込ませる感じ。
0792nobodyさん2012/03/16(金) 20:59:06.57ID:???
>>790
cookie使えばいいじゃん。
ses切れてても、cookieがあればそれでログインみたい。
0793nobodyさん2012/03/17(土) 00:04:22.68ID:???
>>791
なるほど。ビュー周りは特に変更しないんだね。
変更するならCSSをいじるぐらいか。
0794nobodyさん2012/03/17(土) 19:37:12.80ID:???
2.x対応のTreeHelperってないですか?
または修正版のサイトとかあれば
0795nobodyさん2012/03/19(月) 15:45:40.35ID:???
http://b.hatena.ne.jp/entry/anond.hatelabo.jp/20120318122617
これって結局安いの高いの
0796nobodyさん2012/03/19(月) 16:50:34.02ID:???
Qdmail(http://hal456.net/qdmail/)使ってるひといる?
さくらインターネットのメールサーバにQdmail使ってSMTP AUTHでメール送信してるんだけど、
何回か(4,5回が多い)に1回だけメール送れないんだよな

QdSmtp error: No Responce SYSTEM TIME OUT line -> 603
QdSmtp error: getMessage error line -> 543
QdSmtp error: Error From setting line -> 488
QdSmtp error: Send Data Error or Auth Error line -> 415
Qdmail error: Qdmail Version 1.2.6b ,PHP Version 5.2.11
Qdmail error: OS WINNT ; PHP Version 5.2.11 ; Qdmail version 1.2.6b
php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
Qdmail Status debug: 0, log: 3, errorlog: 0
Qdmail error: No send . Because SMTP mail method replied error line -> 2190
Qdmail error: Send Error line -> 2115
Qdmail error: Error happen, see upper line -> 2194
Qdmail error: Send Error line -> 2115

画面にこんなエラーが吐き出されてメール送信されない。
エラー行だって言われてるところを見てもエラー行を出力する処理しか書いてなくて
どういうエラーが起こったのか全然わからない・・・。

同じような事になった人いないかな?
0797nobodyさん2012/03/19(月) 17:26:02.77ID:???
スレ違い
0798nobodyさん2012/03/19(月) 17:27:57.85ID:???
>>797
すまん、一応CakePHPのコンポーネントとして使ってるし、
Cake使ってる人でメール送信する人はこれ使ってる人多そうだからここで聞いてみた

PHP質問スレで聞いたが、そこでもスレ違いだとさ・・・。
ライブラリの質問できる場所無いみたいなんだよな
0799nobodyさん2012/03/19(月) 19:02:54.22ID:???
>>798
そうじゃなくて、ライブラリ自体、公式でサポートしてるんだから
そっち行けってことっでしょ。エラーメッセージすら読めてないし。
フレームワーク以前の問題だ
0800nobodyさん2012/03/20(火) 05:09:01.21ID:???
qdmailって、公式もサポートほとんどしてないだろあれ。
エラーメッセージもいいかげんだし。
0801nobodyさん2012/03/20(火) 09:47:42.67ID:???
>>800
わかる。
0802nobodyさん2012/03/20(火) 22:24:51.38ID:???
じゃ、qdmail使わずに自作しろよ。
メール送信なんて今まで作っていたのあるだろ。
0803nobodyさん2012/03/20(火) 23:14:24.46ID:???
・マルチバイト対応
・HTMLメール
・添付ファイル
こういうの対応しようとすると結構自作でやるのはな、、、
0804nobodyさん2012/03/21(水) 12:11:52.99ID:???
いやいや、普通に1000行もかからずコード書けるから。
フレームワーク使う前に作っていたものがあるだろ。それ使えよ。
0805nobodyさん2012/03/21(水) 18:27:13.50ID:???
cake使っててシェルでURLを組み立てたいときは何を使えばいいですか?
0806nobodyさん2012/03/21(水) 20:09:46.98ID:???
シェルでURLを組み立てたいって意味がわからないんだが
0807nobodyさん2012/03/21(水) 21:31:40.83ID:???
>>804
オレオレフレームワークつかっとけよw
0808nobodyさん2012/03/21(水) 23:19:44.62ID:ZAI6cSPi
$this->set('select', $this->Foo->find('list', array(//select要素
'fields' => array(
'Foo.id',
'Foo.firstname'
)))));
とすると、
$form->select("Foo.bar", array($select), 0, array('empty' => null))

select要素の中に
<option value="Fooのid">Fooのfirstnameの中身</option>
というのができるんですが、
これを
<option value="Fooのid">Fooのsecondnameの中身 Fooのfirstnameの中身</option>
としたいんですが、find('list')は一対でしか使えないんでしょうか?
やり方をご教示いただけたら幸いです
08098082012/03/21(水) 23:27:53.96ID:ZAI6cSPi
自己解決しました
allで読んで、
foreach ($select as $value) {
$talent_data[$value['Foo']['id']] = $value['Foo']['secondname'] . ' ' . $value['Foo']['firstname'];
}
$this->set('select', $select);
でlistで作ったoption群と同じ形式のリストデータが生成されました
0810nobodyさん2012/03/22(木) 00:13:00.01ID:???
modelにrule=>urlを書いたらurl欄が空欄もurlが正しくないになってしまうんですが、
urlが空でもよくて、入っていれば正しいURLか判定する、という風にするやり方がありましたらお教えください
0811nobodyさん2012/03/22(木) 00:20:23.77ID:???
allowEmpty
0812nobodyさん2012/03/22(木) 00:35:14.75ID:???
>>811
ありがとうございます、解決できました!
0813nobodyさん2012/03/22(木) 02:02:03.59ID:???
>>806
URLをTwitterに投稿するときに使おうと…
0814nobodyさん2012/03/22(木) 10:58:28.03ID:???
>>807
煽る意味がわからん。他人のライブラリは使えないと言い、
自分でも自作できないとかワガママすぎるだろ。
0815nobodyさん2012/03/22(木) 19:38:50.77ID:???
>>814
先に煽ったのは>>804じゃね
フレームワークスレで、自分で書いたもん使えて
0816nobodyさん2012/03/23(金) 00:01:31.13ID:???
おかしくないだろ。なんでも他人を頼ろうとするなよ。
自分でコンポーネントやヘルパー作れるようになってるんだから。
0817nobodyさん2012/03/23(金) 10:24:37.19ID:???
up
0818nobodyさん2012/03/23(金) 11:50:45.97ID:???
自分で簡単に組める人はここで質問しないだろ。自分が見落としてるだけで、他のいいモジュールがあるのかも?って淡い期待で書き込んでるんだとおもうよ。自分で組むしか方法が無い。っていう結論を貰えるだけでも嬉しいのでは?
0819nobodyさん2012/03/23(金) 13:36:50.00ID:???
なにかおかしくね?自分でプログラミングせずに、
いきなりフレームワーク使い出したというのか?
大体は参考書やらネットの情報やらで適当なプログラム作って、
慣れた後に効率化を求めてフレームワークを使い出すと思うんだが。
0820nobodyさん2012/03/23(金) 13:42:01.91ID:???
mail関数やmb_send_mail関数でメール送信しようとして
文字化けしたり、上手く送れなくてネットで調べながら
自分なりの「メール送信ライブラリ」を作ると思うんだが。

で、その後に添付ファイルやらHTMLメールやらを送信したくなって
qdmailのような他人が作ったライブラリを探すというのなら分かるよ。
でも、いきなり上記の部分すっ飛ばしてCake使って
「上手く動きません><」とか言われても、勉強不足以外の何者でもないだろ。
0821nobodyさん2012/03/23(金) 16:25:24.36ID:???
仲良くしようぜ。
0822nobodyさん2012/03/24(土) 15:01:00.43ID:oSWZUaYy
メール関連の機能が大幅に向上したバージョン2.1を使えばよい。
0823nobodyさん2012/03/24(土) 18:51:05.67ID:???
kwsk
0824nobodyさん2012/03/25(日) 01:08:52.69ID:???
paginatorでクエリを渡そうと思って
$paginator->options(
array('url' => array('?id=' . $id))
);
とやったんですが、
foo/?id=100/page~1
みたいなurlになってしまってうまく動作できません
foo/page~1?id=100
となるようにしたいんですが、optionsをどう書き換えたらいいんでしょうか?
0825nobodyさん2012/03/25(日) 19:19:28.98ID:???
>>824
array( '?' => array( 'id' => $id ))
って感じじゃなかったかな
0826nobodyさん2012/03/25(日) 23:49:03.03ID:???
Router::url(array('controller' => 'test', 'action' => 'index', 'id' => $id))

みたいな事をしてURLを生成しているのですが、
パラメータ部分を予め設定しておく事は出来ないのでしょうか?
0827nobodyさん2012/03/26(月) 08:08:50.35ID:???
>>826
ヘルパーでも作る
0828nobodyさん2012/03/26(月) 18:44:48.32ID:+fypSFER
フォームヘルパーを使って同じフォームを1ページの二カ所以上に作ると
formタグのidが重複しちゃうけど、どうやって回避するのがスマートかな
今はform->createでid指定して別名にしてるけど、あまりスマートに思えない
0829nobodyさん2012/03/26(月) 19:11:54.92ID:???
フォームヘルパーってぶっちゃけ要らない機能だよね
最初は便利なのかなと思ったけどしばらくいじって思い通りにいかないから
ないものとして普通にformタグ書くようにしたら能率上がったわ
0830nobodyさん2012/03/26(月) 23:14:30.50ID:???
>>829
確認の時どうしてるんだ?次のページに推移して「エラーがあります」か?
0831nobodyさん2012/03/27(火) 00:49:24.75ID:???
>>829
いや、使った方がいいよ。
俺もベタ書きやってたけど使わないとエラー処理が困る。
0832nobodyさん2012/03/27(火) 01:42:43.77ID:J3nZuwJg
バリデーションエラー時に普通の方法だと
エラーが出たフォームの上(下だっけ?)にメッセージが表示されるけど
任意の場所に表示したい場合はどうしてる?
0833nobodyさん2012/03/27(火) 03:37:14.44ID:???
<?php echo $form->error('Post.name')?>
0834nobodyさん2012/03/27(火) 14:05:24.25ID:???
CakePHPで「INSERT〜ON DUPLICATE KEY UPDATE」
は使えないのでしょうか?使える場合は書き方を押してください
0835nobodyさん2012/03/27(火) 14:37:07.94ID:???
CakePHPの質問を書いたら、ちゃんと答が返ってくる掲示板ないでしょうか
0836nobodyさん2012/03/27(火) 17:57:15.57ID:???
>>835
cakephpのコミュニティで質問すれば。
http://cakephp.jp/modules/newbb/index.php
0837nobodyさん2012/03/27(火) 18:30:51.02ID:???
>>834
Model -> save()
0838nobodyさん2012/03/28(水) 22:39:25.33ID:???
設計って結構迷うよね・・。

編集でidが2つある場合、URLが/post/edit/1/2
みたいになるけど、これってわかりづらいよね。
ピュアPHPの、edit.php?parent_id=1&id=2の方が分かりやすい気がする。
まぁ、Cakeでは/edit/parent_id:1/id:2 というURLにはなるんだけどさ・・・
0839nobodyさん2012/03/28(水) 22:40:41.18ID:???
>>838
ID=一意に表すもの
だし1つで表せないとしたらそれはIDじゃない
1つで表せるならURLに含ませる必要ない
0840nobodyさん2012/03/28(水) 23:05:18.11ID:???
>>839
別々のものに同じidが割り振られているのはおかしいが、
ひとつのものに二つ以上のidが振られているのは問題なくね?
0841nobodyさん2012/03/28(水) 23:10:52.27ID:???
>>840
問題ないけど、2つ持たせる意味がわからないし、
仮に持たせたとしてもそれをURLに含ませる意味もわからない
0842nobodyさん2012/03/28(水) 23:15:51.51ID:???
>>841
管理画面があったとして、
ユーザID・1が投稿したお知らせのID2を見たいとする。

ピュアPHPなら、edit.php?user_id=1&id=2だよな?
Cakeなら/edit/1/2か/edit/user_id:1/id:2だな。
セッションに含めて持ち回る方法もあるけど、
毎回セッションに入れるのはおかしくないか?って思うからさ。
0843nobodyさん2012/03/28(水) 23:24:56.61ID:???
edit.php?id=2
じゃだめなの?
0844nobodyさん2012/03/28(水) 23:32:10.02ID:???
ピュアPHPだとそれで良いんだよ。でもCakeだと迷うだろ?
Cakeの書き方で言えば、
/news/add/1  この1はuser_idの1
/news/edit/2  この2はidの2
URLを見ただけでは混乱する
0845nobodyさん2012/03/28(水) 23:46:26.83ID:???
POSTすりゃええやん
0846nobodyさん2012/03/28(水) 23:58:08.70ID:???
迷うだろって言われても迷わないよな
0847nobodyさん2012/03/28(水) 23:59:20.33ID:???
>>846
ほんとに?自分だけで分かるからOKって考え方なの?
ちなみに、/edit/1/2みたいな書き方はBaserCMSでもやってた
0848nobodyさん2012/03/29(木) 00:03:50.49ID:???
自己レスだけど、コーディング時は迷う事はないか。
Router::url('/news/edit/' . $data['Newsr']['userid'] . '/' . $data['News']['id'])
になるわけだし。単なるURL上での事ならこだわる必要ないかな。
外部に公開するわけでもないし。
0849nobodyさん2012/03/29(木) 00:06:24.29ID:???
>>847
自分だけわかるもくそも、URLの規則を万民にわかるように書くことなんてそもそも無理じゃね?
0850nobodyさん2012/03/29(木) 00:14:21.30ID:???
>>849
そうだな。規約に従おうとこだわりすぎてたわ。
自分が作りやすい方法でやるよ。色々ありがとう
0851nobodyさん2012/03/29(木) 00:19:24.06ID:???
>>850
URLでなんのページかわかりやすくしようというのは、ユーザビリティの面からも正しい考え方だけど
この件に関しては>>844の書き方で充分わかりやすいといえる範疇だと思う
0852nobodyさん2012/03/29(木) 04:02:59.81ID:???
>ピュアPHPなら、edit.php?user_id=1&id=2だよな?
>Cakeなら/edit/1/2か/edit/user_id:1/id:2だな。

誰がこんなこと決めたの?
Cakeだって/edit?id=1&id=2ってやるだろ。
0853nobodyさん2012/03/29(木) 10:57:51.78ID:???
さすがにそれはやらない
0854nobodyさん2012/03/29(木) 22:50:57.56ID:???
/edit/parent_id/1/id/2 とか
0855nobodyさん2012/03/29(木) 23:14:23.59ID:???
user_idがidから引っ張ってこれるんならURLに含めないな
usernameなら/news/tanaka_ichiro/123みたいな感じで含めてもいいと思うけど
どうしてもuser_idもidも含めたいのならnamedパラメータ使って/news/user_id:1/id:2とかにする
0856nobodyさん2012/04/01(日) 00:45:58.67ID:OiSFrCKx
ブラウザのエンコードの切替ができないんだけど2.x系って特別な設定あるのかな?

1.x系の場合コントローラに
function beforeFilter(){
//携帯なら
if($this->Ktai->is_ktai()){
Configure::write('App.encoding', 'SJIS');
$this->layout = "mobile_layout"; //charset=shift_jis"
}else{
って書けばブラウザのエンコードが既存の「UTF-8」から「SJIS」に切り替わるのに2.x系だと「UTF-8」のまんまだ。。。
かなり嵌ってるんだけど分かる人いるかな?
てか俺の環境がおかしいのかな??
0857nobodyさん2012/04/01(日) 02:38:57.47ID:???
App.encodingってシステム的なエンコードの設定で、出力のエンコードとは関係ないんじゃないの
設定したことないから知らないが
ヘッダーはutf8とsjisどっちなの?
0858nobodyさん2012/04/01(日) 03:16:24.89ID:OiSFrCKx
>>857
PCと携帯でエンコードを分岐したくて
PC -> UTF-8 携帯 -> shift_jis
core.php自体に記述しているのは
Configure::write('App.encoding', 'UTF-8');
なんだけど、携帯のページを表示するときは
beforeFilterでConfigure::write('App.encoding', 'SJIS'); に変更してます
cakephp1.3だとこの設定でブラウザのエンコードはshift_jisに変更されるんだけど
2.x系だとUTF-8のまま。。。
core.php自体をConfigure::write('App.encoding', 'UTF-8');に書き換えると
ブラウザのエンコードはshift_jisに代わるんだけどcore.phpだと分岐処理書けないから困っています。
2.x系だと別の処理が必要なのかな?
0859nobodyさん2012/04/01(日) 03:18:29.30ID:OiSFrCKx
>>858
>core.php自体をConfigure::write('App.encoding', 'UTF-8');に書き換えると

上記は
Configure::write('App.encoding', 'SJIS');の間違いです。
誤植すいません。。。
0860nobodyさん2012/04/01(日) 17:58:24.58ID:???
軽く調べてみたけどApp.encodingは内部コードの設定だからやっぱり出力のエンコードとは関係ないよ
ケータイ対応したいならこういう感じに書いたら?
http://webengineerlife.com/2012/02/08/cakephp-pc-mobile/
0861nobodyさん2012/04/02(月) 00:51:25.23ID:ZyijX88y
>860
ありがとう
ちょっと試してみます。
携帯ライブラリとか使って複雑になってるのも原因の1つかもです。。。
0862nobodyさん2012/04/03(火) 18:18:51.92ID:???
cakephpでもhavingが使えるんだな。
そしてhavingってめちゃくちゃ便利だな。
これのお陰でDBの設計が楽になった。
0863nobodyさん2012/04/04(水) 18:16:19.49ID:???
フォームヘルパーでのサニタイズは何もしなくても自動でしてくれるけど、
表示(コントローラからset)の場合は、個別でサニタイズしなきゃいけないんだな

この点忘れてた・・・
0864nobodyさん2012/04/05(木) 00:28:36.65ID:???
1.2経験しかなかったんだけど初めて2.1使ってみたら
ローカルのxampp環境でmodelがbake出来ないんですけど。。
cliのphpが「問題が発生したため・・・」になる
0865nobodyさん2012/04/05(木) 23:35:57.76ID:???
findの条件で、
テーブルFoosのflagがonのものだけ取り出したいとき、
'conditions' => array(
'Foo.flag' => 'on'
),
と書いてできたんですが、
Foosのflagがonでかつ、
Foosのlawと同じ値のBarsテーブルのidの、deleteがoffのもの、というのを条件にしたい場合どう書けばいいでしょうか?

具体的には、
Foosのテーブルには商品リスト、Barsには業者データがあり、
取り扱っている商品、でかつ、倒産していない業者、の商品リストだけ取り出したいのです

よろしくお願いします
0866nobodyさん2012/04/06(金) 01:33:16.23ID:???
ローカル環境にApach + PHP + MySQLの設定をするのが
面倒なのでレンタルサーバにリモートプロジェクトとしてEclipseでバンドして
作業してるんですが、こういった開発手法ってNGでしょうか?
0867nobodyさん2012/04/06(金) 11:00:58.23ID:???
自分が良ければおkだと思うよ
0868nobodyさん2012/04/06(金) 11:22:58.85ID:???
ありがとう。勇気付けられました(?)


ローカルとサーバで2度設定をする手間を考えるとやはり
直接サーバ上でコードをいじった方が効率が良いと思うんだよね。
0869nobodyさん2012/04/06(金) 11:44:34.19ID:???
>>868
俺もそう思う。
0870nobodyさん2012/04/07(土) 00:51:33.09ID:4OZyxrY6
下記サイトを参考にしCakePHP 2.1.1安定板をダウンロードし
さくらインターネットに設定しようと思っているのですがどうしてもうまくいきません。
http://mori.moripower.jp/eqwip/cakephp/370.html

どの部分でエラーが起きているか追いかけてみたところ
/home/user_name/www/app1/index.php
において、下記判定処理でインクルードに失敗していました。
if (!include(CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) {

bootstrap.php自体のパスは下記が正の筈なので
直接(べた)書きで試してみましたがやはりダメでした。
(bootstrap.phpの権限を 755に設定してもダメ)
/home/user_name/cake/lib/Cake/bootstrap.php

どなたか同じ様な体験をされた方はいませんでしょうか?
0871nobodyさん2012/04/07(土) 01:04:14.05ID:ET0rgidW
そんなこと今更知ったのか、バカを晒して楽しいか?
0872nobodyさん2012/04/07(土) 01:11:46.23ID:???
>>870
それだけ見るとディレクトリ構成を間違えたかindex.phpのパスの設定が間違ってるっぽいけどなあ
0873nobodyさん2012/04/07(土) 01:52:28.91ID:???
>>872
>>870
に記載のURL通りに指定しております。
ちなみに bootstrap.php の中では定数等を定義しているだけの様なのですが
このファイルの読込は、CakePHPの実行には必須なのでしょうか?

また、さくらインターネットにおいて、最新のCakePHPの導入が出来る様に
解説したサイトをご存じでしたらお教えください。

どうも私の方でぐぐってヒットするサイトは
2・3年前の古い物ばかりで最新のCakePHPには即していない様です。
0874nobodyさん2012/04/07(土) 09:38:19.35ID:PHPJ9271
1.3時代からいじっていないから何か違うかもしれないが

>bootstrap.phpは必須か?
bootstrapは、起動時の設定をまとめたりしてるもんなんで必須なはず

おまいさんのスキルが見えないので余計なアドバイスかもしれないがとりあえず、CAKE_CORE_INCLUDE_PATHの内容を調べてみてどうよ?
08755192012/04/07(土) 11:17:18.36ID:???
>>874
見事なIDを見た
0876nobodyさん2012/04/07(土) 11:21:45.79ID:???
名無しに戻し忘れorz
ぬかったわ。。。
0877nobodyさん2012/04/07(土) 12:05:32.12ID:???
>>874
定義された内容でもって直接includeしたのですが
それでもダメでした。

もうちょっといろいろと試してみます。
0878nobodyさん2012/04/07(土) 12:43:18.13ID:???
ちょっと気になっているんですけど
CakePHP って途中で開発終了の可能性は他のFWと比べて高いですか?低いですか?
0879nobodyさん2012/04/07(土) 12:54:05.32ID:???
誰にもわからないことだな

1つ言えることは、ZFに比べたら確実に高いということぐらい。。
0880nobodyさん2012/04/07(土) 13:09:04.61ID:???
せっかくCakePHPの癖をつかんだとしても
終了してしまったら学習コストの無駄になるのを恐れている。

やっぱしZFの方が無難かな?
0881nobodyさん2012/04/07(土) 13:23:49.88ID:???
zendはコンポーネント群にすぎないから、位置づけがCakeとは異なるよな。
0882nobodyさん2012/04/07(土) 14:05:56.13ID:???
コストの無駄たって、経営者が新人教育について言ってるんだならまだしも
自分の脳みそのしわを増やすのにコストで考えるのはわからんw
浅く広くでもどれでも触って使えるようになっとけばいいよ
0883nobodyさん2012/04/07(土) 16:48:09.15ID:???
とりあえず、俺は1.3をあと2年は使い続ける
0884nobodyさん2012/04/07(土) 18:01:43.94ID:???
フォームの確認ページでのサニタイズってどうしてます?
$this->dataを一括でサニタイズする処理をするか、
確認ページのビューで<?php echo h($this->data['Post']['name'])?>
みたいにするかどちらかだと思っているのですが、
他に良い方法や考え方はありますでしょうか?
0885nobodyさん2012/04/07(土) 18:21:39.17ID:???
サニタイズいうなキャンペーン開始
0886nobodyさん2012/04/07(土) 23:59:10.64ID:???
Cakeでそう言う名前だろw
0887nobodyさん2012/04/08(日) 10:36:25.86ID:4ALRLsfw
>>875
うぉ!自分で書いてて気づかなかった。IDの仕組み分からんからこの書き込みIDどうなるか分からん。。。

>>884
ビューでエスケイプ。責任をしっかり分けておかないと後で後悔する
0888nobodyさん2012/04/09(月) 01:52:30.87ID:???
>>873
さくらじゃなくてxreaとかcoreserverとかの設置方法見たら?
/home/username/cakephp
/home/username/www
という感じに分けて、コアファイルをパブリックに置かないようにするのは一緒だよ

xreaだと
/virtual/username/cakephp
/virtual/username/public_html
とかになるけど
0889nobodyさん2012/04/09(月) 11:26:19.21ID:gWXPCP/C
Cakephp2.1.1のモデルのファイル名に関して質問させてください
ローカル(mac)の環境ではファイル名を小文字のみ(example.php)にしても読み込まれるのですが、
サーバー(centos)では一文字目を大文字(Example.php)にしないと読み込まれません
最新のCakephpはモデルのファイル名が大文字で始まるようなのですが
ローカル環境では小文字でも動いています
これはapacheの設定かphpの設定かosの設定なのでしょうか!?
0890nobodyさん2012/04/09(月) 12:26:26.44ID:???
ローカルのOSがファイル名の大小を区別するかは調べた?
0891nobodyさん2012/04/09(月) 13:37:22.79ID:???
下記階層にCakePHP一式を配置し各種設定を行った後、
マルチドメインにて設定したパスに、アクセスしてみたところ
一応CakeFW自体は正常に動作している様に見受けられるのですが
(CakePHP:the rapid development php framework が表示されました。)

/home/{user_name}/www/multi_domain_directory

下記CSSがあたっていません。
<link rel="stylesheet" type="text/css" href="/css/cake.generic.css" />

ソースを開きその中のCSSの読込をクリックすると
本来は app/webroot/css/cake.generiuc.css
が認識されないといけないハズなのですが webroot/css が認識されないです。

どうすればCSSが正常に認識される様になりますでしょうか?

※一応CakeFWを追いかけると lib/Cake/view/Helper/HtmlHelper.php / function css()
にてロードをやっている様なのですが
こちらは、FW本体なので手は入れたく無いです。
0892nobodyさん2012/04/09(月) 16:51:20.49ID:gWXPCP/C
>>890
おーこれだ
macのファイルシステムがHFS+ってのでこれが大文字小文字区別しないんですね
半日も嵌ってしまたけど勉強になった
どうもです
0893nobodyさん2012/04/09(月) 17:02:12.28ID:???
1.3系でプラグインの作成で質問です。

>>721でindexアクションを作ればプラグイン名のみでアクセス可能となりますが、
/pizza/addの場合、エラーになります。/pizza/indexでもエラーです。

プラグイン内のコントローラを参照しているからこうなると思うのですが、
プラグインで/pizza/addとか/pizza/editのアクション指定したい場合は、
ルーティングをいじらないといけないのでしょうか?
0894nobodyさん2012/04/09(月) 20:13:47.19ID:???
cakePHPってYiiとかなり似通ってるね。
0895nobodyさん2012/04/10(火) 11:26:36.93ID:???
レイアウト全体をキャッシュせずに
「$content_for_layout」の内容のみキャッシュしたいのですが、
どうすればいいのでしょうか?
0896nobodyさん2012/04/10(火) 12:05:36.17ID:???
外部に公開する場合に

→ Error: 23423Controller could not be found. ←

こーいうエラーメッセージを表示せずに
存在しないページ、URLでアクセスされた場合には
事前に用意したエラーページ(メッセージ)を表示したいのですが
どうすればよいでしょうか?
0897nobodyさん2012/04/10(火) 12:24:22.68ID:R7ZoSsIJ
2になってから$_GET['url']って読まなくなった?
0898nobodyさん2012/04/10(火) 13:53:53.12ID:???
>>897
マイグレーションガイドぐらいは読もうぜ
http://book.cakephp.org/2.0/en/appendices/2-0-migration-guide.html#request-handling-get-url-and-htaccess-files
0899nobodyさん2012/04/10(火) 15:35:48.29ID:???
仕様を変える方が悪い
0900nobodyさん2012/04/10(火) 15:45:33.60ID:???
POSTフォームだと$this->request->dataの内容に応じて
インプットの値が自動で上書きされるのに、
GETフォームだと、空のままなんですが、
自分でマージするしかないのでしょうか・・・?

$this->request->data = $this->request->query;
とやってもダメでした。
0901nobodyさん2012/04/10(火) 16:19:05.60ID:???
>>895
layoutのcontent_for_layout以外のところをnocacheでくくってみたら?

>>900
getでもフォームの内容は引き継がれるはずだよ
遷移先のフォームのIDとかnameが変わっちゃってない?
09029002012/04/10(火) 16:51:59.32ID:???
>>901
うーん・・・私の環境だと引き継がれませんね。
ちなみに2.1系です。
09038642012/04/10(火) 23:50:19.65ID:???
もし同じ状況の人がいたらあれなんで一応動いた解決法
http://d.hatena.ne.jp/kanonji/20090819/1250655003
↑のとおりdll書き換えてCLI落ちなくなった
0904nobodyさん2012/04/11(水) 10:44:38.27ID:???
誘導されましたのでよろしくお願い致します。


cakePHPのヘルパーを使って画面遷移させようと
しているのですが、出力されたリンクに関係ない文字列(ここでは、 /app )
が勝手に付加されてしまい困っています。

<?php echo $this->Html->link('JUMP', '/jump', array('class' => 'button', 'target' => '_self')); ?>


ここでは、本当は (B)の形でhtmlを出力したいです。どうすれば良いでしょうか?

(A) <a href="/app/jump" class="button" target="_self">jump</a>
(B) <a href="/jump" class="button" target="_self">jump</a>
0905nobodyさん2012/04/11(水) 16:48:45.18ID:???
管理者が管理画面から会員ページに移動したいと思っています。
会員のパスワードは暗号化されるので、通常のログインでは無理です。
こういう場合って、単にAuthのセッション情報を付与して
会員ページにリダイレクトするだけでしょうか?
0906nobodyさん2012/04/11(水) 18:45:08.55ID:???
管理者としてではなく、管理者が会員Aさんになりすましてログインするってこと?
嫌な仕様だなw

会員ページのメンテナンスとかしたいなら管理者権限でそう言うのできるアクションを
作ればいいのでは
0907nobodyさん2012/04/11(水) 21:58:40.91ID:???
>>904
PHP上級者スレとのマルチ
09088642012/04/11(水) 22:08:14.47ID:???
>>904
cakeでの/はcake_appのルートになるからその動作が適切だよ
普通にHTMLで
<a href="/jump" class="button" target="_self">jump</a>
って書けばいいじゃん。
もしかしたら
'/../jump'で解釈してくれたりしないかな?知らないけど
0909nobodyさん2012/04/11(水) 22:08:55.22ID:???
名前やちまたorz
0910nobodyさん2012/04/11(水) 22:12:31.92ID:???
てかこれでブラウザが解釈してくれるわな
吐き出されるのはこうなるけど
<a href="/app/../jump" class="button" target="_self">jump</a>
0911nobodyさん2012/04/11(水) 22:50:15.55ID:Ko+Ap9VU
>>904
routingのprefixかなんかで特殊な設定してない?
appという文字列がどこからやってきたのか検討もつかない状態なの?

>>905
Authでログインしようとしても無理だと思うので>>906でいいんじゃない
0912nobodyさん2012/04/11(水) 23:12:38.64ID:???
>>908
cakePHPをせっかく使っているので直接書きはしたくないです。

>>911
基本的にcakePHPのベースコードは何もいじっていないのですが
FWにデバッグコードを入れておっかけてみます。

>>907
お前の投稿自体マルチだろ。しね。
0913nobodyさん2012/04/11(水) 23:16:31.45ID:???
>>908ですが、、、

あれ?cakeルートがサーバーのウェブルートで無い場合に、
Html->link()つかってサーバールートへリンクしたいってことじゃないの?

つまり、サーバールートの下にappってディレクトリがあってそこがcakeのルートになってるんじゃないの?
0914nobodyさん2012/04/12(木) 12:04:20.30ID:???
cakePHPでは一般的に共通で使用されるファンクションは
どこに定義しますか?

パスを教えてください。
Utility的な自己ライブラリを定義したいと考えています。
0915nobodyさん2012/04/12(木) 12:18:39.89ID:???
ファンクション群ならbootstrapじゃね
外部にしてincludeか
09169052012/04/12(木) 13:56:49.96ID:???
>>906>>911

私も管理画面に会員情報を編集できるページを作っていたのですが、
管理画面から対象の会員としてログインし、
会員情報の修正をしている市販CMSを結構見るんです。

たぶん、同じような箇所を管理画面用・会員用と分けて作るのは
手間がかかるからログインし直すという事で対処していると思うのですが、
あまり良いやり方ではないみたいですね。
0917nobodyさん2012/04/12(木) 18:05:37.36ID:???
成りすましをしているようで変態的
0918nobodyさん2012/04/13(金) 01:19:58.45ID:???
>>914
vendorにライブラリとして突っ込む

>>916
ユーザーが実行できる範囲の行動を管理者が行うという前提であれば
手抜きの方法としてナシではないのかもしれないけど、スマートでないのは確か
というかユーザーが修正できるんならユーザーに修正させるべきじゃね?
管理者がユーザーの設定代行するって言うのはかなりの最終手段のような気がする
0919nobodyさん2012/04/13(金) 14:04:43.06ID:???
Cakephp のメソッド引数として全角文字列を入れて動かしているのですが、
なぜかIEでだけ、動きません。

http://hostname.jp/controller/action/全角の検索ワード

という感じのアクションなのですが、Chromeでは問題なく動いているのですが、
IE系のブラウザではまったく動いてくれません。検索ワードが半角文字だけですと、IEでも動いています。

そもそもCakeのメソッド引数に上記の方法で全角文字列を渡してもいいものなのでしょうか?
なにか別にいい策があればご教示ください。
0920nobodyさん2012/04/13(金) 14:52:39.24ID:???
全角?
古臭い用語だな
0921nobodyさん2012/04/13(金) 15:01:55.33ID:???
>>920
マルチバイト文字のことです。正確にはUTF-8の日本語文字列です。
0922nobodyさん2012/04/14(土) 00:10:19.08ID:???
>>919
Cakeとか関係ない。

UTF-8で書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?

EUC-JPで書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?

この2つの例でサーバーに投げられ文字コードは何で決まるのか?

http://hostname.jp/controller/action/全角の検索ワード
の「全角の検索ワード 」の部分の文字コードはどうやって決めるのが正しいか

考えてみれば良い。
0923nobodyさん2012/04/14(土) 09:35:05.93ID:???
文字コードも関係ないwww
0924nobodyさん2012/04/14(土) 10:00:41.58ID:???
URLエンコード
0925nobodyさん2012/04/14(土) 10:52:00.00ID:???
アホか。URLエンコード するときの
文字コードは何だよ。言ってみろ
0926nobodyさん2012/04/14(土) 12:26:15.35ID:???
cakePHP2.1.1を使用してコントローラの中からモデル内に定義した
ファンクションをコールしようとしているのですが
下記の様なエラーが出てしまいます。
どこに間違いがあるのでしょうか?

[model]
class Test extends AppModel
{
var $name = 'Test';
function Testxxx(){echo "Test!";}
}

[controller]
var $uses = array('Test');
$this->Test->Testxxx();

[error]
Error: SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Testxxx' at line 1
0927nobodyさん2012/04/14(土) 13:43:48.92ID:???
Error: SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Testxxx' at line 1
0928nobodyさん2012/04/14(土) 13:50:12.49ID:???
エラーメッセージを繰り返したら誰かが答えるとでも?
0929nobodyさん2012/04/14(土) 14:11:27.02ID:???
>>926>>927 は別人だろうが。
>>928お前はミサイルで頭を破壊した方がいいよ。どうせまともなルックスしていない下種野郎だろうしな。
0930nobodyさん2012/04/14(土) 15:09:22.75ID:???
で?それが質問者の態度?
0931nobodyさん2012/04/14(土) 18:06:38.12ID:???
cakePHP で特定のコントローラ

例)
denyController.php


へのアクセスを禁止するには一般的にどうしますか?

.htaccess or cakePHPでなにがしかの設定が可能?

0932nobodyさん2012/04/14(土) 18:42:11.68ID:???
cakePHPでdeleteAllに削除条件を指定しても無効なのでしょうか?
下記コードを実行すると、全レコードが削除されてしまいます><;

$deleteCondition = array("hoge_id" => 3333);
$this->Hoge->deleteAll( $deleteCondition );
0933nobodyさん2012/04/14(土) 18:52:06.84ID:???
>>932
条件の与え方はfindと同じだよ。
その条件でfindしたら検索されるの?
0934nobodyさん2012/04/14(土) 19:34:52.76ID:V2giXwsG
>>931
俺ならコントローラー全てのアクションにprefixつけてprefixルーティング&アクセス制御って感じかな
0935nobodyさん2012/04/14(土) 19:38:18.38ID:???
>>933
自己解決しました。

英語のドキュメントを見たところ
cake2.1.1 になってから呼出し方が微妙に変わっていました。
0936nobodyさん2012/04/14(土) 19:55:02.70ID:???
>>935
一応、どう変わったのか書いてほしいな
0937nobodyさん2012/04/14(土) 20:25:02.13ID:???
>>936
実際には delete は変わってませんでした。

findについては、

findAll → find('all')

といった感じです。
しかし、なぜ同じコードで>>932が今度は正常に削除出来たか不明。
0938nobodyさん2012/04/14(土) 20:33:32.07ID:???
controllersの下にサブフォルダを作ってコントローラーを置くと認識されますが、view以下で同じことをやるとエラーになります。
viewsのパスを任意に追加するにはどうすればいいのでしょうか?
ソース見たらApp::path('views')でパスは取れるみたいだけど追加の関数がない。
0939nobodyさん2012/04/15(日) 02:11:36.29ID:???
なれると cakePHP むっちゃ便利やんかぁ。
0940nobodyさん2012/04/15(日) 08:46:03.26ID:???
cakePHP と Pear って一緒に使える?
0941nobodyさん2012/04/15(日) 19:57:59.30ID:???
はい
0942nobodyさん2012/04/15(日) 20:19:36.67ID:???
cakePHP で 
http://hogehoge.com?age=17
じゃなくて
http://hogehoge.com/age/17


として処理を行うにはどうしたら良いでしょうか?
0943nobodyさん2012/04/15(日) 20:27:24.52ID:???
>>942
ブログチュートリアルでもやればやり方わかるだろう
0944nobodyさん2012/04/16(月) 13:39:36.79ID:???
cakePHP(2.1.1) で AController / Hoge() 内の処理で 


AController / Hage()

BController / Chabin()

を呼び出すにはどうすれば良いでしょうか?
0945nobodyさん2012/04/16(月) 13:50:55.75ID:???
>>944
異なるコントローラ間で同じ処理をやらせないなら、コンポーネントを使うといい。
0946nobodyさん2012/04/16(月) 14:00:58.75ID:???
>>945
ありがとうございます。
どうしても重複処理があり使いまわしたと思ってました。
0947nobodyさん2012/04/16(月) 19:03:36.34ID:???
cake2.1.1(サクラ) でcronでcakePHPを実行させる為に、まずコマンドラインから
正常にキック出来る事の確認をしているのですがうまくいきません。

1.x系と2.xとでは記述方法が異なっている事を考慮に入れ
下記コードを記述しているのですがなぜかシェルクラスが認識されないです。

【作成したシェルクラス】
Console/Command/TestHelloShell.php
<?php
class TestHelloShell extends AppShell
{
public function main()
{
$this->log('[Shell]main() が実行されました。', LOG_DEBUG);
}
}
?>

【コマンドライン】
%/usr/local/bin/php /home/{my_account}/cake/lib/Cake/Console/cake.php test_hello -app /home/{my_account}/www/{my_directory}/app
Error: Shell class TestHelloShell could not be found.
#0 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(167): ShellDispatcher->_getShell('test_hello')
#1 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(69): ShellDispatcher->dispatch()
#2 /home/{my_account}/cake/lib/Cake/Console/cake.php(41): ShellDispatcher::run(Array)
#3 {main}
0948nobodyさん2012/04/16(月) 23:25:38.33ID:???
>>947
ドキュメントをよめ
0949nobodyさん2012/04/19(木) 01:38:53.63ID:???
cakePHP ってなんでこんなに便利なんだ。楽しすぎる
0950nobodyさん2012/04/19(木) 16:26:48.17ID:GZ2gdGu2
ログイン認証とかの制御をいれたいんですけど
お勧めの方法はありますか?
0951nobodyさん2012/04/19(木) 17:13:57.30ID:???
Auth使えば
0952nobodyさん2012/04/19(木) 17:14:15.72ID:???
Authコンポーネント
0953nobodyさん2012/04/19(木) 17:29:14.82ID:???
良く使用する変数(サイトのURLなど)をDBで管理して
設定ファイルに出力したいのですが、良い方法は無いでしょうか?

考えたのは、モデルキャッシュして設定ファイルが必要な時に
そのキャッシュを読み込むパターンです。
0954nobodyさん2012/04/19(木) 19:06:23.24ID:???
>>953
bootstrap.phpでDBから設定データを読み込んでConfigure::Storeでキャッシュ。
…でもいいんだけど、
Cake2からは ConfigReaderInterfaceっつうのがついたからね。
Readerを書けばモデルから直接Configureに読み込むができるようになった。
Configureファイルに書いた時と同じようにConfigure::read()でどこでも読めるから便利よ
0955nobodyさん2012/04/19(木) 21:31:47.54ID:???
あと、Sanitize::escape() でサニタイズしたデータを復元するときって
みなさんどんな感じでやってますか?
0956nobodyさん2012/04/19(木) 22:16:25.42ID:???
サニタイズいうな
0957nobodyさん2012/04/19(木) 22:18:18.29ID:???
サニタイズ時々
0958nobodyさん2012/04/20(金) 00:36:04.30ID:???
>>956
本当はなんていうの?
マジレス希望。
0959nobodyさん2012/04/20(金) 00:54:10.36ID:???
サニタイズが正しいよ

verbだからな。


>>958

つまり >>956 は英語が出来ないばか
0960nobodyさん2012/04/20(金) 01:41:15.34ID:???
>>951 >>952
ありがとう
0961nobodyさん2012/04/20(金) 04:26:48.64ID:???
サニタイズ言うなを知らない方が馬鹿
0962nobodyさん2012/04/20(金) 11:16:59.61ID:???
英語の出来ない >>961はもっとバカ
0963nobodyさん2012/04/20(金) 12:22:03.72ID:PezrE8Wt
うんごぶりぶりんこ!!!!ドビュビュビュビュドバババババブッ!!!
ドリュルリュルウリュリィブブブブブブッッ!!!!あへあへうんこまん!!!ぶりっちょ!!!
ケツの穴からドババババババババッバwwwwwwwwwwwwWWWW
wwwwwwwwwwww
WWWwwwwwwwwwww??? ? ? ? ? ? ? ????? ????????wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
なお、まにあわんもよう
0964nobodyさん2012/04/20(金) 12:25:44.92ID:???
↑サニタイズよろしく
0965nobodyさん2012/04/20(金) 12:32:52.78ID:???
アホが露呈して ファビョル >>963
 低能乙w

いまどき英語なんて小学生でもペラペラなのにwww
0966nobodyさん2012/04/20(金) 13:43:18.88ID:???
>>954
1.3系使ってるので、Configure::storeを使うパターンで行きます。
これってfindした配列を保存して、loadで読み込んでreadで参照
出来るから便利ですよね。参考になりました。ありがとうございます。
0967nobodyさん2012/04/20(金) 23:58:00.96ID:???
俺がバカなら、お前もバカぁ〜
バカを承知でなぜ惚れた〜
0968nobodyさん2012/04/21(土) 11:00:21.04ID:???
cakeでは当たり前だと思うのですが、
http://example.com/aboutとかhttp://example.com/sitemap
というようにアクション名だけ指定したい場合、
ルーティングでアクション名を追加する必要がありますよね?

http://example.com/のコントローラがhomeであり、
/views/home/内にアクション用のファイルがあれば
routes.phpに記載しなくてもアクション名だけで
アクセスできないかと思い、質問しました。
0969nobodyさん2012/04/21(土) 14:00:03.01ID:???
>>968
一行書くことになるけど
Router::connect('/:action', array('controller' => 'home'));
とかでいけるんじゃない
0970nobodyさん2012/04/21(土) 14:43:21.86ID:???
>>969
この方法だと、コントローラにアクションを追加しないとアクセスできません。
pagesを使うように、アクション名を書かずにビューファイルを追加するだけで
アクセスできるようにしたいのですが・・・
0971nobodyさん2012/04/21(土) 17:21:29.95ID:???
リモートデバッグについて質問なんですけど

Eclipseでレンタルサーバ上に展開したPHPファイルを
ローカルのEclipseにてデバッグ実行って出来ますか?
※ブレークポイントが正常に止まるか。
0972nobodyさん2012/04/21(土) 22:21:07.57ID:???
>>970
アクション追加せずにビューだけ表示したいのならpagesでいいんじゃないの?
アクションが無いのだから特定のコントローラーを介する理由も無いし
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
0973nobodyさん2012/04/22(日) 10:29:18.10ID:L2FF/0Tg
>>971
リモートデバッグは、サーバー側のデバッグ用ポートにコネクトしてする感じ
そのレンタルサーバとやらに聞いてみて、デバッグ用ポートが開いていないのなら無理

まぁ、普通のレンタルサーバでデバッグポート開いている事はたぶん無いんじゃないかな
0974nobodyさん2012/04/22(日) 11:01:45.48ID:???
>>973
ありがとうございます。
鯖屋に確認してみます。

ローカル環境に開発環境を作ると重たいので
全てレンタルサーバ上でやりたいなぁー、なんて考えてました。
0975nobodyさん2012/04/22(日) 11:32:49.43ID:L2FF/0Tg
>>ローカル環境に開発環境を作ると重たいので
重いのはたぶんEclipseだよ
他のエディタとか使う事あるのなら、XAMPP+エディタで試してみるといい
ただ、GUIのデバッグ環境は無いと思うが。
0976nobodyさん2012/04/22(日) 15:41:01.67ID:???
debugレベルを 0 にしても
適当なURLを入力すると次の様にサイトがcakePHPを使用している事がわかる様な
エラーメッセージが出てしまいます。

これを消す方法とかってありますか?

CakePHP: the rapid development php framework
0977nobodyさん2012/04/22(日) 15:57:27.32ID:???
バカはしね
0978nobodyさん2012/04/22(日) 18:19:37.02ID:???
>>976
default.ctpとかテンプレートのどっかに書かれてるんだろ
どこから出力されてるか突き止めてそれを消せ
0979nobodyさん2012/04/22(日) 19:19:39.84ID:???
今どきデバッガの力を借りないとデバッグできないなんて
0980nobodyさん2012/04/22(日) 19:53:54.59ID:???
デバッガすら使えない誰かさん >>979w
0981nobodyさん2012/04/22(日) 20:33:38.25ID:???
HTMLでいうと

<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>

みたいな出力にしたい時、フォームヘルパーを使って出来ますか?
0982nobodyさん2012/04/23(月) 16:08:34.29ID:3JcMmxsm
cakePHPでブラウザからアクセスがあった場合に
次の様に解釈させ、処理を実現をしたいのですがどうすれば良いでしょうか?

@アクセスされる際のURL
http://unnko.com/prin/food/rice/333

@Controllerに定義した内容
class PrinController extends AppController
{
 function food($menu,$id)
 {
echo $menu."<br>"; // ← rice を表示したい。
echo $id."<br>; // ← 333 を表示したい。
 }
}
0983nobodyさん2012/04/23(月) 16:13:23.70ID:???
バカはしね
0984nobodyさん2012/04/23(月) 17:14:29.71ID:???
いつものウンコ野郎はスルー
頭の中にウンコがぎっしり詰まってるんだろ
0985nobodyさん2012/04/23(月) 20:52:22.44ID:???
Lithium安定版でねーなぁ
0986nobodyさん2012/04/23(月) 22:52:36.10ID:???
>>982
それで実現できてないか?
0987nobodyさん2012/04/24(火) 11:09:19.41ID:???
>>981
<li>$this->Form->checkbox('post.xxx');</li>
0988nobodyさん2012/04/24(火) 11:12:03.63ID:???
モデルでクッキーを読みに行きたい場合、皆どうしてる?

DB登録時に、クッキーからログインユーザーの情報吸い上げて登録しにいくフローって多くない?
モデル内でApp::usesでクッキーコンポーネント呼ぶのは邪道?
0989nobodyさん2012/04/24(火) 11:24:40.31ID:???
モデルでくっきーを読もうってのがそもそも設計としてゴキブリレベル
0990nobodyさん2012/04/24(火) 11:28:43.67ID:???
いや蛆虫だろう
0991nobodyさん2012/04/24(火) 11:58:40.78ID:???
ああ、そうやっぱモデルでクッキー読むのは邪道なのね。サンクス
0992nobodyさん2012/04/24(火) 11:59:56.14ID:???
>>982
View フォルダの下にPrinフォルダつくってfood.ctp作ったか?
0993nobodyさん2012/04/24(火) 12:59:47.43ID:???
>>992
Thank you!
09949812012/04/24(火) 14:05:37.49ID:???
↓こんな感じでやってみたのですが、エラー時など同じビューを表示した時、
チェックした項目がチェックされていません。どうすればいいのでしょうか?

<li><?php echo $form->checkbox('Post.xxx', array('value' => 1)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 2)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 3)); ?></li>
0995nobodyさん2012/04/24(火) 15:11:46.26ID:???
2.0のAuthがsessionKeyをself::$sessionKeyとしてるもんだから
コントローラーからモデル名に変えようにも
$this->Auth->sessionKey = 'Auth.Hoge';
じゃだめで
AuthComponent::$sessionKey = 'Auth.Hoge';
って市内とダメなんだけどそもそもいじっちゃマズイのかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。