【PHP】フレームワーク CakePHP 13ホール目【v2.0】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2011/11/09(水) 01:05:10.60ID:???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:JcIEC3Dm0005nobodyさん
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:tPbiz4Npfindしたときのカラム名もすべて大文字で返ってきてしまうんですが、
これを小文字で返ってくるようにするにはどうしたらいいですか?
テーブルを作り直すというのは無しで。
0010nobodyさん
2011/11/10(木) 01:30:03.86ID:???暇だからしてもいいんだけど、ここに書き込んだら日本語翻訳チームが採用してくれるかな
そもそも翻訳がどこまで進んでるのかわからないけど
ここで結構翻訳進んでるのにオフィシャルには反映されてないし、
cookbookの翻訳がどうやって進んでるのかわからんというので
翻訳協力者が進みにくい状況になってる気がする
http://hiromi2424.lv9.org/translate/cakephp20/
001110
2011/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/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気がついたら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:???なんちゅーフレームワークだと思った
0018nobodyさん
2011/11/10(木) 13:40:46.41ID:???つまり、いちいちbindModelで付け足していくよりも、
最初からモデルにアソシエーションを書いて
そこから必要な分だけ取り出すって形かな。
それはそれで便利そうだけど、
「ユーザ」モデルに「日記」「写真」「プロフィール」とかの
関連モデルと結合する場合、bindModelの方が軽い気がする。
0019nobodyさん
2011/11/10(木) 16:03:19.22ID:Y5PvVcC5だからクエリ減らすために、
デバッグログをビューに出すやつで、
このクエリはこのファイルのここで実行された、みたいなログも一緒に出してくれたらいいんだけど
誰か方法しらない?
0020nobodyさん
2011/11/10(木) 16:29:00.22ID:???って事はないよな・・・個別に貼り付けできるはずなんだが
0021nobodyさん
2011/11/10(木) 16:31:05.79ID:???その例だとどうbindModelが軽いのかよく分からないが
コンテイナブルビヘイビアだと、順序やIDのつながり方をモデルのアソシエーションに集約できるから
普通は純粋にテーブルの取捨選択だけをcontainで指定すればいいし、順序を変えたいならcontainで上書きすることもできる。
0022nobodyさん
2011/11/10(木) 17:29:24.47ID:???てかコンテイナブル使っても何しても、CakePHPは入れ子の2階層までしかJOINしてくれない
だからそれ以上の階層になると、1レコードとってくるのに WHERE id = ??? のようにして1クエリ発行される。
JOINしたら1発で取ってこれるような情報でも、100クエリとか発行するのはそのせい
0023nobodyさん
2011/11/10(木) 18:06:18.89ID:???俺の出した例は大きく分けて2パターンの利用方法がある。
A:特定会員のコンテンツを取得
B:コンテンツ内のデータ(そのデータにユーザモデルをJOIN)
この場合、モデルにすべて書くと再帰的に複雑になるだろ?
AはUser→Diary、BはDiary→User
Aでfindした時、User→Diary→Userみたいになってエラーになる可能性がある。
だから、必要な時だけbidModelを使ってその都度足していけばいい
って考え方なんだけど、何か間違ってるかな?
0024nobodyさん
2011/11/10(木) 20:46:02.54ID:???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:???findのjoinsオプション使うと明示的にJOINできるよ
デフォルトだとクエリ多発するのは確かにそうだね
でもhasManyのときはJOINにコストが結構かかるから、この仕様のほうが効率いいことが多いとかそんな話を聞いたことはある。
眉唾で聞いてたけど。
0026nobodyさん
2011/11/10(木) 23:52:27.25ID:tPbiz4Nptry {
$this->User->find('all', $params);
} catch (xxx) { ←ここら辺
xxx ←
}
0028nobodyさん
2011/11/11(金) 01:43:52.72ID:???アソシエーション云々考えなければ、
joins使う方が一番思い通りに出来るよ。
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:???そこがすでに一般的じゃないからなんとも。
0033nobodyさん
2011/11/11(金) 03:51:04.82ID:???0034nobodyさん
2011/11/11(金) 06:01:26.02ID:???methodをgetにするとレスポンスが返ってくるのですが、postにするとレスポンスが返ってきません。
原因なにかわかりませんか
0035nobodyさん
2011/11/11(金) 08:30:54.84ID:???メンバーIDのカラムは一つだけど
コミュニティーごとにバリデーションパターンが違って
コミュニティ作成者が指定出来るようにすることが出来るのか?ということです。
0036nobodyさん
2011/11/11(金) 08:54:22.87ID:???バリデーションルールをcustomにして、customバリデーションの中でコミュニティー毎にルールを書けばいい
0038nobodyさん
2011/11/11(金) 09:32:54.02ID:???詳しく説明されているサイトをご存知の方いらっしゃいませんか?
独自のbehaviorを作成するにあたって、参考にしたいんですが
なかなか、細かく説明されているものが見当たりません
0039nobodyさん
2011/11/11(金) 10:46:14.70ID:???一般ユーザーが簡易に
バリデーションパターン(コミュニティー管理者任意)をフォーム画面からカスタマイズさせるのって
どういう形で入力させるのが
一般的なんでしょう?
あまり、この手のものは前例を見たことがないので
0040nobodyさん
2011/11/11(金) 11:20:05.05ID:???初回のみ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:???0042nobodyさん
2011/11/12(土) 04:22:28.06ID:???0043nobodyさん
2011/11/13(日) 18:01:49.24ID:???ふつうあんなものなの??
0044nobodyさん
2011/11/13(日) 18:15:00.75ID:???無責任に書くつもりも無いけど、名前背負ってまで書き込みたくない
というのは2chみたいな匿名コミュニティに慣れてる人には多いんじゃ無いだろうか
0045nobodyさん
2011/11/13(日) 18:27:05.63ID:???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:???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:???日本だとcakeの圧勝だけど。
0049nobodyさん
2011/11/14(月) 12:21:32.77ID:???結局CkakePHPに戻ってしまう
0052nobodyさん
2011/11/14(月) 13:18:47.14ID:???アホなの?
0054nobodyさん
2011/11/14(月) 13:41:19.30ID:???Yiiはかなり有望だと思うよ
0055nobodyさん
2011/11/14(月) 13:47:56.50ID:???/ ─ ─ \
/ (●) (●) \ 有望だけじゃなにがいいかわからない
| (__人__) |
\ ` ⌒´ /
/ |
(_ ) ・ ・ ||
l⌒ヽ _ノ |
| r ` (;;;U;;) )__)
(_ノ  ̄ / /
( _)
0057nobodyさん
2011/11/14(月) 15:38:26.16ID:???/ ─ ─ \
/ (●) (●) \ CakePHPもおなじじゃないのか
| (__人__) |
\ ` ⌒´ /
/ |
(_ ) ・ ・ ||
l⌒ヽ _ノ |
| r ` (;;;U;;) )__)
(_ノ  ̄ / /
( _)
0058nobodyさん
2011/11/14(月) 17:55:25.43ID:???個人のブログでも盛んに発信されてるし。
Yiiは有望なんだろうけど、いかんせん個人での発信者が少ない気がする。
開発画面のフッターはかっこいいと思う。あれは使いやすい。
0059nobodyさん
2011/11/14(月) 18:04:58.31ID:???やっぱネットで調べるよりも本を見ながらの方が開発しやすいし。
0060nobodyさん
2011/11/14(月) 18:57:00.77ID:???会員登録
メールによるクリック本登録
パス忘れたときのメールによる再発行
なんかは自分で作り込んでるの?
0061nobodyさん
2011/11/14(月) 18:59:56.98ID:???0064nobodyさん
2011/11/14(月) 19:55:45.54ID:???自分で作り込んでるの?ってどういう意味だ?
誰かが作った物をそのまま流用してるって事か?
そんなわけねーだろ。
0066nobodyさん
2011/11/14(月) 21:09:29.55ID:???cakephp+ktailiblary以上に携帯サイト作りやすいの?ん?
0068nobodyさん
2011/11/14(月) 22:03:24.22ID:???0069nobodyさん
2011/11/14(月) 22:25:25.56ID:???自分で作ったよ。CakePHPで。
テストも自動化したかったから、
ニセのSMTPサーバー作ってそこに送信→ファイルに保存。
それみてCakePHPについてたブラウザをエミュレートするモジュールが
クリックなんてことしたなぁ。
もう3年以上前になるかな。今なら便利な何かがあるかもね。
0070nobodyさん
2011/11/14(月) 22:32:22.79ID:???絵文字の対応が弱かった気がする
0071nobodyさん
2011/11/15(火) 00:30:41.57ID:???<?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:???>var $useTable = false;
↑こういう場合は、$_schema を設定する必要があった気がする。
var $_schema = array(
'name' => array(
'type' => 'string',
),
);
0073nobodyさん
2011/11/15(火) 01:42:34.79ID:???setしたデータがあってるか、validatesする前にvar_dumpしてみたら?
ContactsとContactがごっちゃになってそうだけど。
0076nobodyさん
2011/11/15(火) 15:55:39.02ID:???これってふつうですか?controllerから前は呼べた気がするんですが
0077nobodyさん
2011/11/15(火) 16:51:27.77ID:???0078nobodyさん
2011/11/16(水) 13:56:38.50ID:???0079nobodyさん
2011/11/16(水) 14:58:38.98ID:???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:???なんかスマートなやりかたってありますかね
0088nobodyさん
2011/11/17(木) 01:26:10.05ID:???0089nobodyさん
2011/11/17(木) 01:44:12.36ID:???0090nobodyさん
2011/11/17(木) 08:49:19.09ID:???0093nobodyさん
2011/11/17(木) 12:51:19.33ID:???0094nobodyさん
2011/11/17(木) 12:52:51.10ID:???0096nobodyさん
2011/11/17(木) 23:19:43.07ID:t9LRBQJBドキュメントルートってcakephp/app/webrootでいいの?
トップはいいとして他のページを表示しようとすると
Not Foundになっちゃうんだけど。
ちなみにcakephp直下をドキュメントルートにするとうまくいく。
0097nobodyさん
2011/11/17(木) 23:46:36.11ID:???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下のファイルでうまく設定は出来ないでしょうか。
0100nobodyさん
2011/11/18(金) 01:56:17.73ID:???「各のドキュメントルート直下」というのは
例えば、/var/www/cakephp/のこと?
それとも、/var/www/cakephp/app/webrootのこと?
0101nobodyさん
2011/11/18(金) 12:40:48.58ID:???これでいいのでは?
cakephp標準で.htaccessが付いてるし。
0102nobodyさん
2011/11/18(金) 17:11:19.32ID:???あとcomponentからhelperを呼ぶようにするのとどっちがいいですか
0103nobodyさん
2011/11/18(金) 23:01:21.82ID:???0104nobodyさん
2011/11/18(金) 23:12:54.03ID:???Cakeは大丈夫かな?使い始めてから突然変更されたらかなわんな
0106nobodyさん
2011/11/19(土) 00:07:58.71ID:???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:???今cake使っててCIかyii浮気しようと思っていた俺は、浮気先が一つになったので選ぶ必要がなくなった
オープンソースの宿命だから、そのときはそのときでしょうがない
0108nobodyさん
2011/11/19(土) 02:37:10.19ID:???0109nobodyさん
2011/11/19(土) 02:40:13.80ID:???えとね。mod_rewriteは○○○ってURLを×××に変えることはできるけど、
×××を○○○に変えることはできないんだよ。
0110nobodyさん
2011/11/19(土) 08:14:03.03ID:???あとから規約変えるとか詐欺だろ
0111nobodyさん
2011/11/19(土) 10:01:41.28ID:???触ってみた?
0112nobodyさん
2011/11/19(土) 11:11:45.38ID:???mod_rewriteで出来ないことまでやろうとしてるんじゃなくて、
mod_rewriteとRoutes両方で出来ることなら、
mod_rewriteでやったほうがいいんじゃないか。
>>99はmod_rewriteは基本触らないという意見のようなので。
0114nobodyさん
2011/11/20(日) 14:33:03.47ID:???0115nobodyさん
2011/11/20(日) 14:54:00.52ID:???触ってない
「CIより多少マシ」というコメントがついていたけど、まさにそんな感じだと思った
CIも結局盛り上がらなかったし、既にCakeとかSymfonyというフレームワークがある状況だと、
いいフレームワークが出来てもいかにそれを流行らせるかが問題だと思う
暇そうなプログラマー雇って提灯記事とドキュメントの日本語訳書かせまくるしかないんじゃない?
0116nobodyさん
2011/11/20(日) 17:11:02.58ID:???お前らが英語勉強しろよ
0117nobodyさん
2011/11/20(日) 20:29:27.21ID:???0118nobodyさん
2011/11/20(日) 23:38:02.20ID:???0119nobodyさん
2011/11/21(月) 01:16:55.48ID:???cake初期の頃ブログ書きまくってたけど、「CakePHPがRoRに対抗するフレームワークになるんだ!俺がそうするんだ!」
みたいな変な使命感もってやってたよ
今はすでにPHPでフレームワークがたくさんある、しかもCakeなどのメジャーになったモノがたくさんある状況で
新規のフレームワークに手を出す人は少ないだろうから、まずはそのフレームワークのエヴァンジェリストが必要なんじゃ無いかと思う
0120nobodyさん
2011/11/21(月) 01:22:56.17ID:???確かにCakeの記事は玉石混交しててバリエーション豊かだった気がする。
Zend Frameworkとかもあんま流行ってる感じしないしな。
0121nobodyさん
2011/11/21(月) 01:38:56.62ID:???twitterとか使い出したら、なんかわざわざブログに書くのめんどくなったよ
0122nobodyさん
2011/11/21(月) 12:40:46.36ID:???開発スピードは速い
実行スピードは遅い
バグは多くも少なくもない
という印象
0123nobodyさん
2011/11/21(月) 16:18:29.64ID:???実行スピードの遅ささえ解消されれば、最強なんだがな・・・
0124nobodyさん
2011/11/21(月) 17:47:44.03ID:???Fatal error: Call to a member function hoge()がでてしまいます
コントローラには
$helpers = array('Hoge');
とかいて
$this->Hoge->hoge();
と書いているのですが
0125nobodyさん
2011/11/21(月) 17:49:18.81ID:???0126nobodyさん
2011/11/21(月) 18:19:23.29ID:???ありがとうございます
$this->Hoge = new HogeHelper();
このように書いたら
Fatal error: Class 'HogeHelper' not found が$this->Hoge = new HogeHelper();と書いた行ででてしまいました
最初に読み込んだりしますか
0127nobodyさん
2011/11/21(月) 18:50:56.58ID:???0129nobodyさん
2011/11/21(月) 19:25:32.67ID:???0130nobodyさん
2011/11/21(月) 19:34:10.21ID:???0131nobodyさん
2011/11/21(月) 21:57:23.12ID:hMc6lKUoCakePHPの内部で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:???このことじゃね
https://bugs.php.net/bug.php?id=54695
0135nobodyさん
2011/11/23(水) 19:20:56.88ID:vIVNUlWbhttpsに張るようにするには絶対パスしかないですか?
0137nobodyさん
2011/11/23(水) 20:35:14.55ID:???0138nobodyさん
2011/11/23(水) 21:13:39.19ID:???0139nobodyさん
2011/11/25(金) 01:36:56.19ID:???0140nobodyさん
2011/11/25(金) 01:41:51.95ID:???0141nobodyさん
2011/11/25(金) 02:01:33.59ID:???0142nobodyさん
2011/11/25(金) 03:48:39.39ID:ms97YqHeこのとおり作ってるんだが、「送信」押すと、
Create the class ResultController below in file: app\Controller\ResultController.php
ってエラーがでる。
0143nobodyさん
2011/11/25(金) 05:54:25.81ID:???App::import('Vendor', 'csspp' . DS . 'csspp');とかやってるけど、そんなもの存在してない気がするんだが
0144nobodyさん
2011/11/25(金) 05:55:26.54ID:???0145nobodyさん
2011/11/25(金) 12:05:59.37ID:???そのサイトの他ページは見てないからviewがどうなってるのか知らないけど、
フォームの送り先URIがおかしいのでは。
0146nobodyさん
2011/11/25(金) 12:08:23.24ID:???cssppをダウンロードしてVenderにぶち込めってことじゃないの
css.phpのコメントにでも書いてあると思うが
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:???遷移しなかったのですが、一応解決しました。
原因は、
フォームの
<form method="post" action="./result">
↑ここがおかしかったみたいです。
0150nobodyさん
2011/11/25(金) 23:22:16.42ID:???■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:???0152nobodyさん
2011/11/26(土) 02:19:26.62ID:???見たけどなんも書いてないし
こういう作りかけで放置?みたいなのがCakeにはちょこちょこ見られて嫌だな
0154nobodyさん
2011/11/26(土) 15:54:08.70ID:???よくわからんが
Test.phpはtest.php
TestController.phpはtests_controller.php
じゃないのか。
0156nobodyさん
2011/11/27(日) 03:43:00.02ID:???お勧めの本とかを聞くのはスレ違いですか?
もし平気ならお勧めの本を教えてください。
0157nobodyさん
2011/11/27(日) 07:48:03.99ID:???「ほかの要因はさておき、我々の売上は、ある程度賃金に依存しているのだ。
より高い賃金を出せば、その金はどこかで使われ、ほかの分野の商店主や卸売り業者や製造業者、
それに労働者の繁栄につながり、それがまた我々の売上に反映される。
全国規模の高賃金は全国規模の繁栄をもたらす」
奥田 碩(日本経団連名誉会長 元トヨタ自動車会長)
0159nobodyさん
2011/11/28(月) 06:13:25.61ID:???PHPは何となくわかるんだけど、ビジネスロジック?をmodelにどう書いたらいいかとかがわからない、、。
ネットで調べてもDBのアクセス方法とかしか載ってないし・・・。
0160nobodyさん
2011/11/28(月) 11:15:11.72ID:???おいおい、その程度の知識かよ・・・
それなら「はじめての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:???上記で出力した項目のValidationについて教えてください。
上記で年・月・日のドロップダウンリストが出力されます。
2011・2・31を選択して保存すると、2011-03-03として保存されます。
ありえない日付を選択されたのでエラーとしたいのですが、標準でできますでしょうか?
0165nobodyさん
2011/11/29(火) 23:21:26.10ID:xETpRXatViewを作らずにすますにはどうすればいいですか?
0168nobodyさん
2011/11/30(水) 02:02:38.21ID:???ちょっと古い記事ですが
http://blog.syuhari.jp/archives/172
テーブルからデータを取得するコードはモデルにメソッドとして書いて
コントローラで取得して、ビューに渡すという流れです
0169nobodyさん
2011/11/30(水) 11:57:10.26ID:???俺のところでは出来るが
>>168
これ、ページネーション(paginate)を使いたい場合は使えないんだよな・・・
0171nobodyさん
2011/11/30(水) 16:17:33.31ID:???0172nobodyさん
2011/11/30(水) 22:39:37.21ID:???0173nobodyさん
2011/12/01(木) 01:14:05.48ID:???app/views/layouts/layouts.ctp
を参照したいんですけど、相対パスってどうなりますか?
0174nobodyさん
2011/12/01(木) 01:15:41.08ID:???0175nobodyさん
2011/12/01(木) 01:19:47.08ID:???webrootなので複雑に考えてました
0176nobodyさん
2011/12/01(木) 01:36:07.41ID:???files/sample.phpなんですね
0177nobodyさん
2011/12/01(木) 21:07:27.25ID:???移行ガイドにはそのあたり触れられてないのが気になる
0178nobodyさん
2011/12/02(金) 02:48:35.30ID:LODTi230Oracleってオートインクリメント使えないんだけど
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:???0182nobodyさん
2011/12/03(土) 00:46:21.36ID:ewJKbRKAどうもうまくいきません。以下のようなエラーが出ます。
Missing Database Table
Error: Database table xxx for model Xxx was not found.
もしかして、CakePHP2.0ではsqlite3のファイルにアクセスできない?
0183nobodyさん
2011/12/03(土) 00:51:11.36ID:???0185nobodyさん
2011/12/03(土) 13:53:22.68ID:???今は明らかに情報が足りなすぎる。
0186nobodyさん
2011/12/03(土) 16:12:59.14ID:???eat cake, PDO版 SQLite3 を使う
http://miztools.so.land.to/php5_list/eat_cake/cake2/edit/sqlite3
0187nobodyさん
2011/12/04(日) 01:19:55.36ID:???0188nobodyさん
2011/12/04(日) 02:29:45.94ID:???sqliteはテキストデータにRDBMSっぽい書き込みをして使用する。
0189nobodyさん
2011/12/04(日) 02:37:58.60ID:vxdOAUX9しかもDBサーバを立てることもなく一つのファイルで完結だ。
俺はこんないいものを知らない。
0190nobodyさん
2011/12/04(日) 02:43:31.05ID:???0191nobodyさん
2011/12/04(日) 15:48:53.97ID:???function beforeFilter(){
echo '<!--'.$this->params['controller'].'-->';
}
とやってみたんですが、特定のコントローラだけ$this->params['controller']で出力されません
何が原因なんでしょうか?
他とその出ないコントローラの違いで思い当たるのはそのコントローラにもbeforeFilterが指定してあることくらいです
0192191
2011/12/04(日) 15:50:38.27ID:???コントローラ値が空なだけだと思ったら、どうやたapp_controller自体実行されてなかったようです
(普通に文字を出力させてもでませんでした)
御教示いただけたら幸いです
0193nobodyさん
2011/12/04(日) 15:54:37.24ID:???コントローラ内のbeforeFilter内で
parent::beforeFilter();
ってやってる?
0194191
2011/12/04(日) 16:19:33.30ID:???それでした
app_controllerを作ったのがはじめてだったので、決まりごとを理解してませんでした
ありがとう御座いました
0195nobodyさん
2011/12/07(水) 14:22:49.37ID:XLyuG92u通常のデータは以下のようなことで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:???0198nobodyさん
2011/12/07(水) 21:33:41.84ID:???0199nobodyさん
2011/12/07(水) 23:38:47.74ID:???controllerかmodelで分岐させて、controllerでset
viewの出したい箇所に変数を<?php echo $message ?>
0201199
2011/12/07(水) 23:45:59.78ID:???viewの方にもif(isset())で文字列またはarray(リスト表現)
0202nobodyさん
2011/12/08(木) 01:31:10.64ID:???PHP5.3の恩恵を受けることのできるフレームワークはfuelphpしかない。
CakePHPの時代も終わりか。
0203nobodyさん
2011/12/08(木) 01:32:48.80ID:???スレあるんなら誘導してくれよ
【php】fuelphpについて語ろうぜ
http://hibari.2ch.net/test/read.cgi/php/1321843505/
0204nobodyさん
2011/12/08(木) 01:37:07.11ID:???0205nobodyさん
2011/12/08(木) 02:27:45.30ID:???LAMP環境で
var $components = array('DebugKit.Toolbar');
とAppControllerに書くと、画面が真っ白になる・・・
xampp環境だと問題ないんだけど。
0206nobodyさん
2011/12/08(木) 02:47:03.37ID:???0207nobodyさん
2011/12/08(木) 09:13:39.91ID:???技術情報とかぐぐっても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かとか、大きな違いで戸惑うと思うけどなあ
他にも色々変わっていて困ったことがあった
0212nobodyさん
2011/12/10(土) 06:31:35.05ID:dP9DBevcどんだけ情報少ないんだよ。
ちんたらしてるとユーザー逃げるぞ。
0213nobodyさん
2011/12/10(土) 19:52:45.95ID:???0214nobodyさん
2011/12/10(土) 21:39:38.00ID:XSFB8P6r使おうとしてるんですがうまくいきません。
「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:???使ったことないからわからんけど、軽くググった感じだと、たぶんファイルの書き出し先がちゃんと指定されてないんじゃね
0216nobodyさん
2011/12/11(日) 18:29:54.09ID:???なにか原因としてかんがえられますか
0217216
2011/12/11(日) 19:19:22.12ID:???Cookie削除したら解決しました
0219nobodyさん
2011/12/11(日) 20:56:58.63ID:???レスありがとう御座います。
現状を報告すると、
xamppのtempフォルダまではちゃんと、ファイルが上がってました。
しかしそこからプラグインが指定している、weroot/media/transfer/img/
フォルダには移動されていませんでした。
パーミッションを777にしても駄目だったので今からソースを追ってみます。
進展があったらまた、こちらに報告します。
0221215
2011/12/11(日) 21:11:51.64ID:???サーバー側までファイルは来ていて意図するところに書き出せないと言うことは、やっぱりそういうtypo系のミスじゃないかなー
あとはファイルを置くディレクトリの階層浅くして別のところに作って試してみるとか
0222nobodyさん
2011/12/11(日) 21:43:21.91ID:???少し進展があったのでご報告します。
今までチュートリアル系のブログを見ながら試していたのですが
最新のヘルプを見ると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:???おすすめがあるとしたら何でしょうか?
移植のしやすさと得られるパフォーマンスの改善のバランスが良いもの
んなもん経験者にしかわからんと思うが、もしいたら
0224nobodyさん
2011/12/12(月) 11:29:31.97ID:???Cakeの実行速度を上げる方法を学んだ方が良いですよ。
0225nobodyさん
2011/12/12(月) 13:18:51.48ID:???どこがネックで遅いのか書くとより良い回答が期待できると思う。
どこがネックかもわかってないなら、まずやることはフレームワークの移行ではない。
0226nobodyさん
2011/12/12(月) 13:33:57.79ID:???0227222
2011/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:???0232nobodyさん
2011/12/12(月) 18:22:41.27ID:???DB接続できないとモデルのコンストラクタがエラーになって、そこで処理が止まっちまいます
これを避けるにはcake以下を直接書き換えるしかない?
0233nobodyさん
2011/12/12(月) 22:02:32.47ID:???0234nobodyさん
2011/12/12(月) 22:15:59.53ID:???0235222
2011/12/12(月) 22:21:11.57ID:???セキュリティ的にちゃんとした物が書ける自信がなかったので
プラグイン使おうと思いました。
>>230
今回は裏目に出たけど、他人のソースを読めてよかったと思う事にします。
画像うpについては↓のプラグインがさくっと動いたので今回はこれで行く事にします。
ttps://github.com/fusic/filebinder
制作者様(?)の解説動画↓
ttp://zenpre.net/p/Gacui
では、名無しに戻ります。お騒がせしました。
0236nobodyさん
2011/12/12(月) 22:26:02.72ID:???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:???0240nobodyさん
2011/12/13(火) 15:53:33.42ID:???0242nobodyさん
2011/12/14(水) 00:20:14.28ID:???自分の中で80くらいがんばって無理だったらネットで質問しつつ後の20の努力をする。
質問に回答もなく、後の20がんばっても無理だったら諦めて違う方法を模索する。
0243nobodyさん
2011/12/14(水) 01:34:17.83ID:???0244nobodyさん
2011/12/14(水) 17:39:11.08ID:???0245nobodyさん
2011/12/14(水) 17:40:34.96ID:???モデルに変数でデータを入れててコントローラーからそれらの変数を取得ってできないの?
0246nobodyさん
2011/12/14(水) 17:41:52.04ID:???あと、データベース使わなくても使えるよ。
0247nobodyさん
2011/12/14(水) 23:57:19.24ID:???間違った考えが広まってしまったよな。
0248nobodyさん
2011/12/15(木) 00:06:20.83ID:???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:???すぐ参照できる一覧とかねーのかよ
つーかPHPてnamespaceないわけ?なにこの糞言語
0252nobodyさん
2011/12/15(木) 12:26:04.28ID:???PHP5.3以降ではnamespace使えるけど、
Cake2.0は動作環境にPHP5.2系も入れてるので互換性のために仕方ない部分もあるのでは。
FuelPHPみたいに最初からPHP5.3以降で作られてるやつはコアでnamespaceサポートされてたりするし。
0253nobodyさん
2011/12/15(木) 13:24:42.38ID:???フレームワークは苦労するわな
0254nobodyさん
2011/12/15(木) 17:12:04.31ID:???やっぱそうなのか
一つのモデルに対して、同名のコントローラーとコンポーネントを作れると名前がそろっていて綺麗なんだがなあ・・・
たとえばUserModelに対してeat_cake_countをアップデートする処理とかはUserComponentに書きたい
そういうときはUsersComponentって名前にすればいいのかな
なんかその辺のコンポーネントの分け方(ネーミングルール)のセオリーみたいなのがよくわからないんだよね
UpdateComponentって分け方にすると、とんでもなく巨大なファイルになりそうだし
0255nobodyさん
2011/12/15(木) 17:32:59.52ID:???コントローラーは薄く、モデルは厚く
0256nobodyさん
2011/12/15(木) 18:14:13.62ID:???せめて
function actionIndex()
function actionView()
みたいな作りになってればいいんだけどね。
0257nobodyさん
2011/12/16(金) 13:25:33.43ID:???http://www.dotup.org/uploda/www.dotup.org2386365.png
0258257
2011/12/16(金) 13:34:08.67ID:???0259nobodyさん
2011/12/16(金) 19:10:30.97ID:???findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
0260nobodyさん
2011/12/16(金) 21:55:12.50ID:???0261nobodyさん
2011/12/16(金) 22:46:31.07ID:???CakePHPだと逆に遅くなる。
PHPは頭よりも手を動かしてなんぼだと思う。
フレームワークは頭を動かす比重が大きくなる。
設計部分が特にそう。
極端に言えば変数が上書きされないようクラス化しておけば実運用では問題ない。
スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
関数の共通化を考える時間があれば手を動かしてた方がいい。後でリファクタリングで十分。
0262nobodyさん
2011/12/16(金) 23:38:25.39ID:???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.checkAgent', true);
あと関連しそうな設定は上記になっています。忘れていました。
他のsession関連の設定はコメントアウトされています。
0266nobodyさん
2011/12/17(土) 09:24:53.68ID:???findで目的のレコードを取り出してsaveするのと
updateAllで1つだけ更新するのとでは、どちらが速いですか?
0268nobodyさん
2011/12/17(土) 14:55:06.91ID:???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:???0272nobodyさん
2011/12/17(土) 19:59:48.04ID:6Ny+9Cbjこれ消す方法ないですか?
0274nobodyさん
2011/12/18(日) 04:48:44.53ID:9T9v3cA3arning (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:???どこが遅いかの原因解明をまず行うべきです。
SQLレベルなのか、画面描画なのか、CakePHPのせいなのかetc
ユーザー数増加によるアクセス過多も問題になることはありますね。
根本的に解決しない可能性もあります。
0276nobodyさん
2011/12/18(日) 18:27:15.86ID:???やりたい事をそのまま2つの処理で書いて、debugでSQLが出力されますので、
それをMySQLのオプティマイザーなどの時間が計測できる機能で実際に試してみては?
レコード数の多い・少ないにも関連しそうなので、
テストする際には1か月後、1年後などの予測されるレコード数で実行することを忘れずに。
0277nobodyさん
2011/12/19(月) 21:46:59.93ID:???やりたいことは、特定のタグを持った投稿を取得する、という単純なものです。
配列は以下のようになっていて、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
:
:
)
)
0279nobodyさん
2011/12/20(火) 05:19:51.29ID:???0280nobodyさん
2011/12/20(火) 11:14:14.85ID:???SQLでとってくる方法はないですか?
「タグ1と関連づいた投稿を全て取得する」というfindができれば教えてほしいんですが、、、
0281nobodyさん
2011/12/20(火) 11:48:28.25ID:???モデル名のキーが頭に付くのがジャマでしょうがないよね
仕方ないからいつもこうやってる
$data = $this->find( ....
$data = $data['モデル名'];
0284nobodyさん
2011/12/20(火) 14:59:31.58ID:???俺は↓する
$data = $this->User->find('all');
$user_data = $data['User']
これだとどのモデルか分かりやすいし。
ただし、アソシエーション使ってる場合などは、適切でないかも。
0285nobodyさん
2011/12/20(火) 16:07:14.62ID:???$this->data = $data
ってやると、formヘルパーの値valueに自動でセットするためにキーがついてからね。
おれはあんまり気にしたことがない。
0286nobodyさん
2011/12/20(火) 17:30:41.74ID:???find('all');ってテーブルの全レコード取り出してるの?
あんまりそういう機会ないなあ
あとfind('all')だと配列が返ってくるから、2行目はエラーになるんじゃないか
0288nobodyさん
2011/12/21(水) 08:45:16.75ID:???0289nobodyさん
2011/12/21(水) 10:15:07.10ID:???Configure::write('Session.timeout', '31536000');
↑これってセッションファイルが破棄されるまでの時間じゃないのかよ!!!ややこしすぎ
0291nobodyさん
2011/12/21(水) 14:24:31.11ID:???紹介している人のブログ見たけど、いまいち何が捗るのか分からん
別に配列で指定しても見た目で分かるじゃん。
0292nobodyさん
2011/12/21(水) 14:41:31.77ID:???0293nobodyさん
2011/12/21(水) 14:45:23.68ID:???0294nobodyさん
2011/12/21(水) 14:57:27.19ID:???0295nobodyさん
2011/12/21(水) 23:18:44.66ID:???0296nobodyさん
2011/12/21(水) 23:35:54.39ID:???複数のモデルとコントローラーから利用する予定だけど、クラスとして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:???その都度SQL叩いてるんだったか、どっちだったか忘れた。
0301nobodyさん
2011/12/22(木) 18:58:21.21ID:???セッション発行してるけど、なんのために?
中規模のサイトだったらsessionファイルが何万も作られて怖いんだけど
0303nobodyさん
2011/12/22(木) 21:12:30.05ID:???falseにしたら
$this->Session->setFlash
のメッセージが表示されなくなったニダ
0304nobodyさん
2011/12/23(金) 00:56:07.87ID:???0305nobodyさん
2011/12/23(金) 12:30:12.44ID:???0306nobodyさん
2011/12/23(金) 12:56:48.08ID:???今更変えられないし
0307nobodyさん
2011/12/23(金) 13:04:59.22ID:???変えられないのはお前のせい。
正しくフレームワークを使っていれば
自分の作ったコードとフレームワークを分離させられる。
0308nobodyさん
2011/12/23(金) 13:24:47.98ID:???0309nobodyさん
2011/12/23(金) 13:33:57.13ID:???0310nobodyさん
2011/12/23(金) 14:26:04.13ID:???そのサイトで問題ないんだから、使い方が悪いだけだ
0311nobodyさん
2011/12/23(金) 16:12:44.23ID:???最終版と銘打ったものが出ない限り、クリティカルなバグを含んでなければコアをアップデートする気になれない俺は無精すぎる
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:???ビューキャッシュって$autoLayoutがfalseの場合、
キャッシュファイルが生成されません。
レイアウトを使用しない場合、キャッシュが生成されないのでしょうか?
0316nobodyさん
2011/12/24(土) 15:39:27.27ID:???その状況でのみキャッシュ生成されないんならそうなんじゃない?
layout/empty.ctpとか作ってコンテンツだけを単純に出力するレイアウトにして適用すれば回避できそうだけど
0317315
2011/12/24(土) 17:08:20.11ID:???ありがとうございます。仮のレイアウト作る方法で出来ました。
ただビューキャッシュについては上手く行かないことが多くて、
例えば、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セッションの有効期限を変更するのってどこをいじればいいんでしょうか?
0319318
2011/12/25(日) 03:57:41.58ID:???一箇所に固まったのね。
0320nobodyさん
2011/12/25(日) 17:29:14.64ID:???自分で作るよりそんなに楽なの?
0323nobodyさん
2011/12/26(月) 00:40:12.74ID:???conditions に array("MATCH(title) AGAINST ('".mysql_real_escape_string($keyword)."')");
みたいな感じに書くと「DBに接続できてないからmysql_real_escape_stringは使えないっすよ」的なエラーが出るんだけどどうしたらいいんだ
0324nobodyさん
2011/12/26(月) 08:51:40.09ID:???cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
0325nobodyさん
2011/12/26(月) 08:53:39.81ID:???cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
0326nobodyさん
2011/12/26(月) 19:22:58.29ID:???App::import('Sanitize');
Sanitize::escape($keyword); とか
0329nobodyさん
2011/12/27(火) 13:24:45.98ID:???0330nobodyさん
2011/12/27(火) 13:29:34.03ID:???たいしたことないから修正されないんですかね?
実際に個人情報とか漏れてるわけでもないので別に問題ないっちゃ問題だいけど。
ちょうどフレームワーク名に使おうか迷っててcakephpにも興味あるんですが
cakephpてurlにクエリをつけるとこういうページが表示されるものなんでしょうか?
http://mystone.aeriagames.jp/?
0331nobodyさん
2011/12/27(火) 14:05:11.21ID:???0332nobodyさん
2011/12/27(火) 16:06:32.48ID:???以前は入っていたような気がするんだけれども、2.xになってから使われてないっぽかったので、よくわからんので質問したんだ
説明不足ですまぬ
>>326
さんくす!
0333315
2011/12/27(火) 17:42:17.16ID:???もう何日もググって試してやってますが、
ビューキャッシュファイルにprefixが付きません・・・
0335nobodyさん
2011/12/28(水) 02:02:45.93ID:???DBから一覧を取得してその中の日付のフォーマット変えたり、
0か1で入っている性別を男と女に変換したりとか。
0336nobodyさん
2011/12/28(水) 07:03:30.26ID:???これは特殊例だな
多分トップページだけCakeのルーティングを外しているか特殊なmod_rewrite書いたりしてるはず
ソース読めないんで確かなことは言えないけど。
まあそもそも1.2の初期バージョン使ってるようなサイト参考にされても困る
0337nobodyさん
2011/12/28(水) 09:44:18.78ID:???1.3ならvirtualField使った方が良いのでは。
日付のフォーマット変えるのは自分は表示する時にしてるけど。
0338nobodyさん
2011/12/28(水) 09:59:07.49ID:???DBの値を変更って、SQLのINSERTとかUPDATEかと思った。
DBから引いたデータを加工するなら、viewでやろうがmodelでやろうが好きにすればいい。
そのあたりはpaginateでもfindと同じこと。争点にする意味がわからん。
0339nobodyさん
2011/12/28(水) 12:59:51.45ID:???こういうときつらいよな
Yiiはオブジェクトなんだっけ?
0340nobodyさん
2011/12/28(水) 14:11:35.72ID:???0341nobodyさん
2011/12/28(水) 14:16:12.40ID:???0342nobodyさん
2011/12/28(水) 14:43:40.02ID:???0343nobodyさん
2011/12/28(水) 15:50:07.23ID:???0344nobodyさん
2011/12/28(水) 16:36:45.22ID:???0345nobodyさん
2011/12/28(水) 17:11:51.85ID:???0346nobodyさん
2011/12/28(水) 17:18:26.85ID:???・Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。
・ウェブアプリケーション(Web application)は、ウェブの機能や特徴を利用したアプリケーションソフトウェアのことである。
ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。
0347nobodyさん
2011/12/28(水) 19:42:34.74ID:???0348nobodyさん
2011/12/28(水) 20:23:56.64ID:???v2.0でもvirtualfieldだな
Paginatorのソートは、sqlに投げてるだけっぽいから、
加工後の値でソートしたいなら、virtualfield使うのが一番楽
0349nobodyさん
2011/12/28(水) 22:42:26.99ID:???0350nobodyさん
2011/12/28(水) 22:51:10.97ID:???って、んなわけねーだろ!
0351nobodyさん
2011/12/29(木) 01:39:46.15ID:???Webサービス→mixiとかtwitterとか
Webアプリケーション→OpenPNEとかWordpressとか
0352nobodyさん
2011/12/29(木) 03:10:25.40ID:???0353nobodyさん
2011/12/29(木) 04:32:43.50ID:???'id' => $user['User']['id'],
'lastlogin' => date("Y-m-d H:i:s", time()),
));
↑こうやってlastloginにユーザーのログイン時間を保存しているんですが、
ローカルではちゃんと保存されるのに、
全く同じコードをアップロードした本番サーバでは
保存されないのはなぜ??
0354nobodyさん
2011/12/29(木) 08:33:32.46ID:???0355nobodyさん
2011/12/29(木) 10:49:12.41ID:???0356nobodyさん
2011/12/29(木) 10:58:31.41ID:???学年
クラス
生徒
を管理するときに
コントローラ・・・学年
アクション・・・・クラス
id・・・・・・・・・・・生徒
とするのか
コントローラ・・・学年/クラス
アクション・・・・・生徒
とするのどちらがよいでしょうか?
前者の場合はモデルへデータを追加するだけで管理できますが
紺者の場合はモデルへデータの追加とアクションの追加を行いますが
どちらが定番といえますか?
0363nobodyさん
2011/12/29(木) 13:33:28.56ID:???是非教えてください
荒らす気はありません
0365nobodyさん
2011/12/29(木) 17:29:24.05ID:???public_htmlの位置が変えられない環境ならこの辺参考にがんばれ
http://massat.jp/2007/01/08/110
>>356
その例だと、学年hasManyクラス、クラスhasMany生徒、のデーターベース構成の話になってしまうような
ちょっとMVCを誤解している気がする
0366nobodyさん
2011/12/29(木) 17:41:41.88ID:???0367nobodyさん
2011/12/29(木) 19:59:03.95ID:???0368nobodyさん
2011/12/29(木) 20:06:56.58ID:???学年、クラス、生徒は全部モデルだよ。
正確に言えば、モデルが扱うデータとその属性だよ。
ま普通に考えれば、生徒がたくさん入っている生徒達データがあって、
学年とクラスは、生徒一人ひとりの属性。
0369nobodyさん
2011/12/29(木) 20:09:49.58ID:???そして、メソッドの戻りをビューに変換する役目も持っている。
コントローラはあくまでURLとデータの変換をするだけで
学年とかクラスとかそんなものを扱う所ではない。
0371nobodyさん
2011/12/30(金) 11:04:12.85ID:???0372nobodyさん
2011/12/30(金) 12:04:16.43ID:???0373nobodyさん
2011/12/30(金) 12:56:24.02ID:???0374nobodyさん
2011/12/30(金) 13:57:03.73ID:???0375nobodyさん
2011/12/30(金) 14:07:23.64ID:???0376nobodyさん
2011/12/30(金) 14:08:22.55ID:???0377nobodyさん
2011/12/30(金) 15:17:13.68ID:???0378nobodyさん
2011/12/30(金) 15:37:15.23ID:???0379nobodyさん
2011/12/30(金) 23:17:06.65ID:???0380nobodyさん
2011/12/31(土) 04:56:39.85ID:???0381nobodyさん
2011/12/31(土) 07:32:25.22ID:???0382nobodyさん
2011/12/31(土) 07:56:47.38ID:???0383nobodyさん
2011/12/31(土) 07:57:13.90ID:???0384nobodyさん
2011/12/31(土) 08:39:39.24ID:???0386nobodyさん
2012/01/02(月) 13:43:43.74ID:???0387nobodyさん
2012/01/02(月) 16:43:04.06ID:???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:???他にも2.0で新規に作ったシステムがあって、それと同時に開発してるから、バージョンが違うとややこしい
あとコードが汚いからイチから書き直したいというのもある
いずれにせよ、古くなったバージョンからはさっさと離れたい
0392nobodyさん
2012/01/02(月) 18:47:28.84ID:???0393nobodyさん
2012/01/02(月) 20:59:19.72ID:???俺はそんな感じの作ってるよ。
0394nobodyさん
2012/01/02(月) 21:23:42.17ID:???0395nobodyさん
2012/01/02(月) 22:01:40.40ID:???0396nobodyさん
2012/01/02(月) 22:15:37.39ID:???まぁ使う方が楽なんだろうけど、やんないならやんないで別にいいって部類ならスルーしちまおうかと思って。
0397nobodyさん
2012/01/02(月) 22:19:15.79ID:???同じような箇所が結構あるだろ
0398nobodyさん
2012/01/02(月) 23:08:17.97ID:???cakeに用意されているサンプルデータでいいから、1回はbake体験した方がいい。
ひな形とはいえ、MVC全部を作ってくれるのは助かる。
0399nobodyさん
2012/01/03(火) 00:17:03.05ID:???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:???半角スペースは投稿時に省略される。
>.2.FormHelperを継承したMyFormHelperを作成
今回はこっちを採用した。html5の input email を使いたくて、FormHelperを継承した。
0402nobodyさん
2012/01/03(火) 13:58:48.66ID:???0403nobodyさん
2012/01/03(火) 15:17:25.79ID:???0404nobodyさん
2012/01/04(水) 00:34:45.46ID:???0406nobodyさん
2012/01/04(水) 09:38:54.30ID:???>>404
https://github.com/joebeeson/analogue
0407nobodyさん
2012/01/04(水) 20:46:12.62ID:???複合主キーにも対応させてくれないか?
0408nobodyさん
2012/01/04(水) 22:17:55.77ID:???0409nobodyさん
2012/01/04(水) 23:27:58.25ID:???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:???一応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 function 関数名
と書くと、public functionが長すぎて、ぱっと見たとき関数名に目が
行きにくいんだよな。変数は常にpublic/private意識しておくけど、
メソッドはほぼpublicで問題ないし。
0413nobodyさん
2012/01/05(木) 02:32:44.05ID:???1.3時代からpublic付けてたんだが。
0414nobodyさん
2012/01/05(木) 12:39:38.01ID:6HbHp9Xn頭の中に、ウェブサービス構築のための常套手段が植え付けられたからだと思う。
CakePHPというよりもフレームワークを使用するメリットと言った方が適切かな。
0415nobodyさん
2012/01/05(木) 17:48:11.25ID:???AppControllerのbeforeFilterでsetした値が404の時にビューに反映されないようになった?
全ページでヘッダー部分に表示させてる共通データの部分が、404の時だけundefined variableになってしまう
SQLログ見るとデータ自体は取ってきてるみたいだけどsetしたはずのデータがビューに反映されない
0417nobodyさん
2012/01/05(木) 21:37:19.55ID:???ビューがClassRegistyに登録されなくなったから、ビューの別インスンタンスが生成されて
それが使われる。
あとデフォルトのExceptionRenderer(というか、CakeErrorController)はbeforeFilter()まで実行しない。
beforeFilterで例外飛ばすときもあるじゃん?
というわけでExceptionRendererを継承したクラスを作ってそれを使うのがお勧め。
_getController()でもオーバーライドすればいいじゃないの。
0419nobodyさん
2012/01/06(金) 01:07:10.01ID:yz+Wi1W6どうすればいいですか?
0420nobodyさん
2012/01/06(金) 06:11:17.85ID:???云万になるとlsが遅くなる気がするけど、
PHPがセッションファイルを直接取ってくるんならとくに大丈夫なのかな
0421nobodyさん
2012/01/06(金) 07:36:47.81ID:???全列挙する必要がある ls には O(N) 必要
それに対して目的のファイルが判っている場合は O(log N) に収まる
古いファイルシステムだとまた話が変わってくるが
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:???0426nobodyさん
2012/01/06(金) 14:42:53.01ID:???http://localhost/helloにアクセスするとhelloビューの内容が読み込まれましたが
http://localhost/にアクセスするとcakephpのreadme見たいな感じのページがでてしまいます
http://localhost/にアクセスした場合のデフォルトのコントローラをhelloにしたいのですがこれはどこのファイルに設定するのでしょうか?
0427nobodyさん
2012/01/06(金) 15:56:30.42ID:???0428nobodyさん
2012/01/06(金) 23:03:59.16ID:???自分で書いたコードはスペースインデント
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ヘッダが送られているかって確認できましたっけ?
0430429
2012/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:???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:???リンク先は違う情報だったけど要は
App::import('Component', 'Mailer');
$Mailer = new MailerComponent();
$Mailer->initialize( $this );
$Mailer->startup( $this );
ってやればいいのかな?
0434ひろみちゃん
2012/01/07(土) 17:28:25.09ID:???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:???ありがとうございます
拝見しましたが、思ったより長いですね
>>433のやり方じゃ駄目で、このようにきっちりやるべきなんでしょうか
0436ひろみちゃん
2012/01/07(土) 18:00:20.89ID:???短期的には>>433のやり方でも問題ないです。
メールのマネージャー程度のコンポーネントならまず大きな問題は起こりえないでしょう。
長期的に見れば、2.0で導入されるやり方に近いほうがより良いと思います。
0437nobodyさん
2012/01/07(土) 18:15:00.53ID:???コードはありがたくいただきます
0438nobodyさん
2012/01/07(土) 21:17:09.01ID:???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がちゃんと送信されてない感じ
0439438
2012/01/07(土) 21:49:27.70ID:???CGI版のPHPだとBasic認証効かないのね
0440nobodyさん
2012/01/07(土) 22:13:13.36ID:???1.xと比べてシャキシャキ動いてる気がする
0441nobodyさん
2012/01/07(土) 22:51:46.73ID:???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:???dev版だけど、多少軽くなってるみたいだな
0446nobodyさん
2012/01/09(月) 00:29:39.74ID:pfm1AGOc'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をうしろにくっつければいけました
0449nobodyさん
2012/01/09(月) 01:58:03.73ID:???0450nobodyさん
2012/01/09(月) 06:19:15.24ID:???function index($param){
とアクションを作っていて、URLで
コントローラー名/index/パラメータ
と呼ばすに
コントローラー名/パラメータ
とやっても動くようにするにはどうすればよいでしょうか
ぐぐるとRoutesを使う例が出てきましたが、それだと他のアクションが使えなくなるようでした
アクションとして存在しない時のみ、indexのパラメータとして扱うことはできないでしょうか
0451nobodyさん
2012/01/09(月) 08:57:47.96ID:???$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:???0456nobodyさん
2012/01/09(月) 23:34:27.49ID:SU3KFcHv0457nobodyさん
2012/01/09(月) 23:37:13.69ID:???これは実際に200件実行してるということでしょうか
すると問題ありますかね
0458nobodyさん
2012/01/09(月) 23:43:44.32ID:???sqlを200回実行してるわけねーだろ
0459nobodyさん
2012/01/09(月) 23:49:11.21ID:???ありがとうございます。
(default) 262 queries took 46 ms こう表示されてました。
0460nobodyさん
2012/01/09(月) 23:55:34.73ID:???262回クエリ投げてるな
どんなページだか知らないがさすがに多すぎると思う
っていうか、自分で実装したコードなんだろうからクエリ回数くらい検討つくだろう
アソシエーションで勝手にいっぱい持ってきているのならcontainableで引っ張ってくるデータを厳選すればいいぞ
0462nobodyさん
2012/01/10(火) 01:48:35.15ID:???0463nobodyさん
2012/01/10(火) 03:05:48.92ID:Rzgwr3Tg0464nobodyさん
2012/01/10(火) 05:46:55.61ID:???遅い原因の一つはこれか?
0465nobodyさん
2012/01/10(火) 10:19:59.29ID:???Yiiにしとけ
CakePHPはオワコン
0466nobodyさん
2012/01/10(火) 12:07:44.08ID:+4VQFJJnaテーブル
bテーブル
a_bテーブル
があるとして
a にhasAndBelongsToManyを設定して
a_b にbelongsToを設定したら、このbelongsToがスルーされる。なぜだかわかる?
削除用に設定したいんだけど、毎回bindModelするしかないのかな。
0467nobodyさん
2012/01/10(火) 12:11:35.74ID:???0468nobodyさん
2012/01/10(火) 13:05:20.54ID:???0469nobodyさん
2012/01/10(火) 13:14:52.36ID:???0471nobodyさん
2012/01/10(火) 19:50:56.57ID:???表向きは404返してくれるんだけど、error.logにmissing controllerが記録されるようになった気がする
テスト環境時はmissing controllerエラーを表示してくれてOKだけど、本番でそれがerror.logに記録されるのはなんか変じゃないか?
/robots.txtとか/favicon.icoとかにアクセスがあったら、ひたすらerror.logに記録されちゃってるし(ファイルがない場合)
0472nobodyさん
2012/01/10(火) 21:31:38.90ID:???0475nobodyさん
2012/01/11(水) 16:35:42.80ID:???今再インストール中で確認できないが
0477nobodyさん
2012/01/12(木) 06:51:34.68ID:???0478nobodyさん
2012/01/12(木) 13:41:50.62ID:???http://c-brains.jp/blog/wsg/11/12/08-114554.php
0479nobodyさん
2012/01/12(木) 20:06:56.05ID:srRhUW1K返信サンクス
解決方法探し当てた。
http://d.hatena.ne.jp/cakephper/20100826/1282798441
0480nobodyさん
2012/01/13(金) 01:39:04.98ID:ayVGOPQuコントローラーの中で動的に変更したい場合どうすればいいですか?
0481nobodyさん
2012/01/13(金) 17:22:59.89ID:???<input name="data[Post][title]"
じゃなくて
<input name="title"
になっている場合があるのですが、
これって単にフォームヘルパーを使ってないだけですかね?
それともフォームヘルパーでnameを配列にしない方法があるのでしょうか?
0482nobodyさん
2012/01/13(金) 18:28:21.82ID:???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:???$a = $func();
return $a[$key];
}
0488nobodyさん
2012/01/15(日) 15:39:15.61ID:???こんな感じでURLを丸ごとパラメータとして渡したいんですが
Cakeでやる方法があったら教えてほしいです
0489nobodyさん
2012/01/15(日) 16:40:34.32ID:???0490nobodyさん
2012/01/16(月) 17:55:18.55ID:l7Fd5fgUhttp://www.php-compiler.net/blog/2012/net-interoperability-overview-of-phalanger-3-0
0492nobodyさん
2012/01/17(火) 00:47:37.68ID:???$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使っててこういうの初めてで、何故だかわからないんだけど
わかる人いる?
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:???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:7jQnUKTcApp::uses('Component', 'Controller');
と付け加えればよいのでは?
0497nobodyさん
2012/01/17(火) 04:10:42.74ID:???モデルでコンポーネント使う設計についてはもはや何も言うまい
0499nobodyさん
2012/01/17(火) 11:04:16.23ID:7jQnUKTcCakePHPは、2になってクラス階層を意識する場面が多くなったと思う。
2.1ではさらにその傾向が強くなっている。
2で開発しているのだったら、今のうちに2.1にアップグレードしておくのをおすすめする。
0500nobodyさん
2012/01/17(火) 15:19:00.74ID:???リリースによれば2.0と完全後方互換があるらしいけど
0501nobodyさん
2012/01/17(火) 16:07:54.57ID:???0503nobodyさん
2012/01/17(火) 20:03:02.72ID:???0504nobodyさん
2012/01/17(火) 20:24:27.94ID:???http://awabi.2ch.net/test/read.cgi/poverty/1326781620/
0506nobodyさん
2012/01/17(火) 21:29:13.39ID:???0507nobodyさん
2012/01/17(火) 23:25:43.99ID:???でも1.x系の開発経験あれば、マイグレーションガイドを見つつ書いていけば何とかなる
何とかならなかったときにはこのスレがある
0508nobodyさん
2012/01/18(水) 11:54:09.09ID:1MLy4CWB問題は、既存の資産が直接使えなくなったこと。
特にAuthまわりは、完全に変わってしまっている。
これまで、直接 Auth コンポーネントをオーバーライドして機能拡張していたんだけど、すべて書き直して、プラグイン化した。
*機能拡張の内容は、「ユーザ登録確認メールの送信」「オートログイン」「SSL対応」「権限チェック」。
しんどかったけど、今後のプロジェクト間での使い回しと拡張性が確保できた点では、それなりのメリットが見込めそう。
メール送信も大きく変更された部分だが、これはすばらしい出来。
0509nobodyさん
2012/01/18(水) 14:59:56.52ID:???メール送信や画像アップロードはライブラリ作ってるけど、
Authはフレームワーク全体に関わることだからな
0510nobodyさん
2012/01/22(日) 17:25:08.97ID:MxKFDdQFEmailComponent::templateで指定したファイルの文字コードは
UTF-8もしくはShift-JIS、どちらが正しいのでしょうか?
0511nobodyさん
2012/01/22(日) 22:16:15.47ID:???あとあと楽です。
0512nobodyさん
2012/01/23(月) 00:38:44.40ID:???0513nobodyさん
2012/01/23(月) 06:06:15.69ID:???function edit() {} // 編集アクション
↑8割方同じ処理をしているアクションがあるときどうしてる?
俺はaddに同一処理かいて、
エラーや編集のときの個別処理だけeditに書いてるんだけど、
アクションのURLが違うからエラーでの書き込みフォームに戻る処理などが難しい
editでreturn;するとeditビューが呼ばれてしまう
0514nobodyさん
2012/01/23(月) 11:36:23.68ID:Vo1w/brb'北海道' => '北海道',
'青森県' => '青森県',
'岩手県' => '岩手県',
'宮城県' => '宮城県',
'秋田県' => '秋田県',
'山形県' => '山形県',
'福島県' => '福島県',
'茨城県' => '茨城県',
(中略)
'鹿児島県' => '鹿児島県',
'沖縄県' => '沖縄県'
), 1, array('empty' => null, 'class' => 'orderform')) . PHP_EOL;
と書いたんですが、出力をみると一つ目の北海道にselectedがついてなくて、
<option value="福島県">福島県</option>
option value="茨城県">茨城県</option>
と茨城県だけ頭の<が出ないです
茨城の項目を削除すると、次の栃木の頭の<が消えるので福島が原因かと思ったんですが
福島を消しても栃木が消えるので8個目が消えるという感じかも知れないんですが
解消する方法ご存知でしたらお教えくださいますようよろしくお願いいたします
0515nobodyさん
2012/01/23(月) 12:43:46.65ID:???0517nobodyさん
2012/01/23(月) 16:49:13.48ID:???俺はaddとeditは一緒にaddの中に書いて、idがあるかどうかで条件分岐してるわ
アクション分けたいならfunction _addOrEdit()みたいなのをつくって、共通処理はそこに突っ込めば?
0518nobodyさん
2012/01/24(火) 16:24:41.34ID:???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:???手元で検証してみたら、確かにModel::deconstruct()が仕事しなかった。
んで、最新版落っことしてきて、コアの部分をすげ替えたら動いたよ。
cake2最初期版はなんか問題があったんかもしれんね。
ついでにもうひとつ。
FormHelper::dateTime()だけど、引数の取り方変わってるよ。
その書き方でほんとにプルダウン生成されてるかい?
http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html#formhelper
0520519
2012/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:???これは今後のバージョンで無くすということ?使うなということ?
0522521
2012/01/25(水) 16:40:31.53ID:???0523nobodyさん
2012/01/26(木) 22:25:16.80ID:???今2.0でリリースすると中途半端な気がして、2.1のリリースを待機している・・・
0524nobodyさん
2012/01/27(金) 13:11:04.23ID:???そろそろPHP5.3仕様のフレームワークに移りたい・・・
あと、データが配列なのももう嫌。
今のところ、正式版でてるのはSymfony2かFuelPHPかな?
Yiiも次期バージョンでは5.3を使うらしい。
0525nobodyさん
2012/01/27(金) 13:56:20.77ID:???0526nobodyさん
2012/01/27(金) 14:58:32.50ID:???0527nobodyさん
2012/01/27(金) 15:19:00.44ID:???たとえば、ビューがifだらけになっちゃうことなどです。
バーチャルフィールドである程度は対処できますが、
限界がありますし・・・
0528nobodyさん
2012/01/27(金) 19:36:57.17ID:???マニュアルを確認すると
「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
0530nobodyさん
2012/01/27(金) 21:51:47.71ID:???同名のコントローラにアクセスすると、そのフォルダを読みに行ってしまいます。
例
/webroot
└/test
└index.php
の場合、http://example.com/test/
でアクセスすると、/webroot/test/フォルダ内のindexファイルを探す
同名のフォルダがあった場合、コントローラーを読み出すようにするには
どうすればいいのでしょうか?
0533nobodyさん
2012/01/28(土) 16:14:55.65ID:???0534nobodyさん
2012/01/29(日) 02:29:16.25ID:???<a class="desc" のようなclass名が付くと思うのですが、
1.3.14では付きません。なにか設定方法が変わったのでしょうか?
0535nobodyさん
2012/01/29(日) 20:34:45.68ID:???と遷移する画面があるとして、1でPOSTされたdataをそのまま3で使いたい時
どうすればいいかね?
2でinput hiddenで埋め込むしかないの?
0536nobodyさん
2012/01/30(月) 01:35:56.87ID:???これどうだい?
https://github.com/jaredhoyt/cakephp-wizard/
0537nobodyさん
2012/01/31(火) 20:54:05.78ID:???ボットの適当なアクセスでerror.logが更新されまくって困るんだが
0538nobodyさん
2012/01/31(火) 21:27:48.91ID:???今、2.0系で開発してるんだが、2.1系とどれくらい互換性あるのかね
2.1まで待てばよかったかなぁ・・・
0539nobodyさん
2012/02/01(水) 14:03:22.66ID:???リンクをクリックすると絞り込み検索して,結果を一覧表示させる方法がわからないです。
全レコードの出力はindexアクションなんだけど,
絞込検索の方は,また別にアクションを書く必要があるの?
それともindexアクションの中で絞り込むことってできるの?
0540nobodyさん
2012/02/01(水) 14:31:02.84ID:???0541nobodyさん
2012/02/01(水) 18:11:27.88ID:???2.1は2.0完全互換なので問題なく動くはず
ただ2.1でも重要な部分のアップデートがあるから、その辺はどちらにせよそのうち直すことになりそうだけど
0542sage
2012/02/03(金) 01:46:58.38ID:???0543sage
2012/02/03(金) 01:48:56.31ID:???0544nobodyさん
2012/02/03(金) 03:11:07.37ID:???○ Readme
スペルは正しく書きましょう
0545nobodyさん
2012/02/06(月) 21:53:18.73ID:???0546nobodyさん
2012/02/07(火) 02:09:02.39ID:???やっぱり人口が多いのが一番だね英語知らないから
0547nobodyさん
2012/02/07(火) 14:09:10.01ID:???俺的にはオレオレと変わらないと思ってる。
多少動作が重くても、扱える人口が多いことに意味がある。
0548nobodyさん
2012/02/07(火) 19:26:51.77ID:???明らかにYiiはCakePHPより優れてるよ
日本人の使用者人口が増えれば日本語のリソースも増えてくると思うし
英語がダメな人はもう少し待つほうがいいかもな
0549nobodyさん
2012/02/07(火) 19:36:59.22ID:???本当にYiiが優れてるのなら、もっとブログで情報発信したりスレに書き込んだりしてくれよ
軽く触った感じではCakePHPに次いでいい感じだったけど、ユーザー少なそうで本腰入れる気になれない
ユーザーいないから情報出なくて、情報出ないからユーザー増えないという悪循環にはまってる感じがする
0550nobodyさん
2012/02/07(火) 20:08:39.28ID:???って考えになるんだよな。
0551nobodyさん
2012/02/07(火) 22:20:42.14ID:???>ユーザーいないから情報出なくて、
日本語で情報探すとそう感じるけど、
英語で探すとけっこう出てくるよ。
てかドキュメントがしっかりしてるからあんま必要ないけどね。
まぁ世界全体でだけど、こんな感じの伸び率
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:???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:???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:???0566nobodyさん
2012/02/08(水) 12:08:44.04ID:???0567nobodyさん
2012/02/08(水) 12:11:29.75ID:???0568nobodyさん
2012/02/08(水) 12:14:52.18ID:???0569nobodyさん
2012/02/08(水) 12:15:51.13ID:???0570nobodyさん
2012/02/08(水) 12:18:45.15ID:???0571nobodyさん
2012/02/08(水) 12:19:03.41ID:FLeGKhAC0572nobodyさん
2012/02/08(水) 12:22:28.38ID:???0573nobodyさん
2012/02/08(水) 12:40:57.21ID:???0575nobodyさん
2012/02/08(水) 16:25:40.59ID:???0577nobodyさん
2012/02/08(水) 17:01:40.67ID:???0578nobodyさん
2012/02/08(水) 18:10:15.72ID:???0579572
2012/02/08(水) 18:39:58.51ID:???0581nobodyさん
2012/02/08(水) 21:44:51.18ID:???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に配列で選択肢を指定したら
横並びの入力項目が出来るので、
画像付きのこういった表現が出来ません。
どうすればいいのでしょうか?
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:???すみません、いろいろとググったのですがみつからず困ってました。
AppControllerにアクションwebrootがみつからない
ファイルapp\Controller\AppController.php作ってwebroot()を作れ
っと言われてると思うのですが、実際に作るとphpでのエラーがでてしまいます。
Fatal error: Class 'AppController' not found
申し訳ありませんが、ヒント頂ければと思います。
0589nobodyさん
2012/02/10(金) 20:19:58.49ID:???app\Controller\AppController.php
には正確にはどう書いた?
とうか、そもそも、どういうディレクトリにインストールして
どこにアクセスしてる?
0590nobodyさん
2012/02/10(金) 20:55:32.66ID:???document rootと、http側のrootが一致してないと見た。
0591nobodyさん
2012/02/10(金) 21:02:16.73ID:???そのあとのエラー的に、>>590の言うとおりパスがおかしいんじゃないかと。
あとhttpd.conf内でmod_rewriteは設定してるよな?
まずはhttpdの設定を見直すよろし。
0592nobodyさん
2012/02/10(金) 21:02:49.14ID:???中には表示されていた
<?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>
と記述してあります。
どうでしょうか、よろしくお願い致します。
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のデフォルトは、「閉じタグ ?> が無い事が標準」となってる。
初学者なのは分かるけど、いきなりフレームワークに手に入れるとか愚の骨頂。
どれだけの人数がテストしてると思ってるの?
0597nobodyさん
2012/02/10(金) 21:37:46.65ID:???一通りhttpd.confをみなおし、ルートも確認し
>>595のとおり?>もはずしてみましたがやはり直りませんでした。
どなたかわかりそうな方いましたら、よろしくお願い致します。
0598nobodyさん
2012/02/10(金) 22:18:06.68ID:???ルートを確認したっていうことだけど、
httpd.conのDocumentRootはどう書いてあるの?
0599nobodyさん
2012/02/10(金) 22:22:19.33ID:???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:???俺はMac使ってるけど
cake本体は /Library/ の中、appは /Users/俺/ウェブ開発/○○アプリ って感じ。
jquery関係とかよく使うアセットはcake本体側に入れとけば複数app作るの楽だし
0602nobodyさん
2012/02/10(金) 23:53:22.09ID:???・http.confにOptions FollowSymLinksの指定がしてあるか
・そもそもmod_rewriteはLoad Moduleされてるのか
・apacheのエラーログ確認
・各.htaccessにrewrite baseの設定が要るかも?
0605nobodyさん
2012/02/11(土) 02:53:33.10ID:???ヘルパーはApp::importで読み込んでnewすれば使えるけど、
わざわざ呼ばんでも
debug($this->paginate)とかdebug($this->params)とかやったらなんかヒントあるんじゃね?
0606nobodyさん
2012/02/11(土) 08:51:11.48ID:???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:???携帯からなんで詳しい設定名わからんけど、
index.phpをインデクスファイルとして読み込む設定になってないんじゃないの
0608nobodyさん
2012/02/13(月) 23:59:06.34ID:???$paginator->sort('投稿数', 'Post.total_num')
みたいにビューに書いてもソートされません。
0609608
2012/02/14(火) 00:16:33.57ID:???今まで使い方を理解してませんでしたが、
$this->User->virtualFields = array(
'total_num' => 'COUNT(Post.user_id)'
);
みたいにすればいいんですね。
0610nobodyさん
2012/02/14(火) 03:08:29.79ID:???どちらを優先的にすべきですか?
RORのほうはサーバーの構築からが必要だったりでお気軽感覚では出来ず導入のための敷居は高い気がします。
しかし、Deviseというプラグインがあったりするので、いちいちユーザー登録や、ユーザー管理、ログイン管理の機能を作らなくても済んだりします。
一方でCakePHPなら未だに情報交換が活発になされてますし、あまり環境にこだわらずフォルダごと、ぶちこめば大抵うごいてくれます(データベース設定やパーミッション等はありますが)
両方出来る人とかに聞きたいのですが、どちらがオススメですか?
0611nobodyさん
2012/02/14(火) 03:20:43.81ID:???0612nobodyさん
2012/02/14(火) 03:29:17.24ID:???0613nobodyさん
2012/02/14(火) 03:51:01.11ID:???0615nobodyさん
2012/02/14(火) 15:53:13.31ID:XKQCpFOZセッションを使用して、異なるコントローラー間でデータの受け渡しを行いたいのですができません。
使用方法が間違っているのでしょうか?
異なるコントローラー間で以下の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:???上の一行をあるコントローラでやって、
下の一行を違うコントローラでやってると言う意味だよね?
まず下の一行を実行する前に
if($this->Session->check('id))
でセッション変数自体が存在しているか確認するのはやってみた?
0617615
2012/02/14(火) 17:37:28.16ID:???返信ありがとうございます。
windows環境で作成をしてて、なぜかPCを再起動したら取得できましたm(_ _)m ナゾです・・
0619nobodyさん
2012/02/17(金) 14:11:59.26ID:???別名を付けたファイル名からアクセスしたい場合、
ファイル内に $_GET['url'] = '/user/index' みたいに書けば良いだけですかね?
表向きはピュアPHPみたいなURLにしたいです。
0620nobodyさん
2012/02/17(金) 14:33:54.66ID:???意味が分からん。
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:???そうじゃなくて、基本的にcakeにアクセスするのって
webtoor内のindex.phpと.htaccessを元にしてるじゃないですか?
それを通さないで、単体のファイルで動かしたいって事です。
0622nobodyさん
2012/02/17(金) 14:50:28.33ID:???0624nobodyさん
2012/02/17(金) 22:18:17.74ID:/liskI/Yあなたはないかもしれないが、こちらは一杯あるよ
0625nobodyさん
2012/02/17(金) 23:19:48.84ID:???たまたまだろうけど
0626nobodyさん
2012/02/17(金) 23:35:34.41ID:???痒いところに手が届くログイン管理プラグインが無いのが痛い
0627nobodyさん
2012/02/18(土) 00:41:23.45ID:???0628nobodyさん
2012/02/18(土) 07:14:15.10ID:???webroot直下に置いたhtmlファイルとか、好き勝手に動かせるよ。
webroot/phpmyadmin
とかを本番機で動かしてるし。
ここでhtmlなり、ctpなり、好きなファイル置けばいいのでは?
0629nobodyさん
2012/02/18(土) 11:05:37.21ID:???0630nobodyさん
2012/02/18(土) 11:52:58.83ID:???楽しさを求める奴って一定の割合でいるけど何なの?世間ナメてるの?
0631nobodyさん
2012/02/18(土) 14:10:48.45ID:???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:???「自分の子供は糞までかわいい」って話じゃね?
子供の世話とバグ取りや保守作業って同じ感覚でやってたわ
むろんどっちも楽しい。
しかもメンテっつーか仕事なら、やっただけ対価までもらえるんだぞ?
毎日wktkしとるわw
0638nobodyさん
2012/02/18(土) 22:23:06.59ID:???他人が作ったものの尻拭いはごめんだ
0639nobodyさん
2012/02/18(土) 23:12:25.71ID:???ビルだって自動車だってそうだろ。
仕事として受けたならメンテのプロとしてやらないと。面白くないべ。
0640nobodyさん
2012/02/19(日) 00:03:12.80ID:???楽しくいないのは店長や客が嫌な奴だったとか
人間関係の面がほとんどだろ。
0641nobodyさん
2012/02/19(日) 00:21:41.04ID:???俺は仕事は楽しくなくちゃ嫌だわ。
0642sage
2012/02/19(日) 00:25:24.87ID:???0643nobodyさん
2012/02/19(日) 09:24:53.81ID:???ブラウザの「戻る」ボタンを押して前の画面に戻る際に、
必ずサーバーに問い合わせるようにしたいのですが、
キャッシュの設定を「session_cache_limiter('nocache')」にしていても
「ページの有効期限切れ」が表示される場合があります。
(具体的には、画面遷移時に一度入力チェックでエラーを表示した後、
次画面に遷移し、ブラウザの戻るボタンを押した場合。)
「ページの有効期限切れ」が表示されず、前画面に戻るには
どのような対応が必要でしょうか。
(ページの有効期限切れは、具体的に何を見て判定しているのでしょうか)
0644nobodyさん
2012/02/19(日) 14:32:18.81ID:???0645nobodyさん
2012/02/19(日) 22:02:58.12ID:???そういうことだろうな。
仕事でも趣味でも、開発すること自体楽しけりゃ不平不満なんて出ないどころか毎日Happyさね。
>>643
一般的に考えれば、フォーム(hiddenも含む)データじゃね?
単純な話で、なんかページ同士のパラメータの受け渡しに失敗してるんじゃないかな?
0647nobodyさん
2012/02/20(月) 13:39:28.34ID:???例えばサイトのほとんどがHTMLなんだけど、
お問い合わせフォームとか新着情報の表示とかシステム化が
必要な箇所ってありますよね?
0648nobodyさん
2012/02/20(月) 16:42:43.00ID:???おかげで数時間ムダにしたわ…
0649nobodyさん
2012/02/20(月) 17:31:52.64ID:???値セットしてないカラムも全部NULLになっちゃって。
0650nobodyさん
2012/02/20(月) 18:44:49.57ID:???0651nobodyさん
2012/02/20(月) 19:27:11.23ID:???どうもです。ぐぐったら解説も出てきました。
http://d.hatena.ne.jp/cakephper/20091221/1261385134
$data初期化してるのにヘンテコな値が入るので???になってたんですが、
よく考えたらモデルの方も初期化せなあかんのですね。
0652nobodyさん
2012/02/20(月) 19:44:33.38ID:???COUNT(column)とかで、面倒な挙動が多い・
0653nobodyさん
2012/02/20(月) 20:16:24.86ID:???実は既にあすこの会員でして・・・
しかし、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:???0655nobodyさん
2012/02/21(火) 13:06:27.12ID:???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:???できれば最新のもの使ったほうがウマイのでしょか?
0659nobodyさん
2012/02/21(火) 22:01:38.94ID:???新規で作るのなら2系で作っておいた方がいいと思うよ
1.3で作ってると下手に1.3のクセがつくだろうし
今勉強中ならRCも出たことだし、サービスリリースまでにはstable出るだろうから2.1使っちゃっていいんじゃない
0661nobodyさん
2012/02/21(火) 22:26:00.87ID:???そうですかー・・
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:???俺の見立てでは後1年は情報や書籍は揃わないと思う
0664659
2012/02/21(火) 23:19:39.41ID:???今までのプロジェクトは全部1.xで作ってきたけど、最近全部1.3.14に上げた
とりあえずそれらは2系に上げる予定無し(1.3から2.0への全面書き換えはだるいのでしばらくは放置すると思う)
2.0のstableが出てからは全部2.0で作ってる
>>659にも書いたけど、RC出たからもう2.1に移ろうかと思ってる
個人的には複雑なことをやってないせいもあるのか2.0の情報が少ないという感じはない
昔からcakeは「公式ドキュメント読んで分からなかったらソースを読め」ってスタンスだしね
ああ、でも公式ドキュメントはまだ日本語ないから英語が全く出来ないとちょっときついか
0666nobodyさん
2012/02/22(水) 01:12:36.89ID:???0667nobodyさん
2012/02/22(水) 01:34:03.12ID:???お前ら頼りなさすぎ
0668nobodyさん
2012/02/22(水) 09:23:59.33ID:???0669nobodyさん
2012/02/22(水) 10:44:07.07ID:???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:???と言うより、2.0については使用者も少なく回答できないんじゃないか?
1.3系の質問は回答されてるし。
頼りないなら他行けば良いんだよ。別に質問スレでもないんだから。
0671nobodyさん
2012/02/22(水) 18:20:43.51ID:???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:???BモデルはBモデルでバリデーションするだろ?
モデル毎にバリデーションできるんだから。
0675nobodyさん
2012/02/22(水) 21:06:14.46ID:???0680nobodyさん
2012/02/23(木) 15:41:37.63ID:???0681nobodyさん
2012/02/23(木) 16:23:25.15ID:???本家だと数字ついてないけど日本のサイトだと1版って書いてあるから微妙だなw
>>680
公式な発表はないと思うけど、もうリリースがほとんど止まってる感じだからなあ・・・
っていうか1.1はいつのまにか公式から消えてるけどどこかでアナウンスあったっけ?
0682nobodyさん
2012/02/23(木) 22:30:09.21ID:???0683nobodyさん
2012/02/23(木) 22:38:03.57ID:???0684nobodyさん
2012/02/23(木) 22:40:40.54ID:7dkJC+lD$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->paginate('Foo'));
に書き換えたらいけました
0686nobodyさん
2012/02/24(金) 04:00:19.56ID:???プライマリーキーがないモデルにsaveしようとしたけど、エラー出ました。
0688nobodyさん
2012/02/24(金) 12:24:37.97ID:???→写真
のようなアソシエーションで繋がっているテーブルがあったとして、
会員情報を削除した時、その会員が投稿した日記や写真を
削除する必要があります。
その場合、会員情報を削除した後、日記・写真を削除しますか?
それとも全てアソシエーションで繋げてdeleteAllで削除しますか?
0689nobodyさん
2012/02/24(金) 13:26:33.24ID:???好きにすればいいんじゃね
deleteAllがアソシエーション含んだ削除って誤解してる気がするんだけど気のせい?
0690nobodyさん
2012/02/24(金) 13:56:47.10ID:???0691nobodyさん
2012/02/24(金) 14:01:26.76ID:???まさに勘違いしてました・・。
アソシエーションの削除が上手く行かないので
自分は個別に削除するやり方をしているのですが、
勘違いだったようです。すみません。
0692nobodyさん
2012/02/24(金) 19:09:30.64ID:???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:???データベースを使うほどじゃない簡単なデータ保存処理のためにtxtファイルを読み書きしたいのですが、どこに置いてもうまくアクセスできません。
自分で用意したファイルにアクセスするにはどうしたらいいのですか?
0695nobodyさん
2012/02/25(土) 16:53:26.47ID:???0696nobodyさん
2012/02/25(土) 17:03:08.52ID:???テキストファイル自体は多くて10個程度のワードを保存&編集したいだけなのですが・・・
0697nobodyさん
2012/02/25(土) 17:25:39.89ID:???ものすごい遅いんですが、解決法はあります?
みなさんどうしてます?
0698nobodyさん
2012/02/25(土) 17:33:00.25ID:???0700nobodyさん
2012/02/25(土) 18:04:29.58ID:???自分で、model、またはdata sourceを書く。
csvならdata sourceあった希ガス
0702nobodyさん
2012/02/25(土) 18:06:37.16ID:???>>700
ありがとうございます
まずはdata sourceについて勉強してみます
0705nobodyさん
2012/02/25(土) 22:48:10.62ID:???ラジオボタンの場合、項目を選択せずに送信すると
空データではなく、存在しないものとして扱われます。
ですので、バリデーションルールでnotEmptyを指定しても
正しく機能しないのですが、どうすればいいのでしょうか?
0706nobodyさん
2012/02/26(日) 13:38:17.41ID:???0707nobodyさん
2012/02/26(日) 14:15:41.40ID:???0710nobodyさん
2012/02/28(火) 11:46:10.73ID:???where句に使用しているカラムにインデックスはるとか、
joinしてるなら、その辺も確認したほうがいい。
0711nobodyさん
2012/02/28(火) 15:16:02.31ID:pz8Lp3oaルーティングで躓いています。
以下のようなコントローラを用意しました。
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:???また、http://example.com/entry/index は表示される?
0713nobodyさん
2012/02/28(火) 15:25:44.20ID:pz8Lp3oasuccess以外でも一緒です。
/entry/index もダメです。
/entry/index/abc/def もダメです。
0714nobodyさん
2012/02/28(火) 16:50:04.76ID:???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:???/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 = '';
0717nobodyさん
2012/02/29(水) 02:33:19.83ID:???公式のマニュアルを見ているのですが、
/pizza/pizzaOrders/index
でアクセスする方法は分かるのですが、
/pizza/
でアクセスするにはどうしたら良いのでしょうか?
普通に/app/controllers/pizza_controller.phpを作ればいいと思ったのですが、
作ってもアクセスエラーになります。
これってルーティングの設定になるのでしょうか?
0718nobodyさん
2012/02/29(水) 08:54:37.66ID:???1000件しか表示しない!って決めたら、
function paginateCount($conditions = null, $recursive = 0, $extra = array()) {
return 1000;
}
こうしてもいいんですかね?
0719nobodyさん
2012/02/29(水) 15:57:45.32ID:OuUO3AKRプラグイン関係ない
ルーティングの問題
0721nobodyさん
2012/02/29(水) 21:04:59.32ID:???/app/plugin/pizza/controllers/pizza_controller.php
(要するにプラグイン名と同名のコントローラー)を作って、indexアクションを作れば
ルーター触らなくても/pizza/でアクセス可能だよ。
0723nobodyさん
2012/03/01(木) 05:51:29.65ID:???同じのでもサイトのコンテンツによって変えてる
0724nobodyさん
2012/03/05(月) 10:09:01.94ID:???つうかペース早いな
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:???2.0.xは今までのバージョン系列で一番寿命が短いし、下手したら1.3.xより今後のアップデートが期待できない気がする
0729nobodyさん
2012/03/05(月) 23:42:52.00ID:WIGrArNU自分の一つ上のレスも見ようぜ!
0730nobodyさん
2012/03/06(火) 01:02:47.42ID:???2.0系は結局書籍も出ずじまいか。
0731nobodyさん
2012/03/06(火) 03:40:14.04ID:???0733nobodyさん
2012/03/06(火) 22:01:24.25ID:???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:???普通にqueryでベタSQL投げないと駄目?
0735nobodyさん
2012/03/07(水) 18:16:47.78ID:???0736nobodyさん
2012/03/07(水) 22:24:25.29ID:???俺はSNSで3ヶ月。
0737nobodyさん
2012/03/08(木) 08:15:28.96ID:???2ヶ月3000万円
0739nobodyさん
2012/03/08(木) 10:16:55.80ID:???国のシステムだからそんなに凝ったことはしてないだろうけど、
どんな機能があって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:???0743nobodyさん
2012/03/09(金) 13:13:11.92ID:???0744nobodyさん
2012/03/09(金) 14:27:27.18ID:???0745nobodyさん
2012/03/09(金) 16:18:01.14ID:???0746nobodyさん
2012/03/09(金) 16:24:51.22ID:???0747nobodyさん
2012/03/09(金) 16:51:22.89ID:???エイリアス使ってるバカってまだいたんだwwwwwwwwwwww
0748nobodyさん
2012/03/09(金) 16:54:34.34ID:???0749nobodyさん
2012/03/09(金) 17:40:19.41ID:???0750nobodyさん
2012/03/09(金) 17:54:30.33ID:???繋げるにはどうすればいいのでしょうか?
0751nobodyさん
2012/03/11(日) 02:18:22.14ID:???0752nobodyさん
2012/03/11(日) 10:46:34.94ID:???PHPSESSIDをくっつけたい(?PHPSESSID=hoge)んだけど、どうしたらいいかな
コアの$html->link()を書き換えたりしたらいけそうだけど、
もっとスマートな方法ある?
0753nobodyさん
2012/03/11(日) 11:29:49.63ID:???自己解決
'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:???ソース見る限り、Security::$typeで設定した暗号方式でSecurity.salt使って
それをbase64_encodeして暗号化してるっぽいので
それを逆に処理すればJavascriptでも復号化できると思う。
詳しくはcookie componentのソース見て。
だけど、複合に必要なキーのSecurity.saltをJavascriptに
書かないといけないので、そもそもなんで暗号化したんだって
ことになるので設計を見なおしたほうがいい。
0757nobodyさん
2012/03/12(月) 00:06:16.05ID:uEcRtOSh老婆心ながら、>>756が言っていることを強調しておく。
設計を見直せ。salt の意味がない。
0758nobodyさん
2012/03/12(月) 13:24:30.73ID:???@以前のユーザ作成してるのかな?noreplyみたいな
存在しないアカウントをreturn-pathに設定してメール送ってるのかな?
0759nobodyさん
2012/03/12(月) 16:18:31.39ID:???複数チェックボックスを使って、チェックした項目をDBに登録し、
後から検索できるようにしたいと思います。疑問は2点。
1:テーブルの1つのカラム内にカンマ区切りで登録するのでしょうか?
2:その場合、conditionsで検索できるのでしょうか?
0760nobodyさん
2012/03/12(月) 17:53:27.28ID:???テーブルに保存してますか?
afterFindなどで組み立ててますか?
それとも、ビューでその都度組み立ててますか?
0761nobodyさん
2012/03/12(月) 18:10:15.80ID:???0763nobodyさん
2012/03/12(月) 19:58:56.46ID:???どうやって検索するのでしょうか?
1カラムにカンマ区切りのレコードがあったとして、
それをCakeのconditionsで検索する方法がわかりません
0765nobodyさん
2012/03/12(月) 21:33:33.63ID:???0767nobodyさん
2012/03/12(月) 22:27:22.65ID:???find時にconditionsで絞り込むのは無理みたいですね・・。
>>766
はい。それは分かりますが、登録されている値が
「1,10,11」みたいな場合、likeは利かないと思います。
0768nobodyさん
2012/03/12(月) 23:32:17.51ID:???>>757
ありがとうございます。
サーバサイドのJSでの実装を考えているため、種が漏れることはないと考えています。
ご回答/ご指摘ありがとうございました。
0769nobodyさん
2012/03/12(月) 23:45:06.08ID:???ソート順さえあっていれば、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:???さすがにひどい。
>>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:???もっと頭使おうぜ
1,10,11
ではなくて
001,010,011
みたいにすれば、like %001% で検索できるだろ。
あくまで1例だから、データに何がくるかによって
良い実装があると思うので、よく考えて。
0773nobodyさん
2012/03/13(火) 12:48:03.37ID:???0774760
2012/03/13(火) 13:20:03.94ID:???ビューが条件分岐だらけになりませんか?
if (!empty($post['Post']['image_filename']):
....
else:
こんな風に。
$post->getImageUrl(array('mobile' => true));
みたいに書けたらいいんですけどねぇ・・・
0776nobodyさん
2012/03/13(火) 13:45:55.38ID:???そうなんですけど、
モデルの返り値が配列じゃなくてエンティティなら、
もっとスマートに書けるのに、と思いまして・・・
これがCake流なんですかね
0777nobodyさん
2012/03/13(火) 13:53:09.13ID:???その考えはありませんでした。勉強になります!
ビット演算の事を>>770さんから教えていただき勉強しましたが、
数学が苦手な私の頭ではさっぱりで、
単純にテーブルを分ける(Cake的にhasMany)を考えていました。
テーブルを分けて正規化する方法も一般的なようですが、
正直、チェックボックスを使用するカラムが必要な度に
テーブルを生成するのもどうかと思い、悩んでいました。
772さんの方法も視野に入れて設計面を工夫してみます。
みなさん、ありがとうございました。
0778nobodyさん
2012/03/13(火) 22:24:16.17ID:???遅くなるだろw
0780776
2012/03/14(水) 03:34:06.02ID:???今はYiiを調べてる。
0781大便
2012/03/15(木) 08:30:03.53ID:UhuckWxP早速ペニーオークションで破産しました。
0783nobodyさん
2012/03/15(木) 16:11:21.14ID:???お問い合わせフォームとか会員専用ページとか
どのサイトでもよく使うファイルをプラグインにまとめるべきか否か悩みます。
0786nobodyさん
2012/03/15(木) 21:56:56.36ID:???0787nobodyさん
2012/03/16(金) 00:00:22.47ID:???0788nobodyさん
2012/03/16(金) 09:41:57.89ID:???俺はまとめてるよ。
ログイン
リマインダー
新規会員登録
アフィリエイト機能とか。
うまく作れば使いまわし効く。
全部プラグインでやれるから
最近やることなくなった。
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:???具体的にいうと、
プラグインの中に
ビヘイビアと、コンポーネントを作る。
それをusercontrollerとmodelに読み込ませる感じ。
0794nobodyさん
2012/03/17(土) 19:37:12.80ID:???または修正版のサイトとかあれば
0795nobodyさん
2012/03/19(月) 15:45:40.35ID:???これって結局安いの高いの
0796nobodyさん
2012/03/19(月) 16:50:34.02ID:???さくらインターネットのメールサーバに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:???すまん、一応CakePHPのコンポーネントとして使ってるし、
Cake使ってる人でメール送信する人はこれ使ってる人多そうだからここで聞いてみた
PHP質問スレで聞いたが、そこでもスレ違いだとさ・・・。
ライブラリの質問できる場所無いみたいなんだよな
0799nobodyさん
2012/03/19(月) 19:02:54.22ID:???そうじゃなくて、ライブラリ自体、公式でサポートしてるんだから
そっち行けってことっでしょ。エラーメッセージすら読めてないし。
フレームワーク以前の問題だ
0800nobodyさん
2012/03/20(火) 05:09:01.21ID:???エラーメッセージもいいかげんだし。
0802nobodyさん
2012/03/20(火) 22:24:51.38ID:???メール送信なんて今まで作っていたのあるだろ。
0803nobodyさん
2012/03/20(火) 23:14:24.46ID:???・HTMLメール
・添付ファイル
こういうの対応しようとすると結構自作でやるのはな、、、
0804nobodyさん
2012/03/21(水) 12:11:52.99ID:???フレームワーク使う前に作っていたものがあるだろ。それ使えよ。
0805nobodyさん
2012/03/21(水) 18:27:13.50ID:???0806nobodyさん
2012/03/21(水) 20:09:46.98ID:???0808nobodyさん
2012/03/21(水) 23:19:44.62ID:ZAI6cSPi'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')は一対でしか使えないんでしょうか?
やり方をご教示いただけたら幸いです
0809808
2012/03/21(水) 23:27:53.96ID:ZAI6cSPiallで読んで、
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:???urlが空でもよくて、入っていれば正しいURLか判定する、という風にするやり方がありましたらお教えください
0811nobodyさん
2012/03/22(木) 00:20:23.77ID:???0814nobodyさん
2012/03/22(木) 10:58:28.03ID:???煽る意味がわからん。他人のライブラリは使えないと言い、
自分でも自作できないとかワガママすぎるだろ。
0816nobodyさん
2012/03/23(金) 00:01:31.13ID:???自分でコンポーネントやヘルパー作れるようになってるんだから。
0817nobodyさん
2012/03/23(金) 10:24:37.19ID:???0818nobodyさん
2012/03/23(金) 11:50:45.97ID:???0819nobodyさん
2012/03/23(金) 13:36:50.00ID:???いきなりフレームワーク使い出したというのか?
大体は参考書やらネットの情報やらで適当なプログラム作って、
慣れた後に効率化を求めてフレームワークを使い出すと思うんだが。
0820nobodyさん
2012/03/23(金) 13:42:01.91ID:???文字化けしたり、上手く送れなくてネットで調べながら
自分なりの「メール送信ライブラリ」を作ると思うんだが。
で、その後に添付ファイルやらHTMLメールやらを送信したくなって
qdmailのような他人が作ったライブラリを探すというのなら分かるよ。
でも、いきなり上記の部分すっ飛ばしてCake使って
「上手く動きません><」とか言われても、勉強不足以外の何者でもないだろ。
0821nobodyさん
2012/03/23(金) 16:25:24.36ID:???0822nobodyさん
2012/03/24(土) 15:01:00.43ID:oSWZUaYy0823nobodyさん
2012/03/24(土) 18:51:05.67ID:???0824nobodyさん
2012/03/25(日) 01:08:52.69ID:???$paginator->options(
array('url' => array('?id=' . $id))
);
とやったんですが、
foo/?id=100/page~1
みたいなurlになってしまってうまく動作できません
foo/page~1?id=100
となるようにしたいんですが、optionsをどう書き換えたらいいんでしょうか?
0826nobodyさん
2012/03/25(日) 23:49:03.03ID:???みたいな事をしてURLを生成しているのですが、
パラメータ部分を予め設定しておく事は出来ないのでしょうか?
0828nobodyさん
2012/03/26(月) 18:44:48.32ID:+fypSFERformタグのidが重複しちゃうけど、どうやって回避するのがスマートかな
今はform->createでid指定して別名にしてるけど、あまりスマートに思えない
0829nobodyさん
2012/03/26(月) 19:11:54.92ID:???最初は便利なのかなと思ったけどしばらくいじって思い通りにいかないから
ないものとして普通にformタグ書くようにしたら能率上がったわ
0832nobodyさん
2012/03/27(火) 01:42:43.77ID:J3nZuwJgエラーが出たフォームの上(下だっけ?)にメッセージが表示されるけど
任意の場所に表示したい場合はどうしてる?
0833nobodyさん
2012/03/27(火) 03:37:14.44ID:???0834nobodyさん
2012/03/27(火) 14:05:24.25ID:???は使えないのでしょうか?使える場合は書き方を押してください
0835nobodyさん
2012/03/27(火) 14:37:07.94ID:???0836nobodyさん
2012/03/27(火) 17:57:15.57ID:???cakephpのコミュニティで質問すれば。
http://cakephp.jp/modules/newbb/index.php
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:???ID=一意に表すもの
だし1つで表せないとしたらそれはIDじゃない
1つで表せるならURLに含ませる必要ない
0840nobodyさん
2012/03/28(水) 23:05:18.11ID:???別々のものに同じidが割り振られているのはおかしいが、
ひとつのものに二つ以上のidが振られているのは問題なくね?
0841nobodyさん
2012/03/28(水) 23:10:52.27ID:???問題ないけど、2つ持たせる意味がわからないし、
仮に持たせたとしてもそれをURLに含ませる意味もわからない
0842nobodyさん
2012/03/28(水) 23:15:51.51ID:???管理画面があったとして、
ユーザ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:???じゃだめなの?
0844nobodyさん
2012/03/28(水) 23:32:10.02ID:???Cakeの書き方で言えば、
/news/add/1 この1はuser_idの1
/news/edit/2 この2はidの2
URLを見ただけでは混乱する
0845nobodyさん
2012/03/28(水) 23:46:26.83ID:???0846nobodyさん
2012/03/28(水) 23:58:08.70ID:???0847nobodyさん
2012/03/28(水) 23:59:20.33ID:???ほんとに?自分だけで分かるからOKって考え方なの?
ちなみに、/edit/1/2みたいな書き方はBaserCMSでもやってた
0848nobodyさん
2012/03/29(木) 00:03:50.49ID:???Router::url('/news/edit/' . $data['Newsr']['userid'] . '/' . $data['News']['id'])
になるわけだし。単なるURL上での事ならこだわる必要ないかな。
外部に公開するわけでもないし。
0851nobodyさん
2012/03/29(木) 00:19:24.06ID:???URLでなんのページかわかりやすくしようというのは、ユーザビリティの面からも正しい考え方だけど
この件に関しては>>844の書き方で充分わかりやすいといえる範疇だと思う
0852nobodyさん
2012/03/29(木) 04:02:59.81ID:???>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:???0855nobodyさん
2012/03/29(木) 23:14:23.59ID:???usernameなら/news/tanaka_ichiro/123みたいな感じで含めてもいいと思うけど
どうしてもuser_idもidも含めたいのならnamedパラメータ使って/news/user_id:1/id:2とかにする
0856nobodyさん
2012/04/01(日) 00:45:58.67ID:OiSFrCKx1.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:???設定したことないから知らないが
ヘッダーはutf8とsjisどっちなの?
0858nobodyさん
2012/04/01(日) 03:16:24.89ID:OiSFrCKxPCと携帯でエンコードを分岐したくて
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>core.php自体をConfigure::write('App.encoding', 'UTF-8');に書き換えると
上記は
Configure::write('App.encoding', 'SJIS');の間違いです。
誤植すいません。。。
0860nobodyさん
2012/04/01(日) 17:58:24.58ID:???ケータイ対応したいならこういう感じに書いたら?
http://webengineerlife.com/2012/02/08/cakephp-pc-mobile/
0861nobodyさん
2012/04/02(月) 00:51:25.23ID:ZyijX88yありがとう
ちょっと試してみます。
携帯ライブラリとか使って複雑になってるのも原因の1つかもです。。。
0862nobodyさん
2012/04/03(火) 18:18:51.92ID:???そしてhavingってめちゃくちゃ便利だな。
これのお陰でDBの設計が楽になった。
0863nobodyさん
2012/04/04(水) 18:16:19.49ID:???表示(コントローラからset)の場合は、個別でサニタイズしなきゃいけないんだな
この点忘れてた・・・
0864nobodyさん
2012/04/05(木) 00:28:36.65ID:???ローカルのxampp環境でmodelがbake出来ないんですけど。。
cliのphpが「問題が発生したため・・・」になる
0865nobodyさん
2012/04/05(木) 23:35:57.76ID:???テーブル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:???面倒なのでレンタルサーバにリモートプロジェクトとしてEclipseでバンドして
作業してるんですが、こういった開発手法ってNGでしょうか?
0867nobodyさん
2012/04/06(金) 11:00:58.23ID:???0868nobodyさん
2012/04/06(金) 11:22:58.85ID:???ローカルとサーバで2度設定をする手間を考えるとやはり
直接サーバ上でコードをいじった方が効率が良いと思うんだよね。
0870nobodyさん
2012/04/07(土) 00:51:33.09ID:4OZyxrY6さくらインターネットに設定しようと思っているのですがどうしてもうまくいきません。
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:ET0rgidW0873nobodyさん
2012/04/07(土) 01:52:28.91ID:???>>870
に記載のURL通りに指定しております。
ちなみに bootstrap.php の中では定数等を定義しているだけの様なのですが
このファイルの読込は、CakePHPの実行には必須なのでしょうか?
また、さくらインターネットにおいて、最新のCakePHPの導入が出来る様に
解説したサイトをご存じでしたらお教えください。
どうも私の方でぐぐってヒットするサイトは
2・3年前の古い物ばかりで最新のCakePHPには即していない様です。
0874nobodyさん
2012/04/07(土) 09:38:19.35ID:PHPJ9271>bootstrap.phpは必須か?
bootstrapは、起動時の設定をまとめたりしてるもんなんで必須なはず
おまいさんのスキルが見えないので余計なアドバイスかもしれないがとりあえず、CAKE_CORE_INCLUDE_PATHの内容を調べてみてどうよ?
0876nobodyさん
2012/04/07(土) 11:21:45.79ID:???ぬかったわ。。。
0877nobodyさん
2012/04/07(土) 12:05:32.12ID:???定義された内容でもって直接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:???終了してしまったら学習コストの無駄になるのを恐れている。
やっぱしZFの方が無難かな?
0881nobodyさん
2012/04/07(土) 13:23:49.88ID:???0882nobodyさん
2012/04/07(土) 14:05:56.13ID:???自分の脳みそのしわを増やすのにコストで考えるのはわからんw
浅く広くでもどれでも触って使えるようになっとけばいいよ
0883nobodyさん
2012/04/07(土) 16:48:09.15ID:???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:???0887nobodyさん
2012/04/08(日) 10:36:25.86ID:4ALRLsfwうぉ!自分で書いてて気づかなかった。IDの仕組み分からんからこの書き込みIDどうなるか分からん。。。
>>884
ビューでエスケイプ。責任をしっかり分けておかないと後で後悔する
0888nobodyさん
2012/04/09(月) 01:52:30.87ID:???さくらじゃなくて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ローカル(mac)の環境ではファイル名を小文字のみ(example.php)にしても読み込まれるのですが、
サーバー(centos)では一文字目を大文字(Example.php)にしないと読み込まれません
最新のCakephpはモデルのファイル名が大文字で始まるようなのですが
ローカル環境では小文字でも動いています
これはapacheの設定かphpの設定かosの設定なのでしょうか!?
0890nobodyさん
2012/04/09(月) 12:26:26.44ID:???0891nobodyさん
2012/04/09(月) 13:37:22.79ID:???マルチドメインにて設定したパスに、アクセスしてみたところ
一応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おーこれだ
macのファイルシステムがHFS+ってのでこれが大文字小文字区別しないんですね
半日も嵌ってしまたけど勉強になった
どうもです
0893nobodyさん
2012/04/09(月) 17:02:12.28ID:???>>721でindexアクションを作ればプラグイン名のみでアクセス可能となりますが、
/pizza/addの場合、エラーになります。/pizza/indexでもエラーです。
プラグイン内のコントローラを参照しているからこうなると思うのですが、
プラグインで/pizza/addとか/pizza/editのアクション指定したい場合は、
ルーティングをいじらないといけないのでしょうか?
0894nobodyさん
2012/04/09(月) 20:13:47.19ID:???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:R7ZoSsIJ0898nobodyさん
2012/04/10(火) 13:53:53.12ID:???マイグレーションガイドぐらいは読もうぜ
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:???インプットの値が自動で上書きされるのに、
GETフォームだと、空のままなんですが、
自分でマージするしかないのでしょうか・・・?
$this->request->data = $this->request->query;
とやってもダメでした。
0901nobodyさん
2012/04/10(火) 16:19:05.60ID:???layoutのcontent_for_layout以外のところをnocacheでくくってみたら?
>>900
getでもフォームの内容は引き継がれるはずだよ
遷移先のフォームのIDとかnameが変わっちゃってない?
0903864
2012/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:???嫌な仕様だなw
会員ページのメンテナンスとかしたいなら管理者権限でそう言うのできるアクションを
作ればいいのでは
0908864
2012/04/11(水) 22:08:14.47ID:???cakeでの/はcake_appのルートになるからその動作が適切だよ
普通にHTMLで
<a href="/jump" class="button" target="_self">jump</a>
って書けばいいじゃん。
もしかしたら
'/../jump'で解釈してくれたりしないかな?知らないけど
0909nobodyさん
2012/04/11(水) 22:08:55.22ID:???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+Ap9VUroutingのprefixかなんかで特殊な設定してない?
appという文字列がどこからやってきたのか検討もつかない状態なの?
>>905
Authでログインしようとしても無理だと思うので>>906でいいんじゃない
0912nobodyさん
2012/04/11(水) 23:12:38.64ID:???cakePHPをせっかく使っているので直接書きはしたくないです。
>>911
基本的にcakePHPのベースコードは何もいじっていないのですが
FWにデバッグコードを入れておっかけてみます。
>>907
お前の投稿自体マルチだろ。しね。
0913nobodyさん
2012/04/11(水) 23:16:31.45ID:???あれ?cakeルートがサーバーのウェブルートで無い場合に、
Html->link()つかってサーバールートへリンクしたいってことじゃないの?
つまり、サーバールートの下にappってディレクトリがあってそこがcakeのルートになってるんじゃないの?
0914nobodyさん
2012/04/12(木) 12:04:20.30ID:???どこに定義しますか?
パスを教えてください。
Utility的な自己ライブラリを定義したいと考えています。
0915nobodyさん
2012/04/12(木) 12:18:39.89ID:???外部にしてincludeか
0916905
2012/04/12(木) 13:56:49.96ID:???私も管理画面に会員情報を編集できるページを作っていたのですが、
管理画面から対象の会員としてログインし、
会員情報の修正をしている市販CMSを結構見るんです。
たぶん、同じような箇所を管理画面用・会員用と分けて作るのは
手間がかかるからログインし直すという事で対処していると思うのですが、
あまり良いやり方ではないみたいですね。
0917nobodyさん
2012/04/12(木) 18:05:37.36ID:???0918nobodyさん
2012/04/13(金) 01:19:58.45ID:???vendorにライブラリとして突っ込む
>>916
ユーザーが実行できる範囲の行動を管理者が行うという前提であれば
手抜きの方法としてナシではないのかもしれないけど、スマートでないのは確か
というかユーザーが修正できるんならユーザーに修正させるべきじゃね?
管理者がユーザーの設定代行するって言うのはかなりの最終手段のような気がする
0919nobodyさん
2012/04/13(金) 14:04:43.06ID:???なぜかIEでだけ、動きません。
http://hostname.jp/controller/action/全角の検索ワード
という感じのアクションなのですが、Chromeでは問題なく動いているのですが、
IE系のブラウザではまったく動いてくれません。検索ワードが半角文字だけですと、IEでも動いています。
そもそもCakeのメソッド引数に上記の方法で全角文字列を渡してもいいものなのでしょうか?
なにか別にいい策があればご教示ください。
0920nobodyさん
2012/04/13(金) 14:52:39.24ID:???古臭い用語だな
0922nobodyさん
2012/04/14(土) 00:10:19.08ID:???Cakeとか関係ない。
UTF-8で書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?
EUC-JPで書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?
この2つの例でサーバーに投げられ文字コードは何で決まるのか?
http://hostname.jp/controller/action/全角の検索ワード
の「全角の検索ワード 」の部分の文字コードはどうやって決めるのが正しいか
考えてみれば良い。
0923nobodyさん
2012/04/14(土) 09:35:05.93ID:???0924nobodyさん
2012/04/14(土) 10:00:41.58ID:???0925nobodyさん
2012/04/14(土) 10:52:00.00ID:???文字コードは何だよ。言ってみろ
0926nobodyさん
2012/04/14(土) 12:26:15.35ID:???ファンクションをコールしようとしているのですが
下記の様なエラーが出てしまいます。
どこに間違いがあるのでしょうか?
[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:???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:???>>928お前はミサイルで頭を破壊した方がいいよ。どうせまともなルックスしていない下種野郎だろうしな。
0930nobodyさん
2012/04/14(土) 15:09:22.75ID:???0931nobodyさん
2012/04/14(土) 18:06:38.12ID:???例)
denyController.php
へのアクセスを禁止するには一般的にどうしますか?
.htaccess or cakePHPでなにがしかの設定が可能?
0932nobodyさん
2012/04/14(土) 18:42:11.68ID:???下記コードを実行すると、全レコードが削除されてしまいます><;
$deleteCondition = array("hoge_id" => 3333);
$this->Hoge->deleteAll( $deleteCondition );
0934nobodyさん
2012/04/14(土) 19:34:52.76ID:V2giXwsG俺ならコントローラー全てのアクションにprefixつけてprefixルーティング&アクセス制御って感じかな
0935nobodyさん
2012/04/14(土) 19:38:18.38ID:???自己解決しました。
英語のドキュメントを見たところ
cake2.1.1 になってから呼出し方が微妙に変わっていました。
0937nobodyさん
2012/04/14(土) 20:25:02.13ID:???実際には delete は変わってませんでした。
findについては、
findAll → find('all')
といった感じです。
しかし、なぜ同じコードで>>932が今度は正常に削除出来たか不明。
0938nobodyさん
2012/04/14(土) 20:33:32.07ID:???viewsのパスを任意に追加するにはどうすればいいのでしょうか?
ソース見たらApp::path('views')でパスは取れるみたいだけど追加の関数がない。
0939nobodyさん
2012/04/15(日) 02:11:36.29ID:???0940nobodyさん
2012/04/15(日) 08:46:03.26ID:???0941nobodyさん
2012/04/15(日) 19:57:59.30ID:???0942nobodyさん
2012/04/15(日) 20:19:36.67ID:???http://hogehoge.com?age=17
じゃなくて
http://hogehoge.com/age/17
として処理を行うにはどうしたら良いでしょうか?
0944nobodyさん
2012/04/16(月) 13:39:36.79ID:???AController / Hage()
や
BController / Chabin()
を呼び出すにはどうすれば良いでしょうか?
0947nobodyさん
2012/04/16(月) 19:03:36.34ID:???正常にキック出来る事の確認をしているのですがうまくいきません。
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}
0949nobodyさん
2012/04/19(木) 01:38:53.63ID:???0950nobodyさん
2012/04/19(木) 16:26:48.17ID:GZ2gdGu2お勧めの方法はありますか?
0951nobodyさん
2012/04/19(木) 17:13:57.30ID:???0952nobodyさん
2012/04/19(木) 17:14:15.72ID:???0953nobodyさん
2012/04/19(木) 17:29:14.82ID:???設定ファイルに出力したいのですが、良い方法は無いでしょうか?
考えたのは、モデルキャッシュして設定ファイルが必要な時に
そのキャッシュを読み込むパターンです。
0954nobodyさん
2012/04/19(木) 19:06:23.24ID:???bootstrap.phpでDBから設定データを読み込んでConfigure::Storeでキャッシュ。
…でもいいんだけど、
Cake2からは ConfigReaderInterfaceっつうのがついたからね。
Readerを書けばモデルから直接Configureに読み込むができるようになった。
Configureファイルに書いた時と同じようにConfigure::read()でどこでも読めるから便利よ
0955nobodyさん
2012/04/19(木) 21:31:47.54ID:???みなさんどんな感じでやってますか?
0956nobodyさん
2012/04/19(木) 22:16:25.42ID:???0957nobodyさん
2012/04/19(木) 22:18:18.29ID:???0961nobodyさん
2012/04/20(金) 04:26:48.64ID:???0963nobodyさん
2012/04/20(金) 12:22:03.72ID:PezrE8Wtドリュルリュルウリュリィブブブブブブッッ!!!!あへあへうんこまん!!!ぶりっちょ!!!
ケツの穴からドババババババババッバwwwwwwwwwwwwWWWW
wwwwwwwwwwww
WWWwwwwwwwwwww??? ? ? ? ? ? ? ????? ????????wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
なお、まにあわんもよう
0964nobodyさん
2012/04/20(金) 12:25:44.92ID:???0966nobodyさん
2012/04/20(金) 13:43:18.88ID:???1.3系使ってるので、Configure::storeを使うパターンで行きます。
これってfindした配列を保存して、loadで読み込んでreadで参照
出来るから便利ですよね。参考になりました。ありがとうございます。
0967nobodyさん
2012/04/20(金) 23:58:00.96ID:???バカを承知でなぜ惚れた〜
0968nobodyさん
2012/04/21(土) 11:00:21.04ID:???http://example.com/aboutとかhttp://example.com/sitemap
というようにアクション名だけ指定したい場合、
ルーティングでアクション名を追加する必要がありますよね?
http://example.com/のコントローラがhomeであり、
/views/home/内にアクション用のファイルがあれば
routes.phpに記載しなくてもアクション名だけで
アクセスできないかと思い、質問しました。
0969nobodyさん
2012/04/21(土) 14:00:03.01ID:???一行書くことになるけど
Router::connect('/:action', array('controller' => 'home'));
とかでいけるんじゃない
0970nobodyさん
2012/04/21(土) 14:43:21.86ID:???この方法だと、コントローラにアクションを追加しないとアクセスできません。
pagesを使うように、アクション名を書かずにビューファイルを追加するだけで
アクセスできるようにしたいのですが・・・
0971nobodyさん
2012/04/21(土) 17:21:29.95ID:???Eclipseでレンタルサーバ上に展開したPHPファイルを
ローカルのEclipseにてデバッグ実行って出来ますか?
※ブレークポイントが正常に止まるか。
0972nobodyさん
2012/04/21(土) 22:21:07.57ID:???アクション追加せずにビューだけ表示したいのならpagesでいいんじゃないの?
アクションが無いのだから特定のコントローラーを介する理由も無いし
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
0973nobodyさん
2012/04/22(日) 10:29:18.10ID:L2FF/0Tgリモートデバッグは、サーバー側のデバッグ用ポートにコネクトしてする感じ
そのレンタルサーバとやらに聞いてみて、デバッグ用ポートが開いていないのなら無理
まぁ、普通のレンタルサーバでデバッグポート開いている事はたぶん無いんじゃないかな
0974nobodyさん
2012/04/22(日) 11:01:45.48ID:???ありがとうございます。
鯖屋に確認してみます。
ローカル環境に開発環境を作ると重たいので
全てレンタルサーバ上でやりたいなぁー、なんて考えてました。
0975nobodyさん
2012/04/22(日) 11:32:49.43ID:L2FF/0Tg重いのはたぶんEclipseだよ
他のエディタとか使う事あるのなら、XAMPP+エディタで試してみるといい
ただ、GUIのデバッグ環境は無いと思うが。
0976nobodyさん
2012/04/22(日) 15:41:01.67ID:???適当なURLを入力すると次の様にサイトがcakePHPを使用している事がわかる様な
エラーメッセージが出てしまいます。
これを消す方法とかってありますか?
CakePHP: the rapid development php framework
0977nobodyさん
2012/04/22(日) 15:57:27.32ID:???0978nobodyさん
2012/04/22(日) 18:19:37.02ID:???default.ctpとかテンプレートのどっかに書かれてるんだろ
どこから出力されてるか突き止めてそれを消せ
0979nobodyさん
2012/04/22(日) 19:19:39.84ID:???0981nobodyさん
2012/04/22(日) 20:33:38.25ID:???<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次の様に解釈させ、処理を実現をしたいのですがどうすれば良いでしょうか?
@アクセスされる際の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:???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:???0994981
2012/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:???コントローラーからモデル名に変えようにも
$this->Auth->sessionKey = 'Auth.Hoge';
じゃだめで
AuthComponent::$sessionKey = 'Auth.Hoge';
って市内とダメなんだけどそもそもいじっちゃマズイのかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。