【PHP】フレームワーク CakePHP 14ホール目【v2.1】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2012/05/01(火) 16:58:44.53ID:fVBzm1/ACakePHPから派生した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 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0002nobodyさん
2012/05/01(火) 17:02:19.22ID:???0004nobodyさん
2012/05/02(水) 17:16:24.15ID:???それにしても2.1.1でしかも2.2.0のベータって・・・早すぎだろw
0005nobodyさん
2012/05/02(水) 17:30:40.73ID:???Aというコントローラがあります。
> public $uses = 'Bモデル';
という記述がしてあります。
Aのindexページで、
> echo $this->Form->create(null,array('type'=>'post','action'=>'Aのfunction'));
というフォームを作って送信すると、
Aファンクションのページに飛ぶかと思ったらなぜか/Bモデル/Aのファンクション/に飛んで、
当然ながらMissing Controllerが出ます。
indexページのソースを読むとフォーム自体が/B/Aファンクションに飛ぶようになってます。
どなたか原因分かりますでしょうか?
0007nobodyさん
2012/05/03(木) 18:56:39.25ID:2xcwqeF00008nobodyさん
2012/05/03(木) 23:43:44.23ID:???簡単ではないけど面倒ってほどじゃないよ。
FlashBuilder(FlexBuilder?)でDBアクセスする方法がそのまま使えるんで、そのあたり調べるといいと思う。
体験版でandroidとかiPhoneのアプリ作り始めてサーバのDBアクセスのサービスを追加するとウィザードでコードを追加してくれるんで、必要な部分だけ流用してもいいかも。
(読み出しだけじゃなくて、追加・更新あたりのコードが全部追加されるので)
倫理的にはやり方だけ理解して自分で作った方が良いと思うけどw
まぁどうしてもcakeで作るなら結局作り直すことになるけどね
0009nobodyさん
2012/05/05(土) 19:37:07.62ID:???app/js/plugin_name/file_name.ext
を解釈するから、そもそも直下へのアクセス方法がない??
あばば
0010↑
2012/05/05(土) 19:44:03.73ID:???0011nobodyさん
2012/05/05(土) 20:13:26.25ID:???そりゃそうか。そうなのか?まぁ仕方ないや。
0012nobodyさん
2012/05/07(月) 04:57:19.77ID:???notEmptyスルーするからハマったわ。
requiredにtrueセットすればいいんだろうけど、この場合updateでうざいことになる。
じゃあってんで、onをcreateにして新規のときだけってしちゃうと、
更新時にnotEmptyが効かない=空でもスルーしちゃう
'field' => array(
'notempty' => array(
'rule' => array('notempty'),
'on' => 'update', // Limit validation to 'create' or 'update' operations
),
'notempty2' => array(
'rule' => array('notempty'),
'required' => true,
'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
こうしろってこと?
相当めんどくさいんだけど
0013nobodyさん
2012/05/07(月) 05:06:28.87ID:???'notempty' => array(
'rule' => array('notempty'),
),
'required' => array(
'required' => true,
'on' => 'create',
),
),
これでよさげ。これなら許せる。
0014nobodyさん
2012/05/07(月) 20:37:16.11ID:???配列が入れ子になってるのが悪い。
0015nobodyさん
2012/05/09(水) 22:39:47.65ID:rDWus5fC文字化けしてしまいます。
php.iniではUTF8、<?phpの前に余計なものもはいってない状態ですが、
CakePHPでGDを使う際には何か注意すべき点はあるのでしょうか
0016nobodyさん
2012/05/10(木) 14:58:57.25ID:???1.3で作ったシステムがあるんだけどこれからも使える?
0019nobodyさん
2012/05/10(木) 18:52:33.46ID:???0020nobodyさん
2012/05/10(木) 19:10:29.64ID:???0021nobodyさん
2012/05/10(木) 19:11:07.26ID:???0022nobodyさん
2012/05/10(木) 22:59:50.95ID:???0023nobodyさん
2012/05/10(木) 23:19:54.66ID:eaLKfNi7smartRollover.js使って画像を_onと_offできりわけたいです。
だれかご教授くださいお願いします。
0024nobodyさん
2012/05/11(金) 03:36:35.15ID:???0025nobodyさん
2012/05/11(金) 16:05:50.69ID:???0026nobodyさん
2012/05/13(日) 22:01:55.09ID:???現在、cakePHPのsave()を使ってupdateしようと
思っているのですが、そもそも更新対象のテーブルに主キーが2つある場合には
どうしたら更新(update)させる事が出来るのでしょうか?
(saveはinsertとupdateを自動で判定するそうなのですが
下記コードだと常にinsertが走ってしまい主キー違反エラーが出てしまいます。)
■table(hoge)
p_id_1 (int) 主キー
p_id_2 (int) 主キー
name (varchar)
■php
$p_id_1 = 11;
$p_id_2 = 22;
$name = "ななし子";
$hoge_data = array(
'hoge' => array ('p_id_1' => $p_id_1,'p_id_2' => $p_id_2,'name' => $name));
$this->hoge->save($hoge_data);
0027nobodyさん
2012/05/13(日) 22:10:28.52ID:???0028nobodyさん
2012/05/14(月) 00:40:01.29ID:???0029nobodyさん
2012/05/14(月) 00:42:24.81ID:???0031nobodyさん
2012/05/14(月) 02:30:08.93ID:???0032nobodyさん
2012/05/14(月) 07:19:59.81ID:???0033nobodyさん
2012/05/14(月) 08:45:36.04ID:???0034nobodyさん
2012/05/14(月) 09:36:14.55ID:???ってcookbookに書かれてるよ。
0036nobodyさん
2012/05/14(月) 13:44:42.79ID:???0037nobodyさん
2012/05/14(月) 17:04:15.72ID:???それぞれリンクが無くてもテキストとして表示されます。
これをリンクがない場合はテキスト自体表示しないようにするには
どうすればいいのでしょうか?
0038nobodyさん
2012/05/14(月) 19:06:42.56ID:???DBのテーブル構成を、モデルから管理する方法で既存のもの何かないでしょうか
モデルのコンストラクタで、CREATE TABLE IF NOT EXISTする
カラムの追加なんかもソースに記述し、ソースに合った最新の状態になるようにALTER TABLEする
もちろん、不要であれば何もしない
こういうのがあれば理想ですが、自分で作るしかない?
0039nobodyさん
2012/05/14(月) 19:33:49.99ID:???そんな気軽にてーぶるいじらないでよ
0041nobodyさん
2012/05/15(火) 11:38:58.08ID:???0042nobodyさん
2012/05/17(木) 22:55:40.27ID:JCS/4U80hoge、foo、barってテーブルから連結したデータを取るとき
CASEとかCOUNTした値を
バーチャルフィールドで取得するとき
Hogeの配列では取得できるんだけど
Fooの配列にいれることってできる?
バージョン2.1.2です。
004342
2012/05/18(金) 01:47:39.34ID:???$this->virtualFieldsをモデルで読んでたけど
コントローラーから$this->Foo->virtualFields
にしたらいけました。
0046nobodyさん
2012/05/19(土) 02:33:20.31ID:???0047nobodyさん
2012/05/19(土) 10:28:02.36ID:o1Jo2iU0Zhen CRM
http://bakery.cakephp.org/articles/telerim/2012/04/13/zhen_crm_open-source_cakephp_crm_application
このオープンソース使用してホームページを作成して
販売するのはOK?
GNUライセンスとかMITライセンスとかも関係するの?
板違うかな?
0048nobodyさん
2012/05/19(土) 11:34:56.04ID:???0049nobodyさん
2012/05/19(土) 15:18:26.07ID:MiaPSFRR0050nobodyさん
2012/05/19(土) 16:54:10.65ID:???zend frameworkとかcodeigniterとかyiiみたいに個別にパスを設定して変更できないの?
0052nobodyさん
2012/05/19(土) 22:45:43.88ID:???それってindex.phpでいじるやつでそ?
APP_DIRとかROOTとかあるけど
pluginsとかvendorsの項目が見当たらないんだが
0054nobodyさん
2012/05/20(日) 00:25:07.80ID:???pluginとかvendorsをどうしたいの?
0055nobodyさん
2012/05/20(日) 10:21:18.74ID:???0056nobodyさん
2012/05/20(日) 10:56:14.49ID:???そしてもう来るな
0057nobodyさん
2012/05/20(日) 11:00:27.81ID:???0058nobodyさん
2012/05/20(日) 11:35:51.12ID:???0059nobodyさん
2012/05/20(日) 14:29:53.88ID:???だからその「システム関係のファイル」ってなんだよ?
cakeのコアのことならマニュアルに書いてある通りだし、>>56の言う通りだ。
vendorsやプラグインも個別にどこにでも好きなところに置けるけど、
>>50 には一言も書いてねえし
0060nobodyさん
2012/05/20(日) 19:10:25.50ID:FJzAEkIA0061nobodyさん
2012/05/20(日) 22:42:21.38ID:???ことがしばしば起こるんだけど、自動でキャッシュ更新する方法ありませんか?
キャッシュはmemcachedを使っています
0064nobodyさん
2012/05/21(月) 21:42:06.73ID:???何度も使う場合は書くけど、そうでない場合はコントローラで済ます
006560
2012/05/22(火) 01:03:15.16ID:???ありがとう。
複雑なクエリや、他のコントローラーから呼ぶようなやつはファットモデルにするよ。
規約は守ってもフレームワークだからって型に縛られないようにするよ。
0066nobodyさん
2012/05/22(火) 02:11:52.42ID:???テーブルに変更が加えられたかどうかをチェックしてしまったらキャッシュしている意味がなくなるから原理的にそれは出来ないんじゃないかな
俺は手動で消してる
0067nobodyさん
2012/05/22(火) 02:26:56.79ID:???一定期間毎にキャッシュを作っていると思うけど、その形で良いと思う
0068nobodyさん
2012/05/22(火) 05:21:12.26ID:???手動でどうやって消してますか?
全部消せば簡単だけどそうすると今アクセス中の客のセッションデータが吹っ飛ぶ
更新したいキャッシュだけ消す簡単な方法あります?というかどのキャッシュを消せば良いのか
0069nobodyさん
2012/05/22(火) 10:21:13.32ID:???0070nobodyさん
2012/05/22(火) 12:26:33.17ID:mOE2ZVav0071nobodyさん
2012/05/22(火) 12:58:54.36ID:???2.2で ModelValidatorを使う
http://book.cakephp.org/2.0/en/models/data-validation.html
もしくはいくつかバリデーションルールを作っておいて、コントローラーでvalidateのフィールドを指定する
http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html
て感じかしらん
007268
2012/05/22(火) 14:05:53.81ID:???なんか見れるページと、見れないページがある、どうなってんだ
とりあえず助言ありがとう
0073nobodyさん
2012/05/22(火) 14:21:04.35ID:???仕方ないソース見るか…
0074nobodyさん
2012/05/23(水) 18:18:16.24ID:???コントローラ20個、モデル15個ぐらいの規模なんだが
パッと手直しするだけで移行できる?
0075nobodyさん
2012/05/23(水) 18:26:46.04ID:???自分だけで使うなら別だが、仕事だと1.3で良いと思うよ
0076nobodyさん
2012/05/23(水) 22:27:57.51ID:???でも新規サイトは2.xで作ってるから古いサイトのメンテナンスするときに混乱する
でも移行したくない
0077nobodyさん
2012/05/24(木) 17:42:05.60ID:???例えば$tmp = "5,2,3,4,1"と言う並びを記憶した文字列があったとします。
それを$id_order = explode(',",$tmp);として、
$this->Hoge->find('all',array('conditions'=>array('id'=>$id_order)));
として読み出します。読み出し自体は5件、ちゃんと拾ってきます。
ただこの場合、そのままだとid順に並び変わってしまうんです。
(この場合だと 1 2 3 4 5 に並び変わってしまう)
そのまま5,2,3,4,1の順を保持するようには出来ないのでしょうか?
queryで id IN (5,4,3,2,1)も試してみたのですが、やはりID順で並び変わってしまいます。
Hogeそのものにorder用のフィールドを準備して並び替えれば当然出来るんですが・・・
今は配列を全部読んで新たに配列を作成するという力技でやっているのでうまい方法は無いかと思いまして・・
Cakephpとは関係ない様な気もしますが参考意見でもあれば宜しくお願いします。
0078nobodyさん
2012/05/24(木) 18:35:37.61ID:???SQLはorderを指定しないと読み出し順は保証されないよ
たまたま1,2,3,4,5になるかもしれないし、そうでないかもしれない。
だからちゃんとfindのオプションでorderを指定すべき
0079nobodyさん
2012/05/25(金) 19:14:24.25ID:???Componentから呼び出した、他のComponentのinitializeが、
実行されないんだけど、実行されるようにする方法はないですか?
0080nobodyさん
2012/05/25(金) 19:20:46.92ID:/BxfQcHOXAMPPを起動させて、webrootフォルダの中のindex.phpにログインは出来るし、
index.phpを他に移動させて前の場所のアドレスを入力すると見えなくなるのですが
(http://localhost/cake/sample/index.php)
webrootフォルダの中にindex.htmlやindex2.php等を作って、
http://localhost/cake/sample/index2.php をブラウザで表示させようとしても表示できません。
これはなぜなのでしょうか?教えていただけると助かります。
008280
2012/05/26(土) 00:55:32.99ID:???レスありがとうございます。
エラーログで分からなかったので、XMAPPもCAKEPHPもインストールし直したら解決しました。
0084nobodyさん
2012/05/26(土) 16:30:05.31ID:???0086nobodyさん
2012/05/27(日) 00:59:00.50ID:???おっしゃるとおりです。
あれから調べた所、MySQLである限りはorder by fieldが使用できるので、
http://cakebaker.42dh.com/2008/06/10/order-by-field/
の形でやればいちいち取得後に並び替え処理しなくても
最初から指定の順で並び替えた状態で取得できそうです。
ありがとうございました。
0087nobodyさん
2012/05/28(月) 15:42:04.62ID:???2.1 です。
0088nobodyさん
2012/05/28(月) 21:49:33.64ID:???0089nobodyさん
2012/05/30(水) 00:22:24.86ID:???<?=$form->create(null,array('type'=>'post','action'=>'.')) ?>
等のように、
<?=
から始まるコードがあります。これをこのまま本の通りに入力するとエラーになってしまうのですが
これは、
<?php echo
と同じ意味なのでしょうか?
「<?php echo 」と書くと長いから「<?=」と書いているけど、コードを書くときは「<?php echo」に直してね
っという事なのか
私の書き方や設定がおかしいから「<?=」でエラーが出るだけで、何かをすれば「<?=」でもエラーが出ないのか?
教えていただけると助かります。よろしくお願いします。
0090nobodyさん
2012/05/30(水) 01:40:42.57ID:???マニュアルに書いてないことを知るには、ソースを読めですか?
0091nobodyさん
2012/05/30(水) 02:22:35.21ID:???cakeは関係ない。php自体のshort_open_tag設定
>>90
生ソースの前にAPI一覧を見るといいよ
こんなメソッドあったのか。なんてのも結構あるし。
それで使い方気になったらソース見ていく。って感じで俺はずいぶん勉強になったよ
0092nobodyさん
2012/05/30(水) 14:54:21.85ID:???$this->User->validates(array('fieldList' => array('email', 'password'))
こういう方法もあるんだね。
これでよかった。
0093nobodyさん
2012/05/30(水) 15:08:29.89ID:???0094nobodyさん
2012/06/01(金) 10:14:16.75ID:???hasMany tableをsaveAllした際のvalidate errorだと、formに値が自動的に戻りません。
saveAllのvalidate errorの場合は手動でformに入力値を展開するものですか?
流儀があれば教えて頂きたいです。
0095nobodyさん
2012/06/03(日) 01:26:40.50ID:???コマンドプロンプトでパスを設定後、
cake bake でデータベース設定しようとすると
最後にエラーになってしまいます。
Look okay? (y/n)
[y] > y
Do you wish to add another database configuration?
[n] > n
Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`
どうしたら直るでしょうか?教えていただけると助かります。
よろしくお願いいたします。
0098nobodyさん
2012/06/03(日) 13:48:18.75ID:???009995
2012/06/03(日) 15:48:10.86ID:???Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`
ではなく
Fatal error: Class 'DATABASE_CONFIG' not found in C:\xampp\htdocs\cake\baking\ca
ke\console\libs\tasks\db_config.php on line 260
でした。
0100nobodyさん
2012/06/03(日) 16:18:04.08ID:???0101nobodyさん
2012/06/04(月) 11:18:57.14ID:???$form->input()
でしかエラーを自動で表示してくれないって知ってた?
$form->radio()
じゃ表示してくれない。
今初めて知った・・・めちゃハマってたわ・・・くそが
バーションは1.3
0102nobodyさん
2012/06/04(月) 16:16:23.03ID:npZV9BUE0104nobodyさん
2012/06/06(水) 09:28:58.59ID:KukcN70nRewriteBaseをいじくりまわして、
ググってありとあらゆるパターンを試してみたんだけど
どうやっても500エラーが出てできない・・・
0105nobodyさん
2012/06/07(木) 00:31:59.74ID:???500出てるってことはhtaccessの記述が間違っているっぽい
0106nobodyさん
2012/06/07(木) 01:11:37.96ID:???バージョンは2.1です。
cakeフォルダを作成してそこに配置したとします。
通常だとブラウザのアドレスバーにはhoge.xx.yy/cake/controller/actionと成るわけですが、
それをhoge.xx.yy/controller/actionと表示するようには出来ませんか?
(見た目だけで良くて、アドレスバーに入力してその通りに動作する必要はありません)
ネットでhtaccessというかRewriteのページをかなり見たのですが、見た限りは上で言うcontroller/action/*1/*2の順番というか、パラメータの記述方法を変えたりするような方法ばかりでした。
何かヒントになるサイトとかでも良いのでご指導頂けませんでしょうか?
0107nobodyさん
2012/06/07(木) 01:41:54.69ID:???あるカテゴリキーワード(可変数。10個前後)が格納されたDBテーブルが
あって、さらに別のテーブルにはカテゴリキーワードごとのトッピックスが
1000個程度登録されています。
トップページで各カテゴリキーワード毎にトピックを5件だけ表示させたいの
ですが、やり方がわかりません。
カテゴリキーワードを取ってきて表示されるだけなら、findAllで取ってきて
VIEW内でforeachでまわす事で実現できました。
foreachのループ内で、現在着目中のカテゴリキーワードで詳細テーブルから
5件だけ取ってくる方法が分かりません。
トピックを全レコード事前に取得しておいて、viewの中で無理やりキーワー
ドが一致するものを5件だけ表示させる方法は思いつきますが、もっとスマー
トな方法はありませんでしょうか?
0108nobodyさん
2012/06/07(木) 02:31:59.60ID:???htaccessで書き換えられないこともないだろうけど推奨されてないだろうし不具合の原因だからやめた方がいいよ
app/webrootをウェブルートに置けない理由はあるの?
>>107
アソシエーションを学ぶんだ
一発でカテゴリキーワードごとにトピックスを5件とってこれる
0109nobodyさん
2012/06/07(木) 04:44:57.83ID:???判断できるようになってから質問しろよ
0110104
2012/06/07(木) 07:36:24.96ID:T3CmHb0tindex.phpの設定ってどのindex.phpでしょう??
ちなみにどのように設定すると良いのが教えていただけると幸いです
0111nobodyさん
2012/06/07(木) 11:41:22.43ID:???返答ありがとうございます。
単純に今現在すでにHPがあり、機能追加をする形でcakeを使用するのですが、
現状appフォルダがすでにあるのでと言う理由だけです。
既存フォルダ名の変更が不可の為、フォルダを作って・・と言うのを考えてたのです。
既存フォルダ名の変更不可というのはURL的に見た目がappじゃないとまずいということでして、サーバ上はapp2とかにしてもURLの見た目がappになればOKなんです。
どうすればよいかわからなかったので先ほどの質問として書いたと言う訳なんです。
0112nobodyさん
2012/06/07(木) 12:11:49.60ID:???ならDB側にView作ってしまいたくなるんだけど、そういう人はいないの?
まあ、実装箇所が複数に分かれるデメリットもあるのでビュー禁止ってとこも
結構あるけど。
0113nobodyさん
2012/06/07(木) 14:50:42.40ID:???いいんでしょうか?
0114nobodyさん
2012/06/07(木) 21:27:01.49ID:???そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はwebroot以外に配置する。
0115nobodyさん
2012/06/07(木) 21:28:11.55ID:???>>111
そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はドキュメントルートの外に配置する。
0116nobodyさん
2012/06/08(金) 02:27:11.80ID:RAatNy5aapp/webroot/index.php
もちろんここがウェブルートになるように設置しないとダメだよ
>>111
まず>>115の言うようにapp/webrootをドキュメントルートに置かないとダメ
サーバーの設定でドキュメントルートが変更できない場合の対策は、xrea、コアサーバー、さくらあたりでのノウハウがいっぱいあるから
それを調べて実行するとよい
>>112
規約に沿うのがフレームワークだからDBはモデルで扱うしか考えたことがないなあ
>>113
俺はなんか実装めんどくさそうならHTMLで書いちゃうわ
0117104
2012/06/08(金) 09:16:24.94ID:u8Vc96TEありがとうございます。
ウェブルート=ドキュメントルートってことですか?
0119nobodyさん
2012/06/08(金) 13:58:30.27ID:???1ずつ全部変えるのは無理だけど
itemOptionsで、even,oddの指定を入れると、奇数行、偶数行のクラスは指定できる
続きはソースで…
0120111
2012/06/08(金) 16:35:33.96ID:???私のフォルダ配置に対する理解が足りなかった訳ですね・・
レス頂いてから試してみました。
wwwの下にフォルダを作成してそこにappやlibなどのファイルを配置。
でwebrootフォルダの中身をwwwに置いてindex.phpを触れば(ROOTとかの位置を指定すれば)ちゃんとcakeとして動作してくれたのは確認できました。
home
|--ユーザアカウント
|
|--cake
| |--app
| |--lib
| |--・・・その他
|
|--www
|--css
|--img
|--js
|--index.php
のような感じで動作したのは確認できました。
でもう一つ疑問がわいてきましたが、先の話で既存のHPがある場合、index.phpとindex.htmlがかぶることになります。
今回もそのパターンで、ネットでさくらにインストールした場合を探してみるとwwwよりhome側に置くのはよく出てるのですが、
どれもwwwに一つフォルダを作成してそこに元のwebroot内のデータを置いてる感じでした。
動かしてみましたがindex.html index.phpの優先になってる方が起動するだけでした(当たり前ですが・・)
今回のようにcakeのindex.phpと元のindex.htmlがあるような場合はどのようなやり方がありますか?
0121111
2012/06/08(金) 16:36:54.35ID:???あああ、すみません。
書き込んだらスペースが削除されちゃいました。
cssから下はすべてwww内とのつもりです。
宜しくお願いします。
0122nobodyさん
2012/06/09(土) 00:03:03.20ID:7iLO1txZいまwwwになってるところをwww/cakeとかにすればいいんじゃないの?
htaccessの修正も必要になるかもしれないけど
俺なら既存のファイルが全部スタティックならcakeに統合しちゃうけどな
0123nobodyさん
2012/06/09(土) 16:53:54.98ID:u4onJvJp$this->Http->
補完する方法ないのですか?
0124nobodyさん
2012/06/13(水) 23:54:08.72ID:???Cakeで作ってるんだろ?どうやってアクセスこなしてるんだろ・・・
キャッシュ使えばパフォーマンスは気にならないのかな
0125nobodyさん
2012/06/14(木) 00:07:28.83ID:???記事のページとかPV稼いでいる部分は生PHPで書いて、それ以外のあんまりPVないところはCakePHPで作ってるって話をしていた気がする
30万UU/monthくらいのサイト持ってるけど、ビューキャッシュだけで共用レンタルサーバーでも余裕でさばけるから、
パフォーマンス追求しなければキャッシュだけで十分いけると思う
後はスケーリングの問題だな
0127nobodyさん
2012/06/14(木) 02:08:15.49ID:nFrC9cht別にそれは記事ページだけならReWriteして1行で変更できるでしょ
0128nobodyさん
2012/06/14(木) 02:23:56.37ID:???0129nobodyさん
2012/06/14(木) 12:33:43.22ID:???ユーザ仮登録
↓
メール
↓
メールに記載されたURLクリック
↓
本登録
という流れの中で、本登録ページが正しく表示されたらログイン後状態に
したいです。controllersの内部で認証後状態にするにはどうすればいい
でしょうか?
0130nobodyさん
2012/06/14(木) 12:52:02.54ID:???0134nobodyさん
2012/06/14(木) 22:42:24.08ID:???暇を取れない会社のことを指しているようだ。僕自身、「違法な只働きの多い会社はどこですか?」なんて質問はよく受ける。だ
が、はっきりいってみんな甘い。甘すぎる。そんなのブラックでもなんでもなくて、日本企業なら当たり前の話なのだ。「フラン
スやドイツより年間300時間程度は長時間労働で、有給休暇も消費せず、辞令一枚で全国転勤」というのは、日本が世界に誇るカ
ルチャーである。日本は今でも終身雇用が建前の国である。いつ潰れるかわからないような中小の下請け企業ならともかく、普通
の会社では解雇なんて不祥事でも起こさない限りは行われない。もちろん、こういう楽ちんなシステムを維持するためには、それ
なりの工夫が必要だ。まず、一定の残業は大前提だ。新規採用の代わりに残業でカバーしておけば、不況時に残業カットで人件費
を抑えられる。有給休暇が取れないのも理由は同じだ。全国転勤なんて制度があるのは日本だけだが、これも終身雇用を維持する
ためのものだ。つまり、人事部がハローワークの代わりに社内の空きポストを見つけ、再就職の斡旋をしているようなものなのだ。
であるため、大手優良企業ほど、残業も転勤も有給取得制限も確実に存在するし、雰囲気的に文句は言えない。たまに、日本企業
の労組が「組合員の長時間残業や転勤を黙認している」といって非難する人もいるが、ちょっと違う。すべては終身雇用システム
を守るための、やむを得ない副産物なのだ。たまに「勇気を持って拒否できないんですか?」という質問も受けるけど、そんなこ
と主張して村八分に耐えるだけの強靭な精神力があるなら、最初から年俸制の企業に行って頑張ることをおススメする。ところで、
真のブラック企業とは何だろうか。それは上記のロジックからすれば明らかだろう。最初から終身雇用を守るつもりも、成果に応
じた年俸を上乗せする気もなく、長時間残業が当たり前で有給も取れない会社のことだ。新卒の時点でそういう会社に遭遇するこ
とは「滅多に」ないし、入ったら入ったで何年か修行して転職すればよいだけの話なので、入る前からあれこれ心配する必要は無
い。最悪なのは右往左往した挙句、内定無しで卒業してしまうことだというのはおぼえておくといい。
0136nobodyさん
2012/06/18(月) 09:29:52.49ID:???見るとpostデータにmodel名が含まれてしまう事があるのですが、postデータ
にmodel名を含ませないように出来ないのでしょうか?
<input name="data[test]" type="text" value="" id="test" />
こうなる場合と
<input name="data[models][test]" type="text" value="" id="test" />
こうなる場合があります
0137nobodyさん
2012/06/18(月) 09:55:08.10ID:???nullじゃなくてfalseにすれば期待した動作になりました
0138nobodyさん
2012/06/20(水) 20:53:26.92ID:???の俺が言う
Cakephpはやめとけ
0139nobodyさん
2012/06/20(水) 21:44:38.57ID:???0141nobodyさん
2012/06/20(水) 22:13:18.78ID:???Cakeは国内の知名度だけはいい線いってるよ
0142nobodyさん
2012/06/21(木) 00:32:08.42ID:???いくらFUELPHPが凄くても一人で細々とやっててもねぇ
あ、英語できるならいいけど
0143nobodyさん
2012/06/21(木) 01:35:20.48ID:???2.2ももうすぐ出そうだし、最近のCakeは順調…すぎてついていけなくなってるけどw
0145nobodyさん
2012/06/21(木) 02:16:55.75ID:???レコードのとあるフィールドの値で取得結果を変えるなら
select
case field1 when 0 then 'ぬるぽ' else field2 end
from tblA;
こんな感じでSQLの記述だけで完結出来るんですが、外から与えた変数で
同じような事を簡単に出来ないでしょうか?
取得結果は最終的にはviewで表示するのですが、
view内でforeachで回す際にループごとに条件判定をして…という方法は避
けたいです(viewにあまりゴテゴテとロジックを書きたくないので)
0146nobodyさん
2012/06/21(木) 08:42:57.93ID:???mysqlならIFって関数があるから、fieldsかモデルの$virtualFieldsで、
"IF(Model.field1 = 0 , 'ぬるぽ' , Model.field2)"
って書いてる。条件が複数あるなら入れ子でもいける。
0148nobodyさん
2012/06/21(木) 18:17:56.38ID:bhjX0YXlコードイグナイタ
見通しが良いから
0149148
2012/06/21(木) 18:18:47.19ID:bhjX0YXl0150nobodyさん
2012/06/21(木) 19:08:33.82ID:???0151nobodyさん
2012/06/21(木) 19:49:36.93ID:0C9bmUAd廃止されるで
0152nobodyさん
2012/06/21(木) 20:13:49.65ID:???0153nobodyさん
2012/06/21(木) 20:28:25.81ID:???0154nobodyさん
2012/06/21(木) 20:54:48.63ID:???Controller->set()は別物
0155nobodyさん
2012/06/21(木) 23:51:44.61ID:???なるほどHashクラスに置き換わるのか
0156nobodyさん
2012/06/22(金) 02:40:29.62ID:???0157nobodyさん
2012/06/22(金) 07:52:03.33ID:???・速い
・小規模、大規模にも対応できる
・CIより高機能、CakePHPより簡潔
・その他あらゆる点、全体の思想やARなどなどが洗練されてる
0158nobodyさん
2012/06/22(金) 10:33:48.17ID:???・設置に関する情報が少ない
・既存プラグインが少ない
0159nobodyさん
2012/06/22(金) 11:25:22.29ID:???function index($id){
$this->_idcheck($id);
}
function _idcheck($id){
if ($id != 1) {
$this->layout = 'error';
$this->render('/errors/error');
return false;
}
}
こんな感じで$idが指定と違うとエラーページを表示させたいのですが、
上の書き方だと2回renderされます。(indexのビューもrenderされます)
$this->render('/errors/error');の次行に$this->_stop();をしたら
ページ全体が表示されないし、どうやって特定のエラーページのみ
表示したら良いか分かりません。ご存じの方はアドバイスお願いします。
0160nobodyさん
2012/06/22(金) 11:39:12.45ID:???もしくはautoRenderで検索
0161159
2012/06/22(金) 11:52:47.08ID:???159のコードで、
$this->render('/errors/error');
$this->autoRender = false;
return ;
としてもindexのビューは表示されます。
出来ればidcheckのerrorビューで止めたいのですが・・・
0162nobodyさん
2012/06/22(金) 12:26:35.74ID:???viewが2個連なってでてるの?
そんなことあったっけ?
解決しないようなら後で試してみるけど、
↓この順番にしたらどう?
$this->autoRender = false;
$this->render('/errors/error');
あとは、
idcheck()ではbooleanを返すようにして、
falseが帰ればそのindex()内でreturnしてみるとか?
つまりidcheckでreturnしてもidcheckを抜けるだけだから全く意味ない。
0163159
2012/06/22(金) 13:07:10.41ID:???その方法も一緒でした。
おっしゃるとおり、idcheckでreturnしても意味無いのですが、
index内で分岐をさせる場合
if ($this->_idcheck($id)) {
trueの場合の処理
} else {
falseの場合の処理(エラページ出力)
}
としていかなければならず、idcheckが必要な全アクションに
これを入れるのはどうかと思い、idcheck内で解決出来ないかと探していました。
renderで出力ではなく、cakeErrorで404を出力すれば
ページエラーとして表示され、その後の処理も止まるんですけどね・・。
0164nobodyさん
2012/06/22(金) 14:00:47.36ID:???$this->_idcheck($id);
こうしろ
if(!$this->_idcheck($id)) return false;
0165nobodyさん
2012/06/22(金) 14:17:55.24ID:???if (!$this->_idcheck($id)) return $this->render('/errors/error');
こーすりゃいいのかな
0166159
2012/06/22(金) 14:19:08.34ID:???>>164の方法を使用したいと思います。
みなさん、アドバイスありがとうございました。
0167nobodyさん
2012/06/22(金) 16:33:34.16ID:???0168nobodyさん
2012/06/23(土) 03:49:34.45ID:???みたいなのが書かれた時が、俺の乗り換え時と決めている
0169nobodyさん
2012/06/23(土) 10:37:00.10ID:???0170nobodyさん
2012/06/23(土) 15:20:05.50ID:???0171nobodyさん
2012/06/23(土) 15:29:01.95ID:???railsに行くのが一番中途半端じゃないんだろうな
0172nobodyさん
2012/06/23(土) 16:19:14.16ID:???0173nobodyさん
2012/06/23(土) 16:33:09.34ID:???これがweb frameworkの完成形なんだって
まぁruby覚えるの面倒くさいから常用はしないけど
0174nobodyさん
2012/06/23(土) 17:33:16.95ID:???言語以外で
0175nobodyさん
2012/06/23(土) 18:54:12.89ID:???分からないことがあったら
リソースが沢山転がってるcakephpのほうがいいなぁと思う
railsのスレみてみなよ
過疎ってるし荒んでるよ
cakephpだと必要なプラグインとかをvendorフォルダにぶっこんで
ftpであげるだけで大抵うごくけど
railsはサーバー環境を
1から構築していく必要がある
これが大変
敷居が高い
しかも、プラグイン同士の依存関係がかなり厄介だから
コーディング始める云々の前に
つまづいて辞める人がほとんど
cakephpに戻ろうかなと思う
0176nobodyさん
2012/06/23(土) 18:56:58.00ID:???負荷がかかりそうなアプリ開発している人いる?
素のPHPでやった方がパフォーマンス出ると思うんだが、
Cakeの作り方に慣れてるから困る
0177nobodyさん
2012/06/23(土) 19:07:09.76ID:???少し時間かけてYii習得したほうが後々その時間は回収できるよ
今も前のシステムの関係上CakePHP触らないといけないんだけど、
開発スピードが段違い
0178nobodyさん
2012/06/23(土) 19:54:38.82ID:???とある商用サイト作って運用してるけど、ユーザ登録でユーザに仮IDメール出
してるし、同時一斉配信つーならメルマガも運用してる。
今のとこパフォーマンスが問題になった事は無い。
0179nobodyさん
2012/06/23(土) 20:03:33.23ID:???幸い、問題が起きるほどユーザーが増えたことがない
負荷とか最初から気にするだけ無駄なんだなと気付いた
負荷対策は万が一サービスが当たってから考えるのが、結局効率が良い
0180nobodyさん
2012/06/23(土) 20:33:40.14ID:???0181nobodyさん
2012/06/23(土) 21:40:18.93ID:???0182nobodyさん
2012/06/23(土) 23:41:07.25ID:9D2aOBXb0183nobodyさん
2012/06/24(日) 00:05:46.88ID:???0184nobodyさん
2012/06/24(日) 09:51:40.07ID:???さくらインターネットでサブディレクトリにCakeディレクトリを入れて運用したいんだけどできない
/home/username/www/cakephp
www/がドキュメントルート
その下にcakephpをつっこんでそのまま運用したい
URLも/cakephpにアクセスする形でいいんだけど
500エラーが出るんで、.htaccessあたりの設定だろうと思うんだけど、
いじりまくっても回避できなかった
アドバイスください!
0185nobodyさん
2012/06/24(日) 12:41:22.32ID:???メール配信ってshell機能使って配信してるんだよね?
自分はそうしているけど、特にパフォーマンスの違いはないな。
>>179
当たってから変えるってのもどうかな?とは思うからね。
最初から「ユーザ数100万人!」とか目標にするのもどうかと思うが、
せめて1万人は想定する必要があると思う。
で、1万人の一斉配信って負荷やら配信ログやらの問題が出てくるから、
設計も考えなきゃいけないんだよね。
ま、どちらかというとCakeよりもサーバ側の問題だけど。
0186nobodyさん
2012/06/24(日) 13:39:09.72ID:???0187nobodyさん
2012/06/24(日) 15:52:42.05ID:???CakePHPに下記のプラグインありますか?
・会員登録、ログイン認証
・画像アップロード
・ページネーション
・キャプチャ
・会員同士のプライベートメッセージ
0188nobodyさん
2012/06/24(日) 16:14:03.48ID:???0194nobodyさん
2012/06/24(日) 17:47:28.20ID:???>・会員登録、ログイン認証
登録の機能は自分で作りこんで下さい。プラグイン不要です。
ログイン認証はAuthコンポーネントがあります。
>・画像アップロード
CakePHPの標準機能で作りこんで下さい
>・ページネーション
CakePHPの標準機能でよきに計らってくれます。プラグイン不要。
>・キャプチャ
???
>・会員同士のプライベートメッセージ
自分で作りこんで下さい。
0195nobodyさん
2012/06/24(日) 17:50:22.25ID:???0196nobodyさん
2012/06/24(日) 18:17:33.67ID:???0197nobodyさん
2012/06/24(日) 18:37:52.32ID:???いくつかあるテメーでさがせかす
0198nobodyさん
2012/06/24(日) 19:56:11.23ID:???0199nobodyさん
2012/06/24(日) 20:36:53.49ID:???0202nobodyさん
2012/06/24(日) 20:47:36.27ID:???込んでるけど、問題なく運用出来てる。まあがんがれ。
0203nobodyさん
2012/06/24(日) 20:56:58.63ID:???0204nobodyさん
2012/06/24(日) 21:36:35.96ID:???/home/www/cake_test/
として解凍したんだけど、アクセスすると
400 Bad Requestと出ます
0205nobodyさん
2012/06/24(日) 21:37:55.05ID:mIG0xQosです
http://cakephp.kojima-yoshio.net/?page_id=58
>症状2:400 Bad Requestエラーが出る。
>対処法:マルチドメインの設定を見直す。
>パスの列を見て、末尾に/が付いているとダメ。( ○/test ×/test/ )]
これも確認しましたが、大丈夫でした
0206nobodyさん
2012/06/25(月) 00:03:36.30ID:bAX9Bc0l別の既存の原因だったみたいだわ
0207nobodyさん
2012/06/25(月) 10:04:44.87ID:???$user = $this->User->read();
var_dump($user);
↑これがローカルではちゃんと取得できていて、
サーバにアップするとfalseが帰ってくるんだけど、何が原因?
サーバもローカルも1.3だったはずだけど、もしかしてマイナーバージョンぐらいがかもしれないんだけど、
マイナーバージョンアップで上記に影響されるような変更あったのかな?
0209207
2012/06/25(月) 10:17:38.50ID:???Configure::write('debug', 3);
} else {
Configure::write('debug', 0);
}
原因分かった
こういうふうにローカルとサーバでdebugの値変えてたからだった。
ただ、なぜこれが>>207に影響するんだ???????
まぁ直ったからいいんだけど・・・
0210nobodyさん
2012/06/25(月) 11:54:22.20ID:???0211nobodyさん
2012/06/26(火) 12:18:15.97ID:???0212nobodyさん
2012/06/26(火) 12:31:08.88ID:???0213nobodyさん
2012/07/01(日) 00:01:58.85ID:???cake ver.1.x から cake ver.2 への移行ってメンドクサイ?
まだcakeに手をつけてなくて、
この移行作業が初めてなんだけど。
0214nobodyさん
2012/07/01(日) 04:39:16.82ID:???loginページでログインしてokだったらtopページにredirectさせているんで
すが、loginページとtopページはコントローラが別で、かつloginページは
https接続です。
loginページではちゃんとAuth->user()が取得出来るのに、topページだと
Auth->user()が取得出来ません(nullしか取れない)
0216213
2012/07/01(日) 15:48:37.46ID:???そもそもサーバのリプレースに合わせて、
PHPとDBのバージョンアップが主目的で、
PHPとDBをバージョンアップしたら、
もちろんcakeもバージョンアップでしょ、
みたいな感じなんだよね。
「移行は止めた方が良い」という理由を
簡単で良いので教えてくれると助かる。
よろしくおねがいします。
0217nobodyさん
2012/07/01(日) 16:05:30.07ID:???二度と来るな
0218nobodyさん
2012/07/01(日) 16:13:00.28ID:???マイグレーションガイドっていうのがあるんだな?
そういうことは早く家カス
ってかお前ら暇だろ?
んで、その無駄な知識ひけらかす場所も此処ぐらいしかないんだから、
「二度とくるな」とか言ってないで答えとけよw
0219nobodyさん
2012/07/01(日) 16:19:14.42ID:???ああ、まだ今日は6月31日
0221213
2012/07/01(日) 20:30:48.36ID:???残念ながら納得はしねぇんだなぁ。
「バージョン上げないとセキュリティ的にヤベェんじゃねぇの?」
っていう幼稚園児でもわかる動機があるのさ。
PHPが ver4 ⇒ ver5.2 は必達なわけよ。だとすると、cake ver2 は必須だろ?
もともとが cake ver0.2 とかで作られちゃってるわけで・・・
>>219 「今日は6月31日」のガンバリ屋さん
マイグレーションガイドちょっと目を通したわ・・・
けっこうめんどくせぇのな・・・
教えてくれてサンクス。
仕事がんばれ。死ぬな。
作りなおしを提案するかなぁ・・・・
0222nobodyさん
2012/07/01(日) 21:01:00.46ID:???例えばSNSのようなウェブアプリを作ったとして、
ログインしていると仮定します。
他のメンバー一覧画面から送信先の人の行で「メッセージ送信」ボタンをクリックすると
メッセージ送信フォームが現れるようにしたいのですが、送信先の情報はどのように送信フォームへ引き渡しますか?
0223nobodyさん
2012/07/01(日) 21:24:18.70ID:???一覧にチェックボックスを配置して、そのチェックボックスにはメンバーIDを入れ、
送信ボタンを押した時に、選択したメンバーID宛にメールが送信されるように
するのはどうだ?
0224nobodyさん
2012/07/01(日) 22:06:48.14ID:???なるほど、ナイスアイデアです!
配信先が配列(複数)になってもOKってことですね。
例えばAさんから来てるメッセージの内容表示画面(scaffoldでいうshow)で
返信するボタン押したときは
新規メッセージの編集画面(edit)へは
どのように送信先の情報は渡して
持たすべきですか?
hiddenフィールドにすべき?
getで渡したら送信先のidとかがURLに表示されますよね?
スパマーとかにそのURLのID部分だけ書き換えられてスパムメッセージされまくりが不安です。
0225nobodyさん
2012/07/01(日) 22:10:54.69ID:???PHP&Mysqlを使ったよさげなシステムを作ったのを見てPHPちょっとづつ勉強してます。
でも、PHPでいちからゴリゴリ作るのはどうもって事で、フレームワークを探してたら
こちらにたどり着きました。
Accessに慣れきった体にはMVCの概念を理解するのはちときついと思いますが、cake
何とかものにしたいと思ってこちらのレス眺めさせてもらってます。
で、時々思うのですが、Accessからスンナr移行しやすいフレームワークって何かないでしょうか?
なんだろうなぁって思うのですが、だめもとで聞いてみました。。。。。
お手柔らかにお願いします。
0226nobodyさん
2012/07/01(日) 23:19:29.72ID:???イベント駆動とかってことなら、PRADOかな?
いまいち情報少ないし、素直にMS謹製asp.net web formsの方がいい気がするが。 .netも最近はasp.net mvcが多いみたいだけどね。
0227nobodyさん
2012/07/02(月) 00:46:19.94ID:???情報ありがとうございます。
こちらも調べて見ます。でもやっぱりWebはMVCアーキテクチャを採用するものが多いようですね。
後学のために両方調べつつ勉強することにします。
0228nobodyさん
2012/07/02(月) 10:37:29.40ID:???0229nobodyさん
2012/07/02(月) 10:44:53.79ID:???0231nobodyさん
2012/07/02(月) 13:22:20.55ID:???getで渡したくなけりゃpostでわたしゃいいだろ。
スパマー?
getで渡そうが渡さなかろうが、悪意を持ってたらいくらでも送信出来んだろ
つまりそんなところの対策は連続送信対策を打てよ
送信者は不特定多数じゃなく会員ユーザーなんだからいくらでも対策打ちやすいだろ
0232nobodyさん
2012/07/02(月) 13:31:16.85ID:???それをポストする時に何らかの対策をすればいい話だしCakeと関係ないっていうのも全く同意
0234nobodyさん
2012/07/03(火) 02:42:19.60ID:???皆さんならどっちで作りますか?
開発工数が少なくなると言う意味でCakeでしょうが、
社内フレームワークもCakeを縮小した感じでそれなりに使えます。
ちなみに自分はディレなんでかじる程度にしか知りません。
明日の会議でどっちにするか決めなければ行けないのですが、
ずっと悩んで結論が出せずじまいです・・・。
0235nobodyさん
2012/07/03(火) 02:46:24.02ID:???0236nobodyさん
2012/07/03(火) 02:56:18.59ID:???findすると連想配列で結果を得られるような形にはなっています。
ただ、簡易的にしようしていたので、SQLiteがベースなんですよね・・・
MySQL用に書き換えなければ行けないというのはネックかも。
会員数10万人もいてマッチングサイトっぽい事したいらしいから、
やっぱり出来るだけ柔軟性のある方が良いですよね
0237nobodyさん
2012/07/03(火) 03:00:21.64ID:???0238nobodyさん
2012/07/03(火) 03:04:20.92ID:???0239nobodyさん
2012/07/03(火) 03:51:07.40ID:???そして読めば読むほどに移行したくなってきた
0240nobodyさん
2012/07/03(火) 13:57:06.57ID:???0241nobodyさん
2012/07/03(火) 14:58:28.86ID:???アンダースコア使う方が見やすいと思うんだけどな
あと、ヘルパーも$this->Htmlになったし
0242nobodyさん
2012/07/03(火) 17:47:16.09ID:???この感覚になれるともう戻りたくはないわ。
それよりキャメルケース云々の件は、コントローラのURLがキャメルケースでもアンダースコアードでも処理できちゃうこと方が問題と思うんだが。
あと、メソッドをキャメルケースで書いてもテンプレートはアンダースコアードにしなくちゃダメというのも統一感が無いのが気持ち悪い。
0244nobodyさん
2012/07/03(火) 18:14:27.84ID:???0245nobodyさん
2012/07/04(水) 23:08:23.82ID:???0246nobodyさん
2012/07/05(木) 00:03:24.00ID:???0247nobodyさん
2012/07/05(木) 03:32:44.02ID:???ファイル名の書き方も成れたら気にならなくなった。
CakePHP辞典の人が執筆準備しているらしいから、
それが出たらもっと広まりそう。
0248nobodyさん
2012/07/05(木) 11:20:29.40ID:???1.3系のメンテの仕事やりたくなくなる。
コンソール周りがかなり使いやすい。
0249nobodyさん
2012/07/05(木) 15:30:36.25ID:???2.xはやっぱ処理が早い(気がする)のが良い
symfony使わなくてもそこそこの規模のサイトでも行けると思う
0250nobodyさん
2012/07/05(木) 19:53:28.39ID:???0251nobodyさん
2012/07/05(木) 20:02:35.92ID:???0252nobodyさん
2012/07/06(金) 09:45:02.36ID:???0253nobodyさん
2012/07/06(金) 10:01:17.99ID:???0254nobodyさん
2012/07/06(金) 12:03:53.00ID:???連続スパム送信防止のために工夫すべきことって
最終送信日時から、どれくらい間隔が空いたかで制御するくらいかな?
0255nobodyさん
2012/07/06(金) 12:12:16.32ID:???0256nobodyさん
2012/07/06(金) 12:29:13.37ID:???スパマーは手動なのかスクリプトなのか知らんけど会員になるぐらいは普通にやってくるからな
「会員」なんて信用しちゃダメ
0257nobodyさん
2012/07/06(金) 12:39:27.43ID:???メッセージ一通送る度にキャプチャ入力って面倒すぎない?
会員登録時はキャプチャを実装しておいて、
登録メールへアクティベート用リンクを送信してクリックされるとアクティベート。
ってだけで充分じゃないかな?
あとはメッセージ送信は30秒規制入れるとか。
スパマー対策はアクセス禁止フラグみたいなのを設けて、
そこだけ外出先からでも操作していけばいい。
さすがのスパマーも会員登録を1から、やり直しは面倒くさいでしょ。
mixiとかはどうしてるんだろうね
0258nobodyさん
2012/07/06(金) 13:30:50.02ID:???同じ会員が何回も同じ相手に送信できないようにすればいいだけじゃん。
0259nobodyさん
2012/07/06(金) 13:32:49.34ID:???設計はどうなってるの?
日記みたいに単にメッセージが保存されるやり方だと
頻繁にやりとりがある場合、テーブルを圧迫すると思うけどな。
俺の実験では100万レコードだと重くなった。
0260nobodyさん
2012/07/06(金) 13:42:35.49ID:???0261nobodyさん
2012/07/06(金) 18:17:40.37ID:???メッセージがテーブルへ保存されつつ
サイドでsendmailってかんじです
会員は二万人は見込んでます
0264nobodyさん
2012/07/06(金) 19:25:42.25ID:???0265nobodyさん
2012/07/06(金) 20:17:11.89ID:???0266nobodyさん
2012/07/06(金) 21:29:21.31ID:???0267nobodyさん
2012/07/07(土) 00:19:34.25ID:???IE8使っているからだ・・・他のブラウザならログインできた
IE8でもキャッシュ関係のファイルを削除したら表示された。
0268207
2012/07/07(土) 22:53:27.28ID:???どっかにまとめて解説してるページないかな?
0269nobodyさん
2012/07/07(土) 23:01:01.45ID:???コストとメリットのバランス的に
メリットは主に少し速度改善するぐらい?まあそれでも1日程度で移行できるなら考えるんだけど
0271nobodyさん
2012/07/08(日) 00:56:39.14ID:???ブログのサイドバーに「最新記事」とか「カテゴリ」の一覧ってありますよね?
例えばカテゴリ一覧を取得したい場合、ビューからrequestActionで
Categoriesコントローラにアクセスしてfindの値を取ると思うのです。
でもこれってコントローラ通すのおかしいですよね?
Categoryモデルに直接アクセスして取る方がスムーズだと思いますし、
カテゴリ表示用のページを用意しないのに、
Categoriesコントローラを通すのに違和感があります。
皆さんの場合ならどうしてますか?
0272nobodyさん
2012/07/08(日) 03:03:49.89ID:???つまり毎リクエストでカテゴリの取得はしてないってことでしょ?
いやならサイドカラムに表示する必要のあるアクションで、
直接Categoryモデルに取りに行けばいいけどデメリットもわかるよね?
0273nobodyさん
2012/07/08(日) 08:53:53.55ID:???直接関係ないかもしれませんが、ちょっとお付き合いください。
帳票を出力する部分は皆さんどのようにされてますか?
PDF作成してクライアントで印刷させるのが一般的でしょうか?
良い運用方法があれば教えていただきたく、、、、、
よろしくお願いします。
0274nobodyさん
2012/07/08(日) 09:36:17.34ID:???よそで聞け
0275nobodyさん
2012/07/08(日) 13:12:07.54ID:???0276nobodyさん
2012/07/08(日) 13:55:56.62ID:???レイアウトにこんな感じで指定しているのですが、
echo $this->element('header', array(), array('cache' => '+1 minutes'));
キャッシュファイルが/app/tmp/cache/viewsではなく、
/app/tmp/cache以下に生成されています。
しかも1分後にキャッシュが削除されず、+1を+10に変えても一緒です。
なにかエレメントキャッシュの指定方法が変わったのでしょうか?
0278nobodyさん
2012/07/08(日) 14:48:36.28ID:???0280nobodyさん
2012/07/08(日) 15:24:21.86ID:???ググれよ
似たようなことはほとんどが既に英語で出てる
まずは英語を勉強しろ
分からん奴はCakePHPするな
0281nobodyさん
2012/07/08(日) 15:40:45.06ID:???0282nobodyさん
2012/07/08(日) 17:15:18.29ID:???0283nobodyさん
2012/07/08(日) 17:55:38.61ID:???0285nobodyさん
2012/07/08(日) 19:33:27.90ID:???http://book.cakephp.org/2.0/ja/views.html#view-elements
を見ているのですが、正直よく分かりません・・・
1.3のように期間指定は出来ないんですかね
0286nobodyさん
2012/07/08(日) 21:17:45.95ID:???皿洗いのバイトでもしてろ
0287nobodyさん
2012/07/09(月) 21:07:45.01ID:???0288nobodyさん
2012/07/10(火) 01:47:19.18ID:???0289nobodyさん
2012/07/10(火) 02:09:16.62ID:???リンク先見てみろよ。全部書いてあんだろ。
なにごちゃごちゃ文句いってんの?
何か答えてあげる気になるならてめえで答えてやれよ。
0291nobodyさん
2012/07/10(火) 03:38:58.86ID:???文句書いてません。ですが、本当に理解できないのです・・・。
なぜなら、キャッシュタイムの記述はどこにもないじゃないですか。
configとかkeyとか書いてありますが、これが何を指すのか書かれていません。
一日調べて、keyやconfigを数値にしたり、ソースも読みましたが、
私が求める>>276の要件が満たされません。ググても出てきません。
ググり方は「cakephp2 キャッシュ エレメント」です。
0292nobodyさん
2012/07/10(火) 03:49:07.16ID:???はいはい黙れ
もしくは答えてやれっつってんの。
>>291
>Cache の設定についての詳細は /core-libraries/caching をみて下さい
リンクは切れてるけどどこを見ろと言ってるかはわかるよな?
http://book.cakephp.org/2.0/en/core-libraries/caching.html
durationが時間の指定な
keyは・・まぁわかるよね
0293nobodyさん
2012/07/10(火) 09:11:57.50ID:???いみわかんねーよー
よくこんなんで開発できるな。
0294276
2012/07/10(火) 10:16:11.30ID:???ありがとうございます!思い通りに出来ました!
まず、core.phpに
Cache::config('short', array(
'engine' => 'File',
'duration' => '+1 minutes',
'path' => CACHE . DS . 'views',
));
というようにキャッシュの指定をして、ビューのエレメントは
echo $this->element('header', array(), array('cache' => array('config' => 'short')));
のようにするんですね。
設定は少々手間ですが、自由度は上がったわけですね。
本当に助かりました。ありがとうございました。
0295nobodyさん
2012/07/10(火) 12:05:51.27ID:???どんだけ array( とか言ってるんだw
めんどくさい記載だよな
Railsとかだとスマートなやり方になりますが何か?
お前らのことを今度からArrayPHPと呼んでやろう
0296nobodyさん
2012/07/10(火) 14:17:59.13ID:???0297nobodyさん
2012/07/10(火) 14:29:19.52ID:???0298nobodyさん
2012/07/10(火) 14:54:06.25ID:???0299nobodyさん
2012/07/10(火) 17:19:25.15ID:???0300nobodyさん
2012/07/10(火) 17:46:48.84ID:???オレオレですらCake風の作り方してるし
0301nobodyさん
2012/07/10(火) 19:39:16.11ID:???0302nobodyさん
2012/07/11(水) 10:10:46.64ID:???俺か?
俺は嫌いだ
0303nobodyさん
2012/07/11(水) 10:17:08.05ID:???もっとシンプルに効率的にやれよ…と思ってしまう
0304nobodyさん
2012/07/11(水) 11:07:39.91ID:???0305nobodyさん
2012/07/11(水) 14:34:57.59ID:???俺は好きだな。他と比べるのは意見が分かれるだろうが
ZendやEthnaやsymfonyより分かりやすかった
0307nobodyさん
2012/07/11(水) 15:26:14.09ID:???けど、そんな時間はないからCake使ってる
他のに乗り換えるための暇さえ惜しい
0308nobodyさん
2012/07/11(水) 16:25:18.16ID:???0309nobodyさん
2012/07/11(水) 19:57:53.47ID:???おめー頭おかしいんじゃねえの
0310nobodyさん
2012/07/11(水) 20:09:51.36ID:???いやー、実はすごいハッカーなのかもしれないぞ。。。307は、、、
出たら使ってみたいのでぜひ作ってみてください。
楽しみにしてます。
0311nobodyさん
2012/07/11(水) 20:21:28.65ID:???0312nobodyさん
2012/07/12(木) 01:09:21.31ID:???0313nobodyさん
2012/07/12(木) 10:08:14.58ID:???0314nobodyさん
2012/07/12(木) 17:47:58.28ID:???たぶん1年あれば可能なんだよ。>>307 は1から作り直すとは言ってない。
(確かにフルスクラッチで一人でこれ以上のものって言うんなら頭おかしいとしか思えないが)
ただ、1年後にはそれ以上のものをほかの誰かが作ってる可能性の方が高い。
しかもそれが同じCakePHPである確率が一番高い。
0315nobodyさん
2012/07/12(木) 17:58:08.67ID:???0316nobodyさん
2012/07/12(木) 18:12:23.77ID:???0317nobodyさん
2012/07/12(木) 21:31:46.38ID:???本家のチュートリアルも一応試してみているんですが、、、、
0318nobodyさん
2012/07/12(木) 21:56:25.63ID:???和書は1.3以前のものしかない。
2.0で結構変わったんで、今から1.3以下をやる無駄を考えたら書籍からスタートは無駄が多すぎる。
学生さんとかなら、チュートリアルやったあと自分の作りたいアプリをCakePHPのルールにのっとって作ってたら?
その時肝心なのは、独自のアイデアを一切はさまずにCakePHPが敷いたレールの中で完結するようにすることじゃないかな。
まぁ俺自身が中途半端にオレオレをやった結果、そういう意見にたどり着いたわけだが。
0319nobodyさん
2012/07/12(木) 22:28:28.04ID:???その前にPHPでいくつかシステム作った方が良いよ。
いきなりCakeやってもオブジェクト指向すら意味分からないでしょ
意味分からないまま学ぶより、基礎から学ぶ方が良い
0320nobodyさん
2012/07/12(木) 22:41:28.94ID:???0321nobodyさん
2012/07/12(木) 23:00:07.78ID:???アドバイスありがとうございます。
PHP&フレームワークの思想を体で覚える必要があるっていう感じですね。
精進いたします。
0323nobodyさん
2012/07/12(木) 23:59:43.47ID:???0324nobodyさん
2012/07/13(金) 01:04:46.59ID:???0325nobodyさん
2012/07/13(金) 10:20:05.44ID:???オープンソース徹底活用 CakePHP 2.1によるWebアプリケーション開発
これ以外になんかある?
CakePHP辞典の人が執筆中だとかの話もあるようだけど。
0326nobodyさん
2012/07/13(金) 10:51:12.72ID:???Cakeの書籍なんか作ろうと思っても、利益出しにくいんだろうな
あと今頃執筆してるようじゃ完成したころには3.0が出てるっていうオチじゃねぇかw
0327nobodyさん
2012/07/13(金) 12:24:32.89ID:???何度か売り切れになっているのを目撃した。
とにかく2系のリファレンス出して欲しい。4000円ぐらいでも良いから。
cookbookは未完だし、ネット上の情報も少ないしな。
0328nobodyさん
2012/07/16(月) 02:52:38.46ID:???なぁなぁ、巣のPHPでいくつかシステムつくってcakePHPを始めたら
>>318 の言ってる「CakePHPが敷いたレールの中」ってのに
やたらとイラつく事がおおいんだが、これは仕方が無いのかね?
ってか >>318 の「中途半端にオレオレをやった結果、そういう意見にたどり着いた」ってのが
ちょっときになるんだが、おそらく、それcake使いとしては正解だと思うんだ。
でもなぜ、自分を捨てて「CakePHPが敷いたレールの中」に入れたんだ?
0330nobodyさん
2012/07/16(月) 03:07:40.30ID:???すまんわかりにくかったな。
言いなおそう。
一言でいえば「なんでフレームワークなんぞ使おうと思ったんだ?」ってことだ。
まぁ対象システムがcakeだったって、のが多いんだろうけどさ。
0331nobodyさん
2012/07/16(月) 03:11:53.19ID:???別にCakeじゃなくても目的に合うようなフレームワークは転がってるだろ。
0332nobodyさん
2012/07/16(月) 03:20:10.41ID:???そうだな、Zendとかのほうが俺のスタイルには合ってるんだと思う。
だけど、「なんであんたはcakeを選んだの?」ってとこ。
それと車輪の話題だけど、
すでにある車輪が気に食わない。
軽自動車作ろうってのにトラックの車輪持ってこられてもなぁ・・って感じ。
0333nobodyさん
2012/07/16(月) 07:37:46.32ID:???フレームワーク使わない=そのフレームワークで書かれてるコードを自前で再発明
ってことだし。
0335nobodyさん
2012/07/16(月) 18:43:19.49ID:???そもそもcakeってどんなシステムを作ることを前提として
作られたフレームワークなんでしょうか?
業務システム(っていうと色々突っ込まれるでしょうけど。。。。。)
を構築するのに使った人っているんでしょうか?
0336nobodyさん
2012/07/16(月) 19:12:15.97ID:???そもそも足し算という計算は、何と何を足すことを前提として
作られた計算方法なんでしょうか?
みたいな質問だな
0337nobodyさん
2012/07/16(月) 19:41:19.40ID:???具体的には書けないけど、誰もが知ってる某社のサイトとかCakePHPで作ったよ。
今現在も、誰もが知ってる大手外資金融の社員向けシステム構築でCakePHPを使
うか検討してる最中。でも流石にDBにMySQLは使いたくねーし、金が許せば本当
はASP.NET+C#でイキたいんだけどなー
0339nobodyさん
2012/07/16(月) 21:12:01.33ID:???よくあるWeb系システムじゃね?
会員制サイト、ECサイト、ブログなんかは良くサイト例として挙がるよ。
0340nobodyさん
2012/07/16(月) 21:20:24.32ID:???まだ2すら触っていないというのに
0341nobodyさん
2012/07/16(月) 21:52:48.54ID:???0343nobodyさん
2012/07/17(火) 01:43:00.22ID:???鯖のスペックでカバーじゃないの
0344nobodyさん
2012/07/17(火) 02:10:14.43ID:???ゲームをMVCに当てはめるの難しいな
0346nobodyさん
2012/07/17(火) 02:39:34.70ID:???日本ではなんで Drupal 流行んないの?
凄くよくできたCMSだと思うんだけど。
0347nobodyさん
2012/07/17(火) 02:54:19.19ID:???0348nobodyさん
2012/07/17(火) 08:25:10.35ID:???名前忘れたけど、どこかのスライドショーで公開してたよね?
確か、管理画面はCakeだけど、表のユーザが利用する箇所は
素のPHP+memcachedを使って速度を出していたはず
0349nobodyさん
2012/07/17(火) 10:08:42.34ID:???0351nobodyさん
2012/07/17(火) 13:01:24.53ID:???ゲームは更新が激しくて、キャッシュはほとんど使えないんだ
0353nobodyさん
2012/07/17(火) 15:55:28.65ID:???スレ違い
だが、Drupalの発音がよく分からない、発音しにくい、キャラクターがあまり可愛くない
っていうのは最初の壁として地味に効いてる気がする。
一度突破すれば無関係になるんだろけど。
0354nobodyさん
2012/07/17(火) 16:35:41.09ID:???よく見ると全然綴りが違うが
0355nobodyさん
2012/07/17(火) 18:06:08.91ID:???Drupal7 でIMCEとCKEditorを使ったファイルのアップロード設定を行ったのですが
画像をアップロードしても何も表示されません、どこに落ち度があるのでしょうか?
そこでCKEditor上でIMCEの機能を使って
挿入した画像のパスを確認してみたところ次の様になっていました。
http://domain.com/drupal/sites/default/files/pictures/large_picture.jpg
そもそも、この画像に対してブラウザ上からアクセスする事は出来るのか?
と思いアクセスしてみたところ次のエラーが出てしまいます。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Drupalをインストールしたディレクトリ上の .htaccess はコメントアウトしており外すとそもそも
コンテンツ自体の表示が出来なくなります。
#Options -Indexes
#Options +FollowSymLinks
困ってます。お助け下さい。
0357nobodyさん
2012/07/17(火) 18:25:57.57ID:???Drupalスレマジで過疎ってるんですよ・・・
すごくよくできたCMSなのに・・・
世界ではメジャーなんだぜ!!
0359nobodyさん
2012/07/17(火) 18:38:23.96ID:???IMCE入れてConfigureもちゃんといっていると推測出来る状態です。
なぜからファイルアップロードウィンドウが正常に起動しているからです。
IMCEで指定した画像ファイルへのパスは、
次の様になっておりサーバ上に画像ファイルもしっかり存在していました。
http://domain.com/drupal/sites/default/files/pictures/large_picture.jpg
ブラウザから当該画像ファイルへ直接アクセスしようとして、
はじかれている事からアクセス制限回りが原因ではないかと疑っております。
みんなで Drupal 使ってもりあげてくれ!!
0360nobodyさん
2012/07/17(火) 20:41:07.36ID:???Excelがフレームワークだっていいきる俺がきましたょ
0361nobodyさん
2012/07/18(水) 12:27:45.60ID:???フォームにエラーがあったときに
inputの下だけじゃなくて、
一番上に出たエラーをまとめたもの出したいんだけど、どうしたらいい?
0362nobodyさん
2012/07/18(水) 12:32:22.69ID:???APIリファレンス読んでみ
0363nobodyさん
2012/07/18(水) 13:09:03.23ID:???<?php echo $form->input('hoge', array('type' => 'text', 'error' => false));?>
0364nobodyさん
2012/07/18(水) 14:51:43.89ID:???<?php
echo $this->Form->create('User', array('inputDefaults' => array('label' => false)));?>
echo $this->Form->input('User.email');
echo $this->Form->input('User.password');
?>
こんな感じでPOSTデータ送ったら、
passwordだけすっぽり抜けて送られるんだが・・・
$this->dataに入れるときになんかやってるのかと思って、
$_POSTをdumpしてみたけど、やっぱりpasswordだけ送られてない
こんなこと初めてだ・・・お手上げ状態
0365nobodyさん
2012/07/18(水) 14:58:51.64ID:???echo $this->Form->input('User.password');
echo $this->Form->input('User.test1');
とかやってみると、最初のemailだけしか送られていない
ほかのページでも最初のinputだけがPOSTされているみたいです。。。
やばい・・・本番サイトなのに・・・どうしよう
検討がつかないのがほんとにやばい
誰か知恵を貸して下さい
0366nobodyさん
2012/07/18(水) 15:06:24.68ID:???最初のinputだけPOSTするってどういうことだ???
0367nobodyさん
2012/07/18(水) 15:14:20.96ID:???でも初めての時はわからないよね、俺もそうだった
とりあえずないものだと思って開発した方が捗る
0368nobodyさん
2012/07/18(水) 15:20:28.68ID:???ちょっと試して期待した動作しなかったらやめる
このポリシーで貫いて、ほとんど使える所がなかったらそれは駄目FWだから捨てる
(幸いCakeはそこまで駄目ではない
FWなんて工数短縮のためにあるもの(そしてそのメリット以外は犠牲にするもの)なのに、
機能を使うために時間を費やすなんて本末転倒だ
出されたご飯は全部食べたいのが人情だが、冷静になろう
0369nobodyさん
2012/07/18(水) 15:22:05.83ID:???<?php
echo $this->Form->input('User.email');
?>
<label>パスワード</label>
<?php
echo $this->Form->input('User.password');
?>
<input name="data[User][test1]" type="text" id="UserTest1">
と書き換えてみましたが、
同じように最初のデータしか送信されませんでした
array(2) { ["_method"]=> string(4) "POST" ["data"]=> array(1) { ["User"]=> array(1) { ["email"]=> string(22) "test@gmail.com" } } }
というか、今まで正常に動いてたのが、急に動かなくなった、、、
確か何か作業したような記憶があるけど、MySQLのテーブルを消しただけだし、
ファイルいじった覚えがない・・・多分いじってしまったんだろうけど、
なんにせよこんな不可解な動きをして焦りまくってます;;;
0370nobodyさん
2012/07/18(水) 15:26:34.07ID:???次からそうします
本番ですぐに動かさないと業務に支障きたしていて、
今から全部formタグに書き換えるのもちょっと時間が無いですね、、、
というか今まで動いてたのが、急に動かなくなったので、
原因がわかればすぐに戻せそうなのですが、、、
こんな根本的な動きが変わるってことはコアのファイルをいじらないと変わらない気がするんですが
そんなファイルいじった覚えがない、、、
0371nobodyさん
2012/07/18(水) 15:30:09.32ID:???DBの要らないテーブル(test_*)を15テーブルほど消したことです。
ローカルと見比べても、間違えて消したテーブルはありません。
このテーブル消す作業はPHPMyAdminで行いました
この作業のときにコアファイルが壊れたとか??ありえないか・・・と思いつつ
cake/libを見ているんですがやはりとくに変わった様子はありません
0372nobodyさん
2012/07/18(水) 15:31:06.50ID:???動かないformだけformタグに置き換えるとかできんの
0374nobodyさん
2012/07/18(水) 15:35:23.32ID:???>>370ではformヘルパー脱却を検討
ほんと馬鹿を増やすスレだわ
0375nobodyさん
2012/07/18(水) 15:35:56.07ID:???動かないformというか、
全formが最初のinputしか送信していない状態ですね
なにか根本の部分で変わってしまったとしか思えない
0376365
2012/07/18(水) 15:40:41.14ID:???語弊がありました
送信していないかどうかは定かではありません。
とにかく、
送信先のcontroller内で、
var_dump($_POST)とやると
array(2) { ["_method"]=> string(4) "POST" ["data"]=> array(1) { ["User"]=> array(1) { ["email"]=> string(22) "test@gmail.com" } } }
このように、1つのinputだけしか入っていません。
0377nobodyさん
2012/07/18(水) 15:41:03.59ID:???ってあるけどたとえば順番入れ替えてpasswordを先頭に持ってきたらpasswodだけ受け取れるのかよ?
0378nobodyさん
2012/07/18(水) 15:43:27.56ID:???webrootのindex.phpの先頭でvar_dump($_POST)すると何出るの
0379nobodyさん
2012/07/18(水) 15:43:49.81ID:???0380nobodyさん
2012/07/18(水) 15:46:15.74ID:???$form->input(...)書いてました(てへぺろ
な展開だろ
0381365
2012/07/18(水) 15:55:03.20ID:???わけがわからん・・・
いやここにいる人も僕以上にわけわかってないと思うのですが、
当人もわかっていません
まず
>>377 はその通りです。
>>379-380 は、全formが急にこうなっていたので、書き間違えなどは無いと思います。
>>378 ああ、それを試したかったですね・・・
不可解すぎて今日眠れそうにないです。。。
0382365
2012/07/18(水) 15:57:18.12ID:???まず
不可解1
最初のinputだけ送られる、
しかも全フォームで
という謎の挙動
不可解2
急に直る
まだなにもアップロードしてない
こええ・・・
0383nobodyさん
2012/07/18(水) 15:59:51.85ID:???0385nobodyさん
2012/07/18(水) 16:32:06.06ID:???0387nobodyさん
2012/07/18(水) 16:57:40.65ID:???こっちだとどうなんだろ?
0388nobodyさん
2012/07/18(水) 17:49:20.92ID:???0389nobodyさん
2012/07/18(水) 18:04:13.59ID:???Cake云々言う前に論外。
0390nobodyさん
2012/07/18(水) 18:20:44.17ID:???必要最小限のコードでビュー(レイアウト含む)を作って、吐き出したコードさらしてみ?
あと中途半端にオレオレ入れるのって大抵時間とかが足らないので
仕様をよく理解できてないパターンだよな。
少なくとも FormHelper 使えないっていう人初めて見たわ。
0391nobodyさん
2012/07/18(水) 18:23:51.98ID:???フォーム関係でFormHelper使わずに何とかするって
それ、Cake使う意味無いだろw
0392nobodyさん
2012/07/18(水) 18:53:13.37ID:???0393nobodyさん
2012/07/18(水) 18:56:47.21ID:???>とりあえずCake使う時は、提供されてる機能を無理に使おうとしないことだ
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
>ちょっと試して期待した動作しなかったらやめる
なるほど、時間とかが足らないんだな
0394nobodyさん
2012/07/18(水) 21:00:57.07ID:???0395nobodyさん
2012/07/18(水) 21:32:59.34ID:???0396nobodyさん
2012/07/24(火) 23:11:24.05ID:???> formヘルパーにエラーを出すメソッドがある。
> APIリファレンス読んでみ
ねーじゃん!!!1.3だよ?!
0398nobodyさん
2012/07/24(火) 23:41:28.03ID:???いやないないない!ないだろ!
$form->error()じゃなくて、エラー全部出すやつだよ?!
0399nobodyさん
2012/07/25(水) 00:30:12.80ID:???にすると、全てのビューに関する処理は
スルーされるって認識で良いですかね?
0400nobodyさん
2012/07/25(水) 02:36:41.75ID:???※2.x以上しか知識ありません。念のため。
0401nobodyさん
2012/07/25(水) 02:38:31.88ID:???Dispatcher とかが裏でゴソゴソViewクラスに値を渡したりとかはやってるよ?
0402nobodyさん
2012/07/25(水) 10:48:07.13ID:???ビューをDBで管理しようと思いまして、>>399にすれば
余計な処理を実行させなくても良いのかな?と思っていました。
0405nobodyさん
2012/07/25(水) 22:22:16.55ID:???きっとDispatcher周りの大改造が必要になるぜ
無理とは言えないが、かなり仕様を理解しないとだめだろうな
この程度の質問にすらすら答えられるようじゃないとドツボにハマるよ
まぁでもどうなるのか見てみたい
進捗を報告してくれ
0407nobodyさん
2012/07/25(水) 22:56:14.30ID:???まとめたのを出すメソッドがないから何なんだ
0409nobodyさん
2012/07/27(金) 13:43:34.69ID:Ij5uT65n-----
・名前を入力してください
・メールアドレスを入力してください
-----
名前[ ]
!名前を入力してください
都道府県[▼東京都 ]
メールアドレス[ ]
!メールアドレスを入力してください
inputの下には自動で出してくれるんですが、
一番上にあるようなエラーの一覧が欲しいんです
本当にお願いします。
0411nobodyさん
2012/07/27(金) 14:01:38.23ID:???>>404してvalidationErrorsで検索してみ
0412nobodyさん
2012/07/27(金) 15:54:14.68ID:Ij5uT65nありがとうございます。入っていました。
ただ、 $this->Model->validationErrors にアクセスできません
themeView に Modelオブジェクトが無いと言われます
0413nobodyさん
2012/07/27(金) 15:59:54.55ID:???みたいなメソッドが無いか?って事だろ?
で、結論としては「無い」んだよ。
>>409みたいなことがやりたいなら$form->errorを全て書くか
>>404をしろよ。そこをまずは納得しろ。
0414nobodyさん
2012/07/27(金) 16:11:56.02ID:???1.3じゃあ入ってないの?
0415nobodyさん
2012/07/27(金) 16:11:58.09ID:Ij5uT65n分かりやすい説明ありがとうございます。
無いんですね。
> >>409みたいなことがやりたいなら$form->errorを全て書くか
あ、これでいいですね。
$form->error('inpu1');
$form->error('inpu2');
$form->error('inpu3');
$form->error('inpu4');
まだ試してないですけど、こうやればおkですよね。
これでいきます。
ありがとうございました!
0416nobodyさん
2012/07/27(金) 16:13:04.99ID:???0417nobodyさん
2012/07/27(金) 16:27:39.79ID:???それでいいのかよw
0419nobodyさん
2012/07/27(金) 17:18:46.30ID:???コピペじゃない方法でやることもできそうですね
誰か頼みました!w
0420nobodyさん
2012/07/27(金) 17:21:02.41ID:Ij5uT65nいや、エラー一覧を出してくれるのがベストでしたが、
無いというので、もうこれで妥協しました
0421nobodyさん
2012/07/27(金) 17:59:17.31ID:QJsfcWivAuthのログイン認証で手間取っています。
usernameとpassword以外にも、
certificationというフィールドが1かどうか、確かめさせてからログインさせたいのですが、
$this->Auth->userScope = array('certification'=>1);
をfunction beforeFilter()に追加しても、
実際のsql文的には追加されていないようで、certification関係なく、ログインできてしまいます。
どこがいけないでしょうか?
0422nobodyさん
2012/07/27(金) 18:54:38.02ID:???this->Auth->authenticateあたりに変更されたのって関係ない?
0424nobodyさん
2012/07/28(土) 05:06:27.70ID:NZVlXbv8$this->Auth->authenticate = array(
'Form' => array(
'scope' => array('User.certification'=>2)
)
);
でできました!
これで10時間以上格闘してたので本当に嬉しいです
ありがとうございました
0425nobodyさん
2012/07/29(日) 20:58:02.94ID:???cakephp1.3で、独自ドメインを取得、サーバーはロリポップレンタルです。
いままでは http://yyy.yyy.com/test/ にcakeをインストールしていましたが、
http://xxx.xxx.com/ でアクセスしたいと思い、
.htaccessを修正し、http://xxx.xxx.com でアクセスできるところまではいきました。
そこから、
いままで http://yyy.yyy.com/test/controller/ でアクセスしていたところも
http://xxx.xxx.com/controller でアクセスできるかな?と思ったら、URL直打ちならいけました。
でも、$html->link('test', array('controller' => 'controller') としても、実際にレンダリングされる
HTMLでは、http://xxx.xxx.com/test/controller にリンクされています。
これを、testの部分をなくすことはできないでしょうか?
0426nobodyさん
2012/07/29(日) 21:07:28.25ID:???前にテストしていた http://yyy.yyy.com/ は、既に他のファイルがいろいろあったので
cakephpテスト用に
http://yyy.yyy.com/test/app/...
http://yyy.yyy.com/test/cake/...
みたいな構成にしてたんですが、
今回はcakephpを一つ動かすだけのサイトにするつもりです。
で、前と同じように
http://xxx.xxx.com/test/app/...
http://xxx.xxx.com/test/cake/...
みたいに配置しているんですが、そもそも、http://xxx.xxx.com/app/にすべきだったんでしょうか?
.htaccessは、ドメイン直下、test/直下、app/直下、app/webroot直下の4つを修正しました。
0427nobodyさん
2012/07/29(日) 21:28:07.68ID:???結局インストールディレクトリをかえて、
http://xxx.xxx.com/app/になるように配置したら
期待したとおり、http://xxx.xxx.com/controller とHTMLに吐き出すようになりました。
これでいこうと思うのですが、
この配置がドメイン直下での運用の場合は正解なんでしょうか。
0428nobodyさん
2012/07/29(日) 23:35:13.63ID:???ひとつだけなら
example.com
もうひとつなら
example.org
サブドメインは自由
0429nobodyさん
2012/07/29(日) 23:45:55.88ID:???0430nobodyさん
2012/07/30(月) 00:12:58.18ID:???>>429
つhttp://tools.ietf.org/html/rfc2606
0431nobodyさん
2012/07/30(月) 00:18:16.96ID:???URIとファイルパスの書き方がぐちゃぐちゃだな。
ディレクトリ構造の記述にはプロトコルは関係ないだろ。
そんな質問の仕方をしてるってことはマニュアルを全然読めていない証拠だから
誰も真剣に答えてくれんよ。
0432nobodyさん
2012/07/30(月) 00:29:32.30ID:???そして「マニュアル通り」にしろ。
ほとんどのことはそれで解決できる。
それでも無理なときはもう一度マニュアル読め。
つまり、たいていのケースに対しての定石が既に用意されている。
ルールに縛られるのが窮屈だからといって安易に定石を離れることは
一時しのぎは出来るかも知れないが結局遠回りになる。
ブログの記事なんかを参考にする場合は、
マニュアルの読み方や定石の解説をしているものならいいが、
小ネタの披露などの類は定石を一通りマスターしてからだ。
0433nobodyさん
2012/07/30(月) 11:01:11.94ID:???レスありがとうございます。
指摘いただいたことを修正して改めて質問させてください。
http://example.com/ でアクセスしたいのですが、
マニュアルでは
/cake_install/
├/app
└/cake
と配置して、
DocumentRoot /cake_install/app/webroot
と設定すればいいとなっていました。
レンタルサーバーのため、httpd.confはいじれないので、
.htaccessにRewriteBaseを設定しました。
すると確かにhttp://example.com/でアクセスできるのですが、
cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
http://example.com/cake_install/controller/
になっていました。
これを、http://example.com/controller/にしたかったんです。
そこで、cake_installのディレクトリを作らずに
/app
/cake
にしたところ、うまくいきました。
これが正しい配置なんでしょうか?
0434nobodyさん
2012/07/30(月) 13:14:23.48ID:???0435nobodyさん
2012/07/30(月) 15:31:19.13ID:???要するに解凍した cake ディレクトリの中身をそのまま ftp での一番上にぶちまけたってことかな?
ならば、公開時の設定としては推奨されていないが、
正常に動くかどうかという点に関してはOK。
ここ見れば分かるよね?
http://book.cakephp.org/1.3/ja/view/913/%E9%96%8B%E7%99%BA-Development
>すると確かにhttp://example.com/でアクセスできるのですが、
>cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
>http://example.com/cake_install/controller/
>になっていました。
これはどこか設定が間違ってる
0436nobodyさん
2012/07/30(月) 16:35:51.07ID:???2以降はマシになったんかな?
でもctpテンプレに使うとかうちはなしだなあ、デザイナにコーディング頼めないじゃん
0437nobodyさん
2012/07/30(月) 17:55:19.65ID:???0438nobodyさん
2012/07/30(月) 18:06:30.07ID:???0439nobodyさん
2012/07/30(月) 20:03:51.92ID:???厨とか悪いことのような言い方されるから言い出しにくい雰囲気・・・
0440nobodyさん
2012/07/30(月) 21:12:22.01ID:???処理が明確になったんじゃないかな
引き換えに、コーディング工程数というか、タイプするキーの数は増えたけど
0441nobodyさん
2012/07/30(月) 21:15:21.67ID:qcTCojeX動かした事のある人いる?
0442nobodyさん
2012/07/30(月) 21:31:34.90ID:???0443nobodyさん
2012/07/30(月) 21:59:05.68ID:???そうです、cakeディレクトリを中身だけトップに入れました。
マニュアルの指定されたページを見ると、
http://www.example.com/cake_1_3/ でアクセスできますよね?ってことですが
/
└cake_1_3
├app
└cake
の構成だと、確かにhttp://www.example.com/cake_1_3/でアクセスできました。
> >すると確かにhttp://example.com/でアクセスできるのですが、
> >cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
> >http://example.com/cake_install/controller/
> >になっていました。
>
> これはどこか設定が間違ってる
やっぱりなんか間違ってるんですね…
0444nobodyさん
2012/07/31(火) 08:43:55.59ID:???webroot, APP, CAKE をどこにおいても問題なく動く。
2.x の経験から言えば、 >>443 はパスの設定は自分で書かないとダメなんじゃないかな?
1.3のマニュアル読んだことはあまりないんで間違えてるかもしれんけど。
いまさら1.3には興味がわかないんであとは自分で調べてくれ。
0445nobodyさん
2012/07/31(火) 21:30:00.08ID:???ありがとうございます。
index.phpの設定ですが、
cake1.3のマニュアルによると、
/app
└/webroot
/cake
といった、普通の?配置にしない場合は、確かにindex.phpで場所を設定できるようでした。
http://book.cakephp.org/1.3/ja/view/915/%E5%BF%9C%E7%94%A8%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
今回は配置は/cake_install以下に上記の通り配置して、
http://www.example.com/ でアクセスできるんですが、
$html->link('aaa', array('controller' => 'cont')
で出力されたURLがhttp://www.example.com/cake_install/cont になってしまうのを http://www.example.com/cont にしたいのです…。
0446nobodyさん
2012/07/31(火) 22:02:44.89ID:???ちなみにその
http://www.example.com/cake_install/cont
では動作してるの?
それと
http://www.example.com/cont
ではどんな挙動になるの?
0448nobodyさん
2012/07/31(火) 22:13:47.14ID:???HtmlHelper::link() のふるまいに問題があるのか。
ちょっとソース見てみる。
0449nobodyさん
2012/07/31(火) 22:18:13.20ID:???今気づいたんですが、妙な挙動になっていました。
トップページは、routes.phpの設定でpages_controllerのindexアクションを呼ぶようにしています。
Router::connect('/', array('controller' => 'pages', 'action' => 'index'));
http://www.example.com/ にアクセスしたとき、$html->link('controller', '/cont/')は、
http://www.example.com/cake_install/cont と出力されますが、それをクリックして
http://www.example.com/cake_install/contに遷移すると、
$html->link('controller', '/cont/')は、
http://www.example.com/cont と出力されていました。
これをクリックすると、また元に戻り、これを繰り返します。
ちなみに、トップページに戻るための出力も、$html->link('top','/')としてましたが、
http://www.example.com/になったり、http://www.example.com/cake_install になったりするようです。
0450nobodyさん
2012/07/31(火) 22:20:01.18ID:???HtmlHelper::link()
↑
Helper::url()
↑
Router::url()
0451nobodyさん
2012/07/31(火) 22:25:10.66ID:???0452nobodyさん
2012/07/31(火) 22:26:19.86ID:???0453nobodyさん
2012/07/31(火) 22:51:02.56ID:???Router::url()のソースが挙動の操作をしているとのことで、少し見てみましたが
<?php echo $html->base; ?>をすると、
/cake_install がでたり、何もでない(空文字)だったりするようです。
0454nobodyさん
2012/07/31(火) 23:13:11.82ID:???/.htaccess
RewriteBase /cake_install
/cake_install/.htaccess
RewriteBase /
/cake_install/app/.htaccess
RewriteBase /app
/cake_install/app/webroot/.htaccess
RewriteBase /app/webroot
にしたところ、http://www.example.com/controller のページでは、
常に正しく http://www.example.com/controller と出力するようになりました。
($html->base に何も入らなくなりました)
が、トップページ http://www.example.com/ にアクセスした場合だけ、
$html->base に cake_install が入り、
http://www.example.com/cake_install/controller となっています。
0455nobodyさん
2012/07/31(火) 23:37:04.27ID:???わかった
bootstrap.php
に、
Configure::write( 'App.base', '/' );
で、どう?
0457nobodyさん
2012/07/31(火) 23:47:04.93ID:???HtmlHelper::link で吐き出すURLは Router::url で生成されてるんだけど、
ベースURLはRouterのインスタンスの$__paths[0]['base'] に保存されてる。
で、これは Dispatcher::baseUrl() の戻り値。
この Dispatcher::baseUrl() をみてやると、
最初の方に Configure に書き込んだ設置を展開していて、
もしそこに 'base' があればそれを優先する仕組み。
デフォはこれは設定されていないんで、 dirname( env( 'PHP_SELF' ) ) から算出してるってこと
0458nobodyさん
2012/07/31(火) 23:49:45.96ID:???確かに /cake_install だったのが / に変わり、$html->linkも、cake_installなしで
出力されましたが、UploadPackというプラグインの画像出力が
<img src="//uploaddir/image.png"> のようになり、画像がでなくなりました…
これはプラグインのソースを修正する必要があるのかもしれません。
そして、色々やっていただいて本当に申し訳ないのですが、
ドキュメントルート直下の /.htaccess の記述が間違っていたようで、
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake_install
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
としていたのを、
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ cake_install/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ cake_install/$1 [L]
</IfModule>
と変更すると、うまくいきました!
修正後の記述も、ネットから拾ってきたものでよく理解はしていないのですが、
なんとかこれで動きそうです。
本当にありがとうございました&すいませんでした。
0459nobodyさん
2012/07/31(火) 23:50:05.45ID:???身体もたないぞw
0460nobodyさん
2012/07/31(火) 23:51:50.45ID:???$__paths[0]['base'] に値が入ってるのがダメなような気はしたんですが
それがどこでどうセットされてるかまでは見れなかったんで
今後の参考にさせていただきます!!
0461nobodyさん
2012/08/01(水) 00:09:50.35ID:???> 身体もたないぞw
まさにそのとおりでした。
実は
/cake_install
├/app
└/cake
でインストールしたあと、うまくいかなかったんで
/app
/cake
で直下にぶちまけて動かしてたんです。
で、先ほどからずっと/cake_installの方のファイルをさわったりしてたんですが
.htaccessの修正で対応できた!と思い、
/app
/cake
の方を消したら、また元に戻りました。
URLがころころ変わってたのも、環境が複数あったのが問題だったようで…
そして、指摘された Configure::write( 'App.base', '/' ); を入れて、
リンクURLは問題なく出力されていますが、
先ほど書いた通りプラグインのUploadPackの画像出力URLが//になることだけが問題になりました。
UploadPackのソースを確認してみます
0462nobodyさん
2012/08/01(水) 00:56:24.96ID:???プラグインのuploadpackを下記の通り修正し、今回の一連の問題が解決しました。
ありがとうございました。
function image($data, $path, $options = array(), $htmlOptions = array()) {
$options += array('urlize' => false);
// src="//imageurl" になって出力されるのを修正
// 生成されたタグから、"//example/example.png" の最初の / を一本削除
// return $this->output($this->Html->image($this->url($data, $path, $options), $htmlOptions));
$imgtag = $this->Html->image($this->url($data, $path, $options), $htmlOptions);
$imgtag = str_replace('//', '/', $imgtag);
return $this->output($imgtag);
}
0463nobodyさん
2012/08/02(木) 17:37:50.48ID:???ググっても情報が1.2や1.3系で古いです。
2.x系ではどうすればいいのでしょうか?
DBでビュー管理ししている人が居たら教えてください。
0464nobodyさん
2012/08/02(木) 20:48:40.47ID:???ファイルシステムと分離されていないからコアを変更することになるけどいいの?
もっとも、PHPのソースコードをDBに格納してそれを取り出して云々て話だったら1.3系であろうが2.x系であろうが同じ。
0465nobodyさん
2012/08/02(木) 20:51:57.55ID:kl7SocZ+Azure上でcake入れてるとの事ですけど
動作は安定してますか?
DBは、SQL Azure?
それとも Webロール側に Windows版のMySQLを入れてますか?
あと、Azure上にcakeを入れる方法とかを解説しているサイトがあったら教えて下さい。
0466nobodyさん
2012/08/02(木) 21:02:45.91ID:???ブログのテンプレート編集ってあるじゃないですか?
ああいうことをしたいと思っているんです。
公開画面ではCakeのビューは使わずにDBのみで対応するとか
0470nobodyさん
2012/08/02(木) 21:40:40.11ID:???パスの情報をコアに教えるのは簡単だし結合は緩いんで、
ディレクトリの構造を工夫して、パスの管理をDBに委ねるっていうのがいいと思うが。
あと、更新履歴なんかはDBに任せられるな。
0471nobodyさん
2012/08/02(木) 21:44:35.65ID:???0472nobodyさん
2012/08/02(木) 22:09:38.31ID:???最近Azureが更新されて、Linuxの仮想サーバを立てられるようになったり、
仮想ネットワークが組めるようになってる。データの永続化のしきいも下がってる。
俺が試したのはLinuxの仮想サーバ上。CentOS6.2だから素直な環境が組める。
これからPHPの運用環境をAzureに組むなら、どういう基盤が良いか再考したほうがいいよ。
0473nobodyさん
2012/08/02(木) 22:13:49.40ID:kl7SocZ+サンキュー
個人的にはAWSで行きたいんだけど
お上からの指令でAzureでやんちゃくちゃならない案件なんだよね。
0474463
2012/08/03(金) 01:19:17.08ID:???例えばなんですが、ブログのテンプレ(テーマ)って
修正しても元に戻したり、別の物を選べるじゃないですか?
それをファイルで管理するって事は、元ファイルをwebroot以外の場所に置いて、
使用する時に/app/views/themed/以下にコピーするって事でしょうか?
そして、/app/views/themed/に作ったテーマのソースを
file_get_contentsで取得してfopen→fwriteで編集するみたいな。
そうであれば、DBに記録するのも、
ファイルとして用意するのも同じような気がしますね・・・
更新履歴宿のテーマを使うかだけをDBに記録するだけで良いのかなぁ
0475nobodyさん
2012/08/03(金) 07:21:24.39ID:???WPしか知らんが、あれはファイルの本体があって、更新履歴はDBに保存してる。
テーマの管理はファイルの記述ルールにのっとってリクエストのたびに解決してる。
それをたとえばCakePHPでやりたいんなら、更新履歴の管理はコアとは関係のない実装が可能なので、
コアの拡張はテンプレートのファイル構造の変更だけで済む。
で、それ(ファイル構造)だけならコアの設計ですでに綺麗に切り離されてるから
アプリケーションで対応できると思う。
あと、コアの変更に関してはアプリケーション側でほとんどのコアライブラリファイルを
上書きできるようにしてあるわ。
俺の知識不足だった。
すまん。
0476463
2012/08/03(金) 14:43:49.29ID:???詳しく教えていただいたのに恐縮ですが、
おっしゃる意味がいまいち想像できず、理解できませんでした・・。
ここでいう「更新履歴」とは、「どのユーザがどのファイルを更新した」
と言う情報のみを記録するデータでしょうか?
それとも、ソース毎管理するのでしょうか?
当初、私が>>463で記載した「DBをビューで管理したい」が、
別にDBでなくても、もっと便利で簡単な方法があるなら
DBにこだわりはありません。
最終的な目的としては、ブログのように
複数のデザインを切り替えて編集できる機能を持ちたいのです。
それを管理画面から操作したいと思っています。
(そう言う点で言えばWordpressと同じなのかもしれません
0477nobodyさん
2012/08/03(金) 15:25:35.11ID:???ちょっとしたシステムを作る場合とかだと
cakePHP とかのFWを使わずにpure php を使って組んだ方が
環境構築時間を短縮出来て効率が良いと思うんだけど、
お前らはどう思いますか?
0478nobodyさん
2012/08/03(金) 15:33:52.08ID:???0479nobodyさん
2012/08/03(金) 15:44:57.43ID:???「ちょっとしたシステム」の規模が、掲示板とかお問い合わせフォームとか
その程度の物を指すなら、cake使わなくて良いと思う。
ただ、オープンソースや自作ライブラリを使いながら作るから、
pure phpと違うとは思うけど。
0482nobodyさん
2012/08/03(金) 18:12:50.67ID:S+tv8I6e0483nobodyさん
2012/08/03(金) 18:13:45.87ID:S+tv8I6e自作ライブラリを使った方が
あらゆる機能を把握出来るから
カスタマイズもスムーズに行くと思うんだよね。
>>480
あたりまえだのくらっかー
今回の案件は、オレオレFWで行きますぜ。
0484nobodyさん
2012/08/03(金) 19:08:06.08ID:???渋々Cake使ってる
まあ確かに開発は速い、動作は遅い
0485nobodyさん
2012/08/03(金) 19:36:57.12ID:???>と言う情報のみを記録するデータでしょうか?
>それとも、ソース毎管理するのでしょうか?
そんなことは好きにやればいいじゃん。
CakePHPのコアから見れば全く関係ない。
テンプレートファイルのパスさえ渡してくれたらちゃんと処理してくれる。
分かってるとは思うけど、やろうとしていることはどっちかっていうと、
Cakeが本来想定していない使用方法という意味において応用レベルだよ。
少なくともコアの通常のロジックを一通り理解していないと対応できないんじゃないかなぁ
なんとなく質問のレベルと目指す目標が離れすぎてる気がする。。。
まぁ発想としては面白いんで頑張ってw
あと、WPの更新履歴に関しては勘違いしていた。実際には履歴は保存されていなかった。
でも、それを実装したいならさっき書いたようにDBで保存すればいいんじゃない?
0486nobodyさん
2012/08/03(金) 19:51:51.79ID:???ちなみに
>それとも、ソース毎管理するのでしょうか?
は、俺の脳内ではソースを丸ごと保存するイメージ
0488nobodyさん
2012/08/05(日) 01:21:49.66ID:R26XMbHJ嘘っぱちの情報を公開しているブログのせいで苦戦したぜw
0489nobodyさん
2012/08/05(日) 19:11:15.04ID:R26XMbHJこのファイルって弄ってもよいものなのでしょうか?
0490nobodyさん
2012/08/05(日) 19:33:36.03ID:???0491nobodyさん
2012/08/05(日) 19:43:03.99ID:R26XMbHJしっかしcakePHP2.0の設定ってメンドクサイね。
もっと手軽にならないものか。
0492nobodyさん
2012/08/05(日) 22:12:43.47ID:R26XMbHJhttp://weble.org/2012/03/22/cakephp-2x-auth
ページに記載されている内容を一通り設定し
テストしようと /admin/add にアクセスしようとするとエラーが出てしまいます。
http://hogehoge.com/admin/add
※tmp/logs/error.log を確認しましたが
エラーに関係しそうなログはありませんでした。
< アクセス時にブラウザに表示される内容 >
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete your request.
Please contact the server administrator, support@sakura.ad.jp
and inform them of the time the error occurred,
and anything you might have done that may have caused the error.
どこに問題があるのでしょうか?
0493492
2012/08/05(日) 22:28:47.42ID:R26XMbHJコントローラ+アクションを作成したにも関わらずブラウザにURLを指定するとInternal Server Errorが起きてます。
助けてぇええええ
★関連する各種ソース
【Config/routes.php】
Router::connect('/', array('controller' => 'tops', 'action' => 'index'));
【TopsController.php】
<?php
class TopsController extends AppController
{
public function index()
{
//デフォルトレイアウト
$this->layout = "ps-default";
}
}
?>
★アクセスパターン@
http://hogehoge.com/
→正常にアクセス出来てます。
★アクセスパターンA
http://hogehoge.com/tops/index/
→ Internal Serve Error が表示されてしまいます。
0494nobodyさん
2012/08/05(日) 23:00:58.57ID:???0495nobodyさん
2012/08/05(日) 23:04:47.87ID:???ディレクトリの配置、各種パスの設定をもう一度見直してみたら?
0496nobodyさん
2012/08/06(月) 00:51:05.79ID:sAYEX+TSデフォルトの侭でも@は正常に動作していましたので
.htaccessへの修正は、 ファイル指定が無い場合には index.php にアクセスさせる様にしただけです。
rewritebase等は全てそのままです。
>>495
うーん。。。
設置ミスですかぁー。
ちなみに実は以前、 cakePHP2.0を別のサクラ鯖に入れた時には
一応動作していました。
実は若干気がかりな点がありまして、cakePHPをDLして解凍した中身※
※cakephp-cakephp-e0b6f86\app\webroot ← この中身
の配置なんですが、現在はCに入れてます。(マルチドメインの中に丸ごと突っ込んでます。)
以前さくらに入れた際にはBで正常に動作していましたが
webrootの正しい配置場所はやはりBなのでしょうか?
B /home/www/{user_name}/{domain_name}/app/webroot/{favicon.ico や index.php...etc}
C /home/www/{user_name}/{domain_name}/{favicon.ico や index.php ...etc}
実は、Bへの配置が本当は正しく無かったと思い、今回はCに配置しました。
それが仇となったのかな?
0497nobodyさん
2012/08/06(月) 02:18:43.07ID:???っていうか、ほぼどんなパターンも間違いではない。
ブラウザの要求が webroot の index.php に渡せて、
なおかつ webroot/index.php がアプリケーションを実行できて、
tempディレクトリ内に書き込み権限があれば
どんなパターンでも動く。
で、そういう柔軟な配置に対応させうるために、index.php とかにパスの指定をするようになっている。
中にはデフォルトではコメントアウトしてるのもあったりするので、
量はそう多くないから実行するファイルの順に一度目を通したらいいと思う。
いずれにせよ、それらを逐一順にきっちり設定すれば動くように設計されてる。
むしろ、動かないパターンを見つけて報告すれば話題になるかもしれんよ。
コメントは英語だけど簡単だから絶対読める。
0498nobodyさん
2012/08/06(月) 02:31:25.59ID:???補足すると、公開するWebページの設定だけなら webroot/index.php の設定
Shell を実行するときは App/Console/cake.php の設定
Webページのテストするときは webroot/test.php の設定
で OK だったと思う。
1.3に比べたらかなり設定は楽になってる。
0499nobodyさん
2012/08/06(月) 14:34:51.02ID:???今その後継のサイトを作る話が出てるんだけど、
やっぱ最新版を使うべきだよね?
噂では3が出るとかでないとかって話もあるんだけど、それは時期尚早かな?
まだ企画段階で、実際に制作に入るのは10月頃だと思うんだけど。
ちなみにうちは基本、デザインの会社なんで
フレームワーク触れる人間が俺しかいないという惨状 orz...
0500nobodyさん
2012/08/06(月) 14:51:40.29ID:???0501nobodyさん
2012/08/06(月) 15:12:00.57ID:???0502nobodyさん
2012/08/06(月) 15:38:20.73ID:???0504nobodyさん
2012/08/06(月) 15:57:02.65ID:???これから始めるならそうだけど、1.3で作ったものがあるんでしょ?
普通使い回すだろうし、そうしないならそれなりの理由があるだろう
0505nobodyさん
2012/08/06(月) 15:57:49.75ID:???正式版は来年以降だろうし、使えるようになるのは再来年だと思う。
つまり、まだまだ2系で良いと思うよ。
0506499
2012/08/06(月) 18:34:12.11ID:???やっぱりやばいですかねぇ。自分自身、いつもいつもスクリプト触ってるわけじゃないんで。
>>501
いや、ただなんとなくです。
前のサイトのサーバーはPHP4だったのですが、今度のは最新の環境で出来るので、せっかくなら新しい方が楽しいかなと(^^)
>>502
まだまだ見たいでしたね。ちょっと今回は関係なさそうです。
>>503
モデル周りが変わるということは、今までの作り方とは大きく変わるんでしょうかね。
そうなるとまた勉強することが増えて大変です(汗
>>504
前のサイトはそのままにして、兄弟サイトのようなものの作成になるのですが、
クライアント様は機能的には今のままで満足されてて、
デザイン重視の要求ですので、どうやら2系の方がビューが扱いやすいような書き込みを見ましたので
一応新規で作成する予定ではありました。
ただ、使いまわせるとは思うので、検討してみます。
>>505
そうですね、3は全く手を出せる時期ではないんですね。
皆さんアドバイスありがとうございました。
時間を見つけて一度2系でプロトタイプ的なものを作ってみたいと思います。
0507492
2012/08/07(火) 00:30:47.68ID:???さくらのエラーログを確認してみたところ次のエラー出ています。
[Tue Aug 07 00:23:12 2012] [error] [client 222.222.222.222]
Request exceeded the limit of 10 internal redirects due to
probable configuration error.
Use 'LimitInternalRecursion' to increase the limit if
necessary. Use 'LogLevel debug' to get a backtrace.
>>493 で記載したURLのうち A でアクセスするとダメです。
はやくこんな環境設定部分はクリアして開発したいのですが。。。まいった。
0508492
2012/08/07(火) 00:35:25.67ID:???なるほど。一応ここさへ指定をしっかりしてあげればどんなディレクトリ階層でも
動きそうですね。
cakePHPって素敵w
0510nobodyさん
2012/08/07(火) 03:22:44.25ID:???cakePHP って素敵だわ!!
0511nobodyさん
2012/08/07(火) 23:00:42.56ID:VIyBwqSFecho $this->Form->input('email',Array('label' => false,'class' => 'cb','style' => 'width:200px;'));
↓
<div class="input text required"> ←この<div>タグに cssやstyle を設定するにはどうすれば良いでしょうか?
<input name="data[User][email]" class="cb" style="width:200px;"
maxlength="120" type="text" id="UserEmail">
</div>
0512511
2012/08/07(火) 23:03:59.17ID:VIyBwqSF0513nobodyさん
2012/08/08(水) 01:47:43.67ID:???0514nobodyさん
2012/08/08(水) 18:28:34.00ID:LAYqfGos画面よりログインボタンを押下し
期待している動作としては、ログインに失敗した場合
ユーザ名もしくはパスワードに誤りがあります
というメッセージが画面に出る事を期待しているのですが
setFlashの方が優先されてしまいます。
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->loginError = 'ユーザ名もしくはパスワードに誤りがあります';
}
public function login()
{
//認証NGの場合
$this->Session->setFlash(__('残念!'), 'default', array(), 'auth');
}
0515nobodyさん
2012/08/09(木) 18:05:47.44ID:DMpFXPo0そこで↓を参考にしてアカウントの作成まで行う事が出来る様になったのですが
cake_sessions とusers
テーブル上のレコードを全て削除した上でアカウントを作成しても
常に
http://weble.org/2012/03/22/cakephp-2x-auth
users.id の値がインクリメントされた状態で入ってしまいます。
例)
users.id = 15 の状態でこのレコードを削除し
再び登録処理を行った場合には
users.id = 1 が入って欲しいのですが
users.id = 16 が入ってしまいます。
原因をご存じの方がいらっしゃいましたらお教え下さい。
0516nobodyさん
2012/08/09(木) 18:16:09.26ID:DMpFXPo0おススメサイトがあったら教えて下さい。
0517nobodyさん
2012/08/09(木) 20:07:01.62ID:???調べろカス
0518nobodyさん
2012/08/09(木) 20:25:01.28ID:DMpFXPo00519nobodyさん
2012/08/09(木) 20:35:28.78ID:???書き込むなかす
0522nobodyさん
2012/08/09(木) 21:53:08.28ID:DMpFXPo0Ou!! サンキュー
>>521
なぜまずいのでしょうか?
true と判定されちゃう?とか?
0523nobodyさん
2012/08/09(木) 21:54:01.87ID:???>テーブル上のレコードを全て削除した上で
オートインクリメント値を戻せよ
それなんですか?とかまた聞くなよ?調べろ
0524nobodyさん
2012/08/09(木) 22:40:10.77ID:/OApl7of0525nobodyさん
2012/08/10(金) 00:50:06.97ID:???0528nobodyさん
2012/08/10(金) 03:20:41.62ID:???延々質問してるわけだけど
0529nobodyさん
2012/08/11(土) 02:22:52.66ID:???DBに登録した設定で管理したいのですが。
0530nobodyさん
2012/08/11(土) 11:13:49.63ID:???タイミングによりますよ
普通は routes.php に記載しますから、その時点で独自にDB接続することになります。
routes.php よりも後で設定できますか?って質問なら、分からないけど多分CakePHPの想定外なのでやめた方が良いのと違う?ってことになります
0531nobodyさん
2012/08/11(土) 13:25:15.29ID:???亀レスだけど、CakePHP2ではAPIが変わってるからドキュメント読み直した方が良いよ。
loginError っていうプロパティは無くなってます。
0532nobodyさん
2012/08/11(土) 13:51:30.91ID:???そうですか・・。Wordpressにあるように
ユーザがルーティングパターンを選択できたらいいと思ってたんです。
無理と言うことなら諦めます。
0533nobodyさん
2012/08/11(土) 13:58:26.18ID:???0534nobodyさん
2012/08/11(土) 20:59:09.76ID:nk3X9t5Y$this->paginate = array(
'limit' => 3,
'order' => array('Foo.bar' => 'asc');
)
$this->set('foo',$this->Paginate());
としてもFoo.barのasc順になりません
数字を書き換えると1ページの上限がかわるので、1行目での設定が無視されてるわけではなさそうなんですが
どうすれば順番の指定ができますでしょうか?
ご教示お願いいたします
0535nobodyさん
2012/08/11(土) 22:14:02.92ID:???0536534
2012/08/11(土) 22:33:59.62ID:nk3X9t5Y念のため
'order' => array('Foo.bar' => 'asc');
を
'order' => array('Foo.bar asc');
に書き換えてみましたが順にならなかったです
よろしくお願いいたします
0537nobodyさん
2012/08/11(土) 22:41:47.17ID:???0538534
2012/08/11(土) 22:46:39.98ID:nk3X9t5Yありがとうございます
それでも順になりませんでした
念のため他にpaginateを指定してる個所がないかスクリプトにpaginateで検索をかけたところ、
$this->paginate = array(
と
$this->set('foo',$this->Paginate());
しかヒットしなかったので、どこかで指定しちゃってたってことでもないようです
0539nobodyさん
2012/08/12(日) 15:50:49.77ID:???Usersテーブルを認証用のテーブルとして使用しています。
id / email / password / created
イメージとしては下の感じで取れそうだったんですが。
$this->Auth->id
0540539
2012/08/12(日) 15:52:15.00ID:???0541534
2012/08/13(月) 03:34:01.92ID:DBWlC9mqと
$this->set('foo',$this->Paginate());
の第三引数にorderを設定したらいけました
0542nobodyさん
2012/08/14(火) 15:24:43.09ID:Gol/k/SD$this->Article->read(); // reads a third record
$record = $this->Article->data // stores the third record in $record
↑これでレコード取得できるんだけど、
$this->Article->id = 3;
$reacord = $this->Article->read();
↑これでも取得できなかったっけ?あれ?俺の勘違い??
今やってみるとNULLが帰ってきてる
$this->Article->data
ってやるとちゃんと取得できてる
今までのコードずっと
$reacord = $this->Article->read();
で取得してるコード書いてて、
それで確認できてるはずなんだけどな、、、??
0543nobodyさん
2012/08/14(火) 17:20:28.09ID:???後者の書き方でも問題ないはず。
そしてコアのModel::read()メソッド自体は1.2から特に変わっていない。
となると、考えられる原因は
1)自前で書いたbeforeFind()でしくじっている
2)ビヘイビアで何やら起こっている
3)AppModel.phpかArticle.phpでread()メソッドをオーバーライドしていて
コアのread()挙動が変わってしまっている
なんにせよ、debug()祭りで原因箇所を探すべし
0545nobodyさん
2012/08/15(水) 02:43:01.91ID:???PHP】下らねぇ質問はID出して書き込みやがれ 122
http://kohada.2ch.net/test/read.cgi/php/1344963135/
0546nobodyさん
2012/08/16(木) 04:28:57.25ID:4Ld1R7VY0547nobodyさん
2012/08/26(日) 17:18:00.39ID:???0548nobodyさん
2012/08/26(日) 18:14:00.41ID:+ThJuMom他フレームワークはSymfony, Ethnaあたりを少々
さて、CakePHP1.3+PHP5.3.3で質問です。
1. 実行中のControllerオブジェクトをViewで取得するにはどうしたらよいですか?
Controller::getInstance()とかないのかな?
View->set('controller', $this)とかを試したんですが、
DebugKitとの相性が悪く、な手を模索中です。
2. AuthコンポーネントをViewで呼び出すにはどうしたらよいですか?
Session('Auth.XXX')でも参照できるけど
なんかプライベート変数を盗み見ているようで気持ちが悪い。
ご存知の方がいらっしゃたらよろしくおねがいしますです。
0549nobodyさん
2012/08/26(日) 18:17:02.43ID:???0550548
2012/08/26(日) 18:22:47.13ID:+ThJuMom0551nobodyさん
2012/08/26(日) 18:40:22.53ID:lL3DBKkv0552548
2012/08/26(日) 18:46:51.19ID:+ThJuMom知名度の低さと日本語リソースの少なさでCakeに勝てなかったんだよ。
環境さえ整えばYiiはよい選択肢だよね。
0553nobodyさん
2012/08/30(木) 10:00:09.56ID:/uv7B1Aqなぜか下のプログラムも読み込みにいって困ってるんですがどなたか理由わかりませんか?
ちゃんと動いて止まってくれるところもあるけどなぜか動き続けるところもあって違いがわからないです。
0554nobodyさん
2012/08/30(木) 11:50:06.98ID:???ひょっとして afterRender とかのコールバック系じゃないの?
そもそもプロセスの終了はControllerでは制御しない。
Controller そのものを動かしている Despatcher がいろいろやってる。
0555nobodyさん
2012/08/30(木) 11:50:58.51ID:???(o)Dispatcer
0556553
2012/08/30(木) 12:27:23.14ID:/uv7B1Aq例えば、
if(!$this->Model>save($this->data))$this->flash("保存失敗",/index);
という感じに保存に失敗したら、真っ白の画面に「保存失敗」とだけ表示して数秒後に指定ページへ飛ばしたいのですが
実際はViewまで読み込んでしまう現状です。
exit()てきな動きをすると思ってたのですが、ひょっとして勘違いですか?
0557nobodyさん
2012/08/30(木) 13:58:28.85ID:???0558nobodyさん
2012/08/31(金) 11:00:18.38ID:???そういうときは2系だと Controller::redirect を使うんだけど、
その書き方だと1.3なのかな?
0559nobodyさん
2012/08/31(金) 13:18:33.55ID:???>>558
redirectとflashは別物だよー
0560nobodyさん
2012/09/07(金) 23:58:12.87ID:???cakephp2本も出るというのに
0561nobodyさん
2012/09/08(土) 00:41:43.49ID:???0562nobodyさん
2012/09/08(土) 01:18:50.89ID:???2chで情報交換する時代じゃなくなったよな
0564nobodyさん
2012/09/08(土) 02:31:39.98ID:???かといって公式コミュニティはなんかお堅い感じがするし、ブログに書いても反応があるかわからないし
でもcodeなにがしが転けたりしているのを見ると技術者向けコミュニティっていうのは本当に運用が難しいんだろうな
>>563
29日だとか
執筆陣から期待が高いぜ
http://www.amazon.co.jp/dp/4774153249
0565nobodyさん
2012/09/08(土) 09:50:55.77ID:???2chがオワコンなのが原因
最近どこのスレでも会話が成立しなくなってきてて困る
0566nobodyさん
2012/09/08(土) 11:04:20.78ID:???ブラウザの「最近読み込んだスレ」のほとんどが、俺の書き込みで止まってる
内容は普通だから、俺が悪いんじゃないぞ
0567nobodyさん
2012/09/08(土) 12:32:12.69ID:???専門板が過疎ってるだけ
なぜなら未だにsage進行にこだわったり
質問したらテンプレ嫁、みたいな10年前から進歩してないオッサンが
幅きかせてうざいから
0568nobodyさん
2012/09/08(土) 12:52:04.55ID:???auひかりとか使ってたらほぼ書き込めないだろ?
0569nobodyさん
2012/09/08(土) 13:21:35.98ID:???公式フォーラムとかその辺がかわりに賑わっているわけでもないし
0570nobodyさん
2012/09/08(土) 14:40:44.18ID:???もう1.x系のリリースはないだろう
しかし2.x系のリリースはバージョンアップが激しくて手が出しにくいな
2.0、2.1、2.2と4ヶ月スパンくらいで出てないか?
1.2から1.3までは1年半くらいかかったのに
0571nobodyさん
2012/09/08(土) 14:57:41.60ID:???対応めんどくさいから新規案件もガンガン1.3使い回して作ってる
うちみたいな零細には余計な手間かける余裕が一切ないからな
0572nobodyさん
2012/09/08(土) 15:32:24.19ID:???ツイッターで独り言つぶやき続けてる印象
あいつらマジで非コミュだな、匿名掲示板で議論もできないのかよ
0575nobodyさん
2012/09/08(土) 16:36:12.19ID:???更新はともかく、新規案件なら2系で作ってもメリットはあると思う。
0576nobodyさん
2012/09/09(日) 19:53:39.13ID:???ちょうどcakeで作ろうと思ってたのに…
今なら変えられるけど代わりのいいフレワないのだろうか…
0577nobodyさん
2012/09/09(日) 20:05:22.24ID:???使ったことないけど
0578nobodyさん
2012/09/09(日) 20:19:59.28ID:???0579nobodyさん
2012/09/09(日) 20:26:41.47ID:???一回お試しで簡単に触ってみるか
なんかcakeと似てるらしいし
どうもです
0580nobodyさん
2012/09/09(日) 20:41:24.37ID:???2009年あたり以降、日本ではあまり使われていない気がするが
0581nobodyさん
2012/09/09(日) 20:50:36.97ID:???1.Xのとか情報が古くても
0582nobodyさん
2012/09/10(月) 15:53:53.54ID:???まぁ、PHP自体があれかもしれんがな
0583nobodyさん
2012/09/10(月) 16:01:44.70ID:???openpneだって2までは良かったんだけど3からシンフォニー()とか変なの採用してクソ重くなっただけでなくカスタマイズ性も落ちた
0584nobodyさん
2012/09/10(月) 16:20:01.42ID:???利用者にはほとんどメリット無いよ
0586nobodyさん
2012/09/11(火) 03:14:36.56ID:???前から騒いでる Yii ってのでも覗いてみようと思ったら
そっちのサイトも落ちてるじゃねーかw
>>585
前からことあるごとにYiiの宣伝に勤しんでるようだが、
(別人かも知れないがな)
どう良いのか書かねぇと誰も話を聞いてくれんぞ
0587nobodyさん
2012/09/11(火) 04:59:28.19ID:???0588nobodyさん
2012/09/12(水) 00:44:18.90ID:???一般 > ファイルの関連付けで
*.ctp をしっかり PHP エディター(デフォルト)に関連付けて
いるにも関わらず、Eclipseから*.ctpファイルを開いても
*.phpファイルを開いた時のフォントが適用されていません。
どこか設定が間違っているのでしょうか?
0589nobodyさん
2012/09/12(水) 00:59:24.23ID:???標準のバリデーションを使わずに、
自前でController内でバリデーション処理を組み込んでいるのですが
こーいうことはしないほうがやっぱり良い?
0590nobodyさん
2012/09/12(水) 01:03:11.83ID:???0591nobodyさん
2012/09/12(水) 01:08:25.46ID:???実は、まだcakePHPのバリデーション機構をあまり理解していなくて(時間がないので)
既存のPHPの知識だけでコントローラ内でバリデーション処理を組んでます。
(FW使ってる意味ねーじゃんw)
0592nobodyさん
2012/09/12(水) 01:10:40.04ID:???0593nobodyさん
2012/09/12(水) 02:19:19.08ID:???コントローラは質素に作るのが定石。
そのやり方はたぶんまずい。
使い方が分からなければ、ロジックをモデルに書いておいて後でリファクタリング。
0594nobodyさん
2012/09/12(水) 02:33:05.48ID:???アドバイスサンクスです。
※現在は、モデルは形上テーブル数分用意してますが
特にこれといったコードを書いていないです。。。
おいおい勉強してゆきます。
0595nobodyさん
2012/09/12(水) 02:45:41.26ID:???まずこれを読むといいと思ってどこかに上がってた翻訳を探してたんだが
見つけられなかったスマン。
http://bitfluxx.com/2008/01/23/cakephp-best-practices-fat-models-and-skinny-controllers.html
概要はここでわかる。
http://blog.syuhari.jp/archives/172
俺も始めコントローラにゴリゴリ処理を書いて納品したあとで
この知識を知って、この記事を早く読めばよかったと心から悔やんだ。
コントローラに複雑な処理を書くとあとで泣きを見る確率激高だ。
趣味でやってるんならじっくり覚えていけばいい。
0596nobodyさん
2012/09/12(水) 05:14:49.77ID:???ありがとうございます。
モデルの本来の使い方をやっと知った感じです。
コントローラに何でも詰め込んでいましたが
モデルに検索機能とかを移動させたら大分コードがすっきりしました。
0597nobodyさん
2012/09/12(水) 10:25:29.96ID:???ユーザー入力からのデータを保存する際には使った方がいいのか
0598nobodyさん
2012/09/12(水) 11:06:09.67ID:???0599nobodyさん
2012/09/12(水) 13:35:01.67ID:???0600nobodyさん
2012/09/12(水) 14:33:36.86ID:???2日ぐらい調べているけどわからない
海外フォーラムとか見ても多発してるが解決策がない模様
1.3に戻すか…
0602nobodyさん
2012/09/12(水) 18:21:16.88ID:???古いバージョンのなら出てくるんだけど、当然試してもダメだった
よく調べるとリダイレクトすると空になるんじゃなくて、
リダイレクト前後でsession_id()が異なる値を返し、リダイレクト前にwriteした値が正しく保存されてないようだ
何故こうなるのかがわからない
0604nobodyさん
2012/09/12(水) 19:19:58.01ID:???1.3も1.3.10ぐらいまではひどいバグあった、テーブル全消し喰らったり
0605nobodyさん
2012/09/12(水) 19:24:44.80ID:???0606nobodyさん
2012/09/12(水) 20:06:50.64ID:???0607nobodyさん
2012/09/12(水) 23:23:35.18ID:???なんでもcakeのバグとか言わない。
0609nobodyさん
2012/09/13(木) 07:33:06.03ID:???APIでのユーザ認証はどんな風に実装するのが普通でしょうか?
APIへのセッション情報の受け渡し方法が判らないです・・・
0610nobodyさん
2012/09/13(木) 08:19:36.38ID:???0611nobodyさん
2012/09/13(木) 10:08:21.91ID:???0613nobodyさん
2012/09/13(木) 11:11:51.90ID:???0614nobodyさん
2012/09/15(土) 18:54:29.08ID:???って名前のテーブルを定義しようとしたら
score_dailies にしろってエラーがcakeから返されるんだけど
どうも daily は形容詞であり、複数形など無いので
凄く納得が行きません。
テーブル名称は、複数系にしなくちゃならないのでしょうか?
0615nobodyさん
2012/09/15(土) 18:58:42.11ID:???いやならmodelにuseTableで指定すればいいだけ
0617nobodyさん
2012/09/17(月) 13:46:54.01ID:???それ以下の行は実行されないという認識であってまっすか
0620nobodyさん
2012/09/18(火) 10:50:35.32ID:???core.phpで Configure::write('debug', 0);としていても、エラー時にCakeのエラー表示が出てしまいます
出さないようにするにはどこで設定するのでしょうか?
0621nobodyさん
2012/09/18(火) 22:18:22.36ID:???0622nobodyさん
2012/09/18(火) 22:38:41.86ID:???引き続き調べていてわかったのは、PHPにエラーがある場合にそうなります。
存在しないURLを入れた場合には、CakePHPのエラー表示用の?ソースコードが吐かれます。頭にCakeのコメント付きの。
これでは困るので、なんとかならないでしょうか。何かおかしいと思うのですが…。
エラーがなければ正常に動いています。
0623nobodyさん
2012/09/19(水) 00:47:19.09ID:???0624nobodyさん
2012/09/19(水) 08:58:59.05ID:???0625nobodyさん
2012/09/19(水) 10:46:33.83ID:???モデルの遅延読み込みで速くなったって、アソシエーション使ってなければ関係ないんじゃないの?
0626nobodyさん
2012/09/19(水) 16:01:01.46ID:???http://d.hatena.ne.jp/cakephper/20120828/1346162341
0628nobodyさん
2012/09/19(水) 16:28:46.26ID:???>>626見ると、バージョンアップしていく毎に遅くなるのか。
まぁ、機能が増えるから遅くなるのはわかるけども
0629nobodyさん
2012/09/19(水) 16:56:44.01ID:???DBをメモリに乗せてないだろうからDB接続を確立させるコストが一番高いんだろうな
そういう意味じゃどのFW使っても大差ないと思うし、バージョンの差分などは気にするほどでもないと思う。
0630nobodyさん
2012/09/19(水) 16:58:04.41ID:???0631nobodyさん
2012/09/19(水) 18:20:17.13ID:???0632nobodyさん
2012/09/19(水) 19:49:16.34ID:???0633nobodyさん
2012/09/19(水) 20:54:32.34ID:???0634nobodyさん
2012/09/20(木) 01:40:17.08ID:???0635nobodyさん
2012/09/20(木) 04:06:56.13ID:???0636nobodyさん
2012/09/20(木) 10:15:47.13ID:???0637nobodyさん
2012/09/20(木) 10:32:10.03ID:ir1LF+Ba各アクションのsetメソッドで1つづつ値を渡す方法でなく
AppControllerから一括でViewの全てのディレクトリのctpに変数を渡す方法ってありますか?
0638nobodyさん
2012/09/20(木) 10:52:45.15ID:???0639nobodyさん
2012/09/20(木) 11:02:18.03ID:???掲示板を作っていて、スレタイモデルとレスモデルが
スレhasManyレス
レスbelongsToスレ
になっているのですが、レスが追加された際にスレのmodifiedを自動更新する方法ないでしょうか?
counterCacheを使うとレス数カウントはできるのですが、更新時刻も取りたいです
0641nobodyさん
2012/09/22(土) 18:00:13.95ID:???0642nobodyさん
2012/09/22(土) 18:06:13.12ID:???findやsaveを1回する度にCPUが悲鳴を上げているような気持ちになる
気になるので今度lib以下のソース見てみるか
使わない機能はばっさりコメントアウトとかしちゃおうかな
0643nobodyさん
2012/09/22(土) 18:12:35.09ID:???0644nobodyさん
2012/09/22(土) 19:00:02.06ID:???0645nobodyさん
2012/10/01(月) 00:47:57.77ID:fpJxZWOxファイルが指定されていたらファイル形式、ファイルサイズなどをバリデーションにかけて、
指定されていなかったらかけない、という書き方がわかりません
どうしたらいいんでしょうか?
0646nobodyさん
2012/10/01(月) 02:38:43.69ID:???どこで躓いているのかもよく分からないし、
CakePHPのバージョンも分からないので答える気が失せる質問だから、
何となくvalidate 系のコールバックをうまく使えばいいじゃんとしか言えない。
0647nobodyさん
2012/10/01(月) 05:38:17.07ID:???//ファイルがアップロードされた場合のバリデーション
} else {
return true;
}
素のPHPで言うと、こういう事じゃないの?
0648nobodyさん
2012/10/01(月) 07:27:09.08ID:qwXCS9RT$form->file()でファイル渡せる状態になってるフォームで、
そこにファイルを指定したときだけファイルの中身のバリデーションをかけたいってことです
>>647
ありがとうございます
allowEmptyみたいな感じで、
<input type="file">にファイルを指定していなければバリデーションルールはスルーする
みたいな簡単にできるものってないんでしょうか?
0649nobodyさん
2012/10/01(月) 10:28:51.05ID:???0651nobodyさん
2012/10/01(月) 10:30:55.20ID:???0652nobodyさん
2012/10/01(月) 20:09:57.83ID:fpJxZWOxありがとうございます自作してみます
>>650
echo Configure::version();してみたら1.3.8って出ました
書き漏れすみません
>>651
allowEmptyでは無理でした
普通にエラー警告(ファイルの形式を見て、jpgでなければ警告を出すようにしてました)が出ました
0653nobodyさん
2012/10/01(月) 21:49:36.94ID:???2のリリースから1年も経って、やっとまともな本が一冊
うれしい
0655nobodyさん
2012/10/02(火) 01:23:26.02ID:???何故2系を使わないのか
0656nobodyさん
2012/10/02(火) 03:11:43.69ID:???0657nobodyさん
2012/10/02(火) 15:09:48.22ID:???0658nobodyさん
2012/10/02(火) 18:17:45.17ID:???0659nobodyさん
2012/10/02(火) 18:23:04.39ID:???0661nobodyさん
2012/10/07(日) 03:32:25.58ID:vSsbr+AJエラーメッセージをまとめて一箇所に表示する方法ってある?
0663nobodyさん
2012/10/07(日) 15:15:02.59ID:???ログ見るべし
0664nobodyさん
2012/10/12(金) 18:03:03.50ID:zHaiJKat僕が思いつくのは、
app_controller.phpのbeforeFilter()に、
アカウントテーブルのlastloginに現在の時間をupdateする方法です
ログインのアクションに記述すると、
クッキーで自動ログインしている際などはそのアクションを通らないので不適切でした
なにか他に良い方法ありますでしょうか??
0665nobodyさん
2012/10/12(金) 23:39:10.35ID:???0666nobodyさん
2012/10/16(火) 15:59:26.74ID:???「外注が作ったCakeのコードが糞だから書き直した」的なブログ記事。
「お前のコードも糞じゃねぇか」って叩かれてワロタw
てか、俺の書き方が意外と駄目じゃないと知っただけでも収穫あったぜ
0667nobodyさん
2012/10/17(水) 20:17:29.91ID:???0668nobodyさん
2012/10/17(水) 20:54:19.04ID:???これかな
0669nobodyさん
2012/10/18(木) 00:28:24.24ID:???「プロになるためのPHPプログラミング入門」という本が良さそうと思ったんですが、
ver1.3基準で書かれているようです。
cakePHP2を勉強するうえで、1.3基準の本は有用でしょうか?
0670nobodyさん
2012/10/18(木) 01:17:25.05ID:???もうcake2の本はあるんだからそっち選びなさい。
CakePHP2 実践入門 は評判良いぞ。
0671nobodyさん
2012/10/18(木) 23:55:26.47ID:???670に同じく今さら1.3の本を読むのは時間のむだ。
公式のチュートリアルを何回も繰り返して手順を身体に覚えこませてから
>>670 の本を読むといいと思うよ。
0672669
2012/10/22(月) 14:14:23.93ID:???0673nobodyさん
2012/10/24(水) 12:14:02.26ID:???Authコンポーネントのログインで、認証条件を付ける時、
以下のようにすればOKとあったのですが、条件が適用されません。
書き方が違うのでしょうか?
$this->Auth->userScope = array( 'User.status'=>1 );
0674nobodyさん
2012/10/24(水) 14:29:36.53ID:???同コントローラの別アクションへredirect処理が行なわれなくなりました。
$this->redirect(コントローラ名:アクション名)を試してみても
$this->redirect(相対パスor絶対パス)の形でも
どちらの形式でも正しくリダイレクトが行なわれていないようです(真っ白なページが表示される)
何か間違っているのでしょうか
0675674
2012/10/24(水) 15:50:39.87ID:???お騒がせしました
0676nobodyさん
2012/10/24(水) 16:28:04.62ID:???それ、1.3の書き方なんじゃないの?
よく分からんけど公式ドキュメントにそんなプロパティ載ってないよ
1.3ならあったみたいだけど
>>674
真っ白=debugモードが0でいいのかな?
だとしたらキャッシュクリアしてみた?
0678673
2012/10/25(木) 09:13:43.26ID:???ありがとうございます。
自分もソースを見直したら、以下のようにしたら実行できました。
$this->Auth->authenticate = array(
'Form' => array(
'scope' => array('User.status' => 1)
)
);
0679nobodyさん
2012/10/26(金) 15:07:41.06ID:???これってモデル(ビヘイビア)の処理ですかね?
コントローラ側でエラーチェックとかアップロード先のパスとか書いていくと
長くなるのでどうすれば納まりが良く、使い回しが利くかと悩んでいます。
0680nobodyさん
2012/10/26(金) 15:44:39.23ID:???効率化よりも今まで書いていた方法で行きます。
0681nobodyさん
2012/10/26(金) 17:58:57.48ID:???あとプラグインもいいのあるけど、何で使わないの?
0682nobodyさん
2012/10/26(金) 19:01:29.27ID:???自分の使い方だと、コントローラの方が良いと思いまして。
例えば、一度アップロードしたファイルはセッションに入れて、
フォームのその他の項目にエラーがある時は、
そのセッションを表示して再アップロードさせない。
みたいな処理を入れる時、セッションコンポーネントを使うので、
モデル内で解決するより、コントローラの方が簡単だと思いまして。
あと、プラグインも小回りが利かないんです。
ファイル名をいくつかのパターンで生成したい時とか、
最初は仮フォルダにアップして、save前に公開画面のフォルダに移動するとか
そういう細かい仕様に対応するには自作の方が便利なんです。
ファイルアップロードの仕組みを自作する事自体は簡単ですし。
0683nobodyさん
2012/10/26(金) 19:24:22.60ID:???テーブル無しのUploadFileモデルとか作った方が小回り効くような気がする・・・
0684nobodyさん
2012/10/28(日) 17:11:17.13ID:???コントローラーからビューにメンバ変数の連想配列を渡したいのですが、躓いています。
下記の Controller にて、
class UserController extends AppController {
var $hoge = array();
public function beforeFilter() {
$this->$hoge['foo'] = 1;
$this->set(compact('hoge'));
}
}
として View 側で$hoge['foo']を呼び出そうとして、
Undefined variable: hoge
のエラーが返ります。
compactを使用しない場合でも同様でした。
http://book.cakephp.org/2.0/ja/controllers.html#Controller::set
を参考に考えてみたのですが、何か思い違いをしていますでしょうか?
0686nobodyさん
2012/10/28(日) 17:25:23.15ID:???すんなり解決しました。ありがとうございます。
提示内容を見て、どう思い違いをしていたのか理解しました。
これに半日かけてドキュメントを漁っていましたが、もう少し基本を勉強したいと思います。
0687nobodyさん
2012/10/29(月) 12:31:19.66ID:???一度だけ使えるクーポンを定義しようとしていて
'Model.coupon' => 'hoge'
で保存しておいて
checkルーチンで
'Model.coupon' => 'hoge'でfindし、見つからなければfalse
見つかったら'Model.coupon'=>'' でからにしてsave後 trueを返す。
というのを作ったのですが、 saveするとfalseが返ってきます。
saveをしなければ trueのまま返るのですがなぜなのでしょうか?
0689687
2012/10/29(月) 13:21:50.79ID:???SQLのダンプを表示させたところ
findのSQLは どちらも同じなのですが、Num.rowsが saveした方では0になります。
save後にfindが走っているってことでしょうか
0690nobodyさん
2012/10/29(月) 13:44:36.50ID:h036kd/wこの中で定義したメソッドに引数を渡す事ってできないの?
CUIから内部で定義したメソッドをキックすると
Warning Error: Missing argument 1 for HogeShell::Test()
っていうエラーが出ちゃうんだけど。
0691nobodyさん
2012/10/29(月) 13:55:16.32ID:???0692nobodyさん
2012/10/29(月) 15:09:32.64ID:???以下のようなモデルがあるとして
A hasMany B
B belongsTo C
A.id = 1のCのリストを取得
$this->A->find('all', 'conditions'=>array('A.id'=>1))として
取得した中のBの中に含まれるCをとってくるしかないのでしょうか
SQL文としては以下のようなものを想定しています。
SELECT C.* FROM A, B, C WHERE A.id=1 AND A.id = B.a_id AND C.id = B.c_id
0693692
2012/10/29(月) 15:56:52.28ID:???お騒がせしました
0694687
2012/10/29(月) 16:35:42.03ID:???SQLダンプと結果の出力
exit;
save();
だと、SQLダンプと結果はNumrows = 1 (データ更新されていないので何度呼び出しても、、)ですが
find();
SQLダンプと結果の出力
save();
だと SQLダンプは同じで、Numrows=0になります。
後ろで行った saveが 前に書かれたfindに影響を与えるというのがどうしてなのかがわかりません。
0695nobodyさん
2012/10/29(月) 16:45:00.54ID:???0696687
2012/10/29(月) 16:49:40.01ID:???1. SELECT 文 Num.rows = 0
2. SELECT COUNT文
3. UPDATE 文 Num.rows = 1
となっていました。
3の結果が1へ影響しているみたいです。
0697nobodyさん
2012/10/29(月) 19:04:11.24ID:h036kd/wマニュアルのどこにかいてんのさ。
0698nobodyさん
2012/10/29(月) 19:18:29.22ID:???0699687
2012/10/29(月) 19:20:25.68ID:???へんな機能拡張がページを2回呼んでたみたい
0701nobodyさん
2012/10/30(火) 16:38:01.14ID:sDbMhdsyサンキュー。
あと
$contents = @file($reading_file_name );
の @ ってなに?
0702nobodyさん
2012/10/30(火) 16:42:13.00ID:???https://www.google.co.jp/search?q=php+%E3%82%A2%E3%83%83%E3%83%88%E3%83%9E%E3%83%BC%E3%82%AF&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
0704nobodyさん
2012/10/31(水) 01:06:58.14ID:???0706nobodyさん
2012/10/31(水) 15:08:44.33ID:???formヘルパから作られるgetをrest的なpassedArgs形式で渡したいッス。
example.com/controller/action/arg1:val1/arg2:val2/?arg3=val3
ってなってるヤツを
example.com/controller/action/arg1:val1/arg2:val2/arg3:val3
としたいッス。
js使えば行けるし受け側でgetの処理をすればいけるんだけど、こうすれば楽じゃね?的なご指摘あればうれしいです。
>>671
現状はactionでgetとごちゃまぜにしたり、場合によってはappControllerでget優先で$this->passedArgsを書き換えてる感じッス。
0707nobodyさん
2012/10/31(水) 15:10:54.24ID:???0708nobodyさん
2012/10/31(水) 19:38:39.19ID:???バージョン書けって
2系ならある程度分かってるから教えられるけど、
passedArgsってパラメータは1.3系なのかよ?
0710nobodyさん
2012/10/31(水) 22:21:21.64ID:???http://api.cakephp.org/class/form-helper#method-FormHelpercreate
FormHelper::create($mode, $options) の、第2パラメータ $options に、
'url'をキーとしたパラメータをセット。
'url' の値は string | array で、そういうパラメータを渡したい場合は
連想配列で構造を渡す。
CakePHPのルータがこの連想配列のURLパラメータと現実のURLを相互変換するのは理解OK?
で、通常のURLパラメータに該当しないキーで値をセットすると、
・・・つまり
array('arg1'=>'val1', 'arg2'=>'val2')
のようにやると、やりたいことができる。
0711nobodyさん
2012/10/31(水) 22:50:43.25ID:???formにゅうりょくちをコロンセパレートにしたいんだろ
formってそういう仕様だから、自分で言ってるとおりjsでがんばる。それかばかだけどリダイレクトしちゃえ
0712nobodyさん
2012/10/31(水) 23:58:50.04ID:???0713706
2012/11/01(木) 11:41:29.98ID:???結局ちまちまやるっきゃないぽいっすね〜。
みんなそうしてるんかね〜。マンドクサ
0714nobodyさん
2012/11/01(木) 13:50:06.03ID:???長時間、あれやこれやと試すことがあるけど、
目的は「動く」事だから、効率化や綺麗なソースよりも
まずは動くことを目指してやると良いよ。こだわりすぎはいかんぞ。
0715nobodyさん
2012/11/01(木) 15:07:46.14ID:???ビューからrequestActionでカテゴリを取得しようとしているのですが、
$this->requestAction('/widget/category');
widgetコントローラにcategoryアクションが無い場合は
どうすればいいのでしょうか?
単なる構文ミスでエラーになるのですが、
存在確認みたいなコードがあれば教えてください。
0716nobodyさん
2012/11/01(木) 16:54:03.16ID:???納品してポイなら良いんだけどね〜。
何年か自分たちでメンテしていくことになるときには気分の良いコードの方が精神衛生上いいなぁと。
まぁそうは言ってもね、一年前のコード見てすごく気分悪くなるんですけどねw
0717nobodyさん
2012/11/03(土) 21:12:09.24ID:nZj97DWzid じゃなくて login_id にしたいんですけど、この列名って固定なんでしょうか?
0718nobodyさん
2012/11/03(土) 21:18:17.79ID:X1g36ZBW0719nobodyさん
2012/11/03(土) 21:43:28.47ID:???primaryKey を login_id に設定した上で
下記コードを記述しました。
<td><?php echo $this->Form->input('login_id',
Array('label' => false,'style' => 'width:150px;')); ?></td>
するとなぜか、コンボボックスが表示されてしまうんですけどなんでしょうか?
0720nobodyさん
2012/11/03(土) 22:58:33.57ID:???0721nobodyさん
2012/11/03(土) 23:04:10.03ID:???0722nobodyさん
2012/11/03(土) 23:10:32.22ID:???FormHelper::input は、オプションの自動補完機能があるんですよ〜
で、***_id っていうフィールド名の場合、フォームのデータ型を指定しないとselect扱いになるというわけ。
それを回避するには、オプションで明示的に'type'を'text'とかに指定する。
0724nobodyさん
2012/11/04(日) 00:44:08.63ID:???public
$uses = Array('User'),
$components = Array(
'Session',
'Auth' => Array(
'loginRedirect' => Array('controller' => 'admins', 'action' => 'index'), // ログイン後のリダイレクト先
'logoutRedirect' => Array('controller' => 'admins', 'action' => 'login'), // ログアウト後のリダイレクト先
'loginAction' => Array('controller' => 'admins', 'action' => 'top'), // ログインしていない場合のリダイレクト先
'authenticate' => Array('Form' => Array('fields' => Array('username' => 'email')))
)
);
そしてブラウザより
/admins/add にアクセスすると問題無く /admins/addのコントローラが実行され
/Views/Admins/add.ctp が表示されるのですが
/admins/addcustomer にアクセスすると、/admins/top に飛ばされてしまいます。
なぜ、/admins/add がリダイレクトされないのに /admins/addcustomer だと
リダイレクトされてしまうのでしょうか?
※add() { //略 } をコピーして作成したコントローラ内のファンクションが addcustomer () { //略 }となります。
0725nobodyさん
2012/11/04(日) 11:00:47.88ID:???0726nobodyさん
2012/11/04(日) 12:56:08.07ID:???ニュースリリース見ると2006年で登録止まってるし、管理者からは放置されてるのかな?
フォーラム自体の投稿はぼちぼちあるから古参だけの閉じた環境になってる?
0727nobodyさん
2012/11/04(日) 13:01:18.74ID:???知らんけど
0728nobodyさん
2012/11/04(日) 13:16:21.36ID:???0729nobodyさん
2012/11/04(日) 19:10:28.20ID:???0730nobodyさん
2012/11/04(日) 21:38:37.79ID:eiB+7ElRそのうち、1)と2)で入力された値の組み合わせのチェックを
独自バリデーション内で行いたいのですが
どうすれば、独自バリデーションファンクション内でサブIDの値を
捕捉する事が出来ますか?
1)基本ID ( basic_id )
2)サブID ( sub_id )
public $validate = Array(
'basic_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectId', 'ダミーの引数'),
'message' => '独自バリデーションの結果エラーが出ました。。'
)
function isCorrectId($data, $dummy_args)
{
$basic_id = $data["basic_id"];
$sub_id = {サブID}; ← どうやって取得したらいいか分かりません。
return true;
//return false;
}
0731730
2012/11/04(日) 21:56:02.04ID:eiB+7ElRはまりまくってます。
0732nobodyさん
2012/11/04(日) 22:07:20.84ID:???バージョン不明なので2と仮定して、
定石的に Model に定義しているのを前提に。
Post されたデータなら
$this->data['Model']['basic_id']
$this->data['Model']['sub_id']
で参照出来ると思うけど、何でわざわざ関数に引数渡すの?
あと”ダミーの引数”って書き方だけだと配列で渡しているか不明なんだけど、
配列で渡してないから参照出来ないんじゃないのか?
0733nobodyさん
2012/11/04(日) 22:10:34.23ID:???数レス進んでいる中でスルーされているんならわかるが、
無レスで催促求めるんなら2ch向いてない、ヤフー知恵袋あたりに帰れ
0734730
2012/11/04(日) 23:39:10.86ID:eiB+7ElRありがとうございます。
次の様に項目毎に独自バリデーション関数を指定したところ
ファンクション内で var_dump($data); をしたら
画面上の入力項目(基本ID、サブID)の値も取得出来る様になりました。
public $validate = Array(
'basic_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectSequenceNumber'),
'message' => '独自バリデーションです。'
)
),
'sub_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectSequenceNumber'),
'message' => '独自バリデーションです。'
)
),
0735730
2012/11/04(日) 23:46:59.54ID:eiB+7ElRで、いけると思ったんですけど
結局バリデーションファンクションに値が入って来るのは
1項目毎なのですね。。。
基本ID と サブID の値を同時に絡めて独自判定処理を入れたいのですが
1つのファンクションじゃできないみたいです。
ちょっと回りくどいけど、外部ファイルにパラメータを保存して
よみとってやるしかないんでしょうか?
※cakePHP2 を使用しています。
0736730
2012/11/05(月) 00:05:07.80ID:Ag4y5/HLコントローラの中でモデルの中で定義した独自バリデーション
ファンクションを呼べばいいんですね。
すると data の中には画面上で入力された値全てを
取得する事が出来ました。
0737nobodyさん
2012/11/05(月) 00:43:14.75ID:???したらそもそもCakePHP使わずに他の Framework 使えば良いのに。
あと>>732で書いていることを全く理解してないのな。
isCorrectSequenceNumberの中身も書いてないし、そんなんで
アドバイス出来るのはエスパーだけだから知恵袋帰れ。
なんか>>713に通じる者がある。
0738nobodyさん
2012/11/05(月) 04:25:36.32ID:???0739nobodyさん
2012/11/05(月) 11:46:36.35ID:eArr6OfY↑
これはどーいう効果があるのさ^^?
0740nobodyさん
2012/11/05(月) 18:02:18.24ID:???0741nobodyさん
2012/11/05(月) 18:33:53.33ID:eArr6OfY臭いレスをありがとう
0742nobodyさん
2012/11/07(水) 11:03:27.13ID:???今まではifやswitchで分けて1つのコントローラ内で納めてたんだけど、
よく考えたら、コピーしてアクション分けした方が見やすいと思うようになった。
ただ、コントローラのソースが増えるからと言って
分けすぎるとスパゲティコード化するし、本末転倒な気がする。
みんなはどういう理念の元、開発してる?
0743nobodyさん
2012/11/07(水) 11:32:44.89ID:DVy9uKriCakeでテーブルのカラムのコメントを取得・更新する方法を教えてください
0744nobodyさん
2012/11/07(水) 13:21:38.42ID:???0745nobodyさん
2012/11/07(水) 13:40:48.60ID:???0746nobodyさん
2012/11/07(水) 14:08:49.06ID:???依存なんですか?
0747nobodyさん
2012/11/07(水) 17:42:47.92ID:???CakePHPベストプラクティスとかfatモデルとかでぐぐれ
まさに解決策が載ってる
ポイントは
ややこしい処理は全部モデルへ移せ
パラメータだけコントローラにおいて置けばいい
って感じ
0748nobodyさん
2012/11/07(水) 20:09:38.47ID:???0749nobodyさん
2012/11/07(水) 21:01:57.66ID:???モデルを小分けしてアクションの数だけ作ったらいいという話も聞いたが、
Modelディレクトリの直下に並列保存は正直きついな。
もう少しオートローダが強力だと独自に階層作れそうなんだけど。
0750nobodyさん
2012/11/07(水) 22:01:19.49ID:???階層たどって何がどう連携しているかわかりづらくなると思うよ
0751nobodyさん
2012/11/07(水) 23:02:38.91ID:???0752nobodyさん
2012/11/07(水) 23:11:41.84ID:???規模毎にみんなでコードレビューをしたい
0753nobodyさん
2012/11/07(水) 23:39:08.77ID:???どこで何してるか把握するのに時間がかかる
0754nobodyさん
2012/11/08(木) 02:24:42.59ID:???0755nobodyさん
2012/11/08(木) 16:45:25.90ID:???結果的には、modelキャッシュが利いていたのが原因だった。
本番サーバだから、debugレベルも0にしていたので気づくのが遅れたんだけど、
今後の運用に対して良い方法無いかな?
やっぱり、何かDBを操作したら手動でキャッシュ削除するしかないのだろうか
0756nobodyさん
2012/11/08(木) 20:03:29.72ID:???普通にModelのSave系やDeleteのメソッド使えば自動でキャッシュクリアしてくれるはず
そうでないなら自分で消すことになるよ
Modelのソース見てみると何やってるかわかるはず
http://api20.cakephp.org/view_source/model
0757nobodyさん
2012/11/10(土) 18:06:28.89ID:???0758nobodyさん
2012/11/10(土) 20:59:34.75ID:???0759nobodyさん
2012/11/10(土) 21:45:57.01ID:???ってか基本的なクラス・オブジェクトの概念がないとCake厳しいだろ
0760nobodyさん
2012/11/10(土) 22:17:58.60ID:???役に立たない。
cakeに限らずfwは効率を求めるために
純粋なオブジェクト指向から無理してるところがある。
0761nobodyさん
2012/11/10(土) 22:41:59.32ID:???幽霊を追いかけるのはやめろ
0762nobodyさん
2012/11/11(日) 03:32:21.94ID:???あまりオブジェクト指向の勉強・・・って感じにはならないけど、
ビヘイビアなんかを自分で作ってみると勉強になると思うよ
0763nobodyさん
2012/11/11(日) 12:27:53.87ID:???PHPのオブジェクト指向そのものは言語仕様の一つのオプションみたいなものだから、
オブジェクト指向を勉強の目的とするにはあまり向いてない。
Cakeとか開発してる連中なんかはPHPだけやってるわけじゃなくて、
いろんな引き出し持ってるからこそ実装できてる箇所も多いと思う。
プログラムの初心者で、オブジェクト指向そのものを勉強したいならJavaがいいんじゃないかな。
別にC#でもいいかもしれないけどいろいろ金がかかる。
Javaはその点書籍もたくさんあるし、無料の資料とかも十分以上あって申し分ない。
0764nobodyさん
2012/11/11(日) 17:01:18.82ID:???条件によって joinsでテーブルをLEFT JOINさせようと思っているのですが
joinsを入れてできたSQL文を見ると まずjoinsが入ってから、アソシエーションのLEFT JOINが書かれています。
自分の joinsを後ろに持ってくることはできないでしょうか?
0765764
2012/11/11(日) 17:37:42.08ID:???A belongsTo B
B belongsTo C
で、Aの条件と Cの条件でAのリストをとりたかったので A->findでどうにかしようとしてましたが
B->find でとってきた Aを使えばよかったようです
0766nobodyさん
2012/11/11(日) 17:59:06.36ID:63qzaIYV0768nobodyさん
2012/11/14(水) 16:10:58.98ID:???試してないが、コードを見る限り同じっぽいから直ってないんでない?
1の時ハマったからalphaNumericは自作を使ってる
0769nobodyさん
2012/11/16(金) 16:04:19.01ID:WLRp6A/S画面更新を伴わず、モデルで定義したバリデーションルールでバリデーションをかける方法を探しております。
jQueryで $("form").submit(function() {)
0770nobodyさん
2012/11/16(金) 16:06:53.33ID:???jQueryで $("form").submit()
でフォーム送信ボタンが押された時のアクションを拾ってあげて、
そこからフォーム全体をコントローラに渡し、バリデートを行いたいのですが、
「フォーム全体をコントローラに送る」をどう記述していいのかわかりません。
よろしくお願いします。
0771nobodyさん
2012/11/16(金) 16:17:17.30ID:???0772nobodyさん
2012/11/16(金) 16:34:43.12ID:???あと、submit押した時にajaxにデータ投げて結果を受け取って
エラーがある場合はsubmit止めるって処理になるわけだけど、
そう言う想定は出来てるの?出来てるならやっぱりCakeは関係ないよ
0773nobodyさん
2012/11/16(金) 16:53:16.45ID:???0774nobodyさん
2012/11/16(金) 17:17:56.02ID:???0775770
2012/11/16(金) 17:32:54.70ID:???一旦普通に動くフォームを作り上げております。
その際にモデルで定義したバリデーションを利用しているのですが、
普通のサブミットだと、一度画面の更新が発生してしまうじゃないですか。
その画面更新の際に、JavaScriptで生成しているアイテムがすべて消えてしまうのが難点なのです。
つまり、画面更新せずにモデルのバリデーションにフォームを食わせる方法を知りたいのです。
お願いします。
0776nobodyさん
2012/11/16(金) 18:12:19.09ID:???キーワードはこの辺りな
やはりcakeは関係ない
0778nobodyさん
2012/11/16(金) 21:55:17.37ID:???そのユーザー名は無効、とか5文字以上入れろ、とか
そんなんをリアルタイムで出したいってことなんじゃね?
0779nobodyさん
2012/11/16(金) 22:23:09.72ID:???0780nobodyさん
2012/11/16(金) 22:49:59.65ID:???”Cake上”で普通に動くフォームは作ってあります、
とかとんちんかんな返答してるんで、理解出来てないんでしょ。
メッセージ出すのはCakeのバリデーションじゃん、だからCakeで動くやり方教えてよ、
って考えなんだからCake抜きで一旦作れ、としか言いようがないよね。
なんかフォーラムもレベル低いのが集まってきてるし、初心者特集でもあったのか。。。
0781nobodyさん
2012/11/18(日) 00:55:57.75ID:???0782nobodyさん
2012/11/19(月) 16:18:32.93ID:???皆さんの「Cakeは関係ない」というご指摘の意味が良く分からないのです。
皆さんよりかなりレベルが低いかもしれません。
Cake上で画面更新を伴うフォーム送信は一旦完成させております。
モデルのバリデーションルールで誤入力に対して警告する仕組みも出来ております。
このモデルのバリデーションを実際のサブミットより前に行い、画面更新の前に警告だけを表示させたいのです。
これはAjaxを使ったCakeのモデルへのサブミットだと思うのですが、どうでしょうか?
Cakeは関係ないのでしょうか?
0783nobodyさん
2012/11/19(月) 17:12:28.84ID:???わかってるじゃねぇか。
だからAjax(jQuery)の方を勉強しろ、Cake関係ないって事だろが。
まずその知識はどうなんだ?それすら出来てないんだろ?
0784nobodyさん
2012/11/19(月) 17:16:36.02ID:???フォーム
↓
送信ボタンを押す
↓
ajaxで判定用のコントローラーにアクセス
↓
結果をjsonで返す→エラーがある時は表示
↓
エラーがない場合は確認画面へ
これをもう一度見直して、ajaxからcakeにアクセスし、結果をjsonで返して
それを判定するようなjavascriptコード書けよ。それだけだ。
0786nobodyさん
2012/11/19(月) 18:19:40.42ID:Ntxmf8gS0787nobodyさん
2012/11/19(月) 18:40:01.54ID:???0788nobodyさん
2012/11/19(月) 22:47:28.90ID:???ま、500円なんて割に合わないがw
0789nobodyさん
2012/11/19(月) 23:13:10.18ID:???0790nobodyさん
2012/11/19(月) 23:19:15.68ID:???ModelからもViewからも同じデータを参照できる仕組みが必要だと思うんだけど、
コントローラの仕事を増やさないで、一箇所にある同じデータを参照する場合、
ViewからModelを見に行くってことになるのかなと思うんだけど、おかしい?
0791nobodyさん
2012/11/19(月) 23:21:45.88ID:???具体的には、テーブルの内容を表示する際のラベルの設定を
どうするのかっていう問題とか。
0792nobodyさん
2012/11/19(月) 23:33:19.08ID:???Cakeみたいなフレームワークのビューって結局ただのテンプレートになってることが多くて
それは本来のMVCのビューじゃない
0793nobodyさん
2012/11/19(月) 23:35:10.21ID:???何にでも適用できる原則じゃないけど、そんなラベルの文字列なんかは
ビューに直接書きたくないならヘルパーにスクラッチしとけばいいんじゃないかな?
0795nobodyさん
2012/11/20(火) 00:39:35.43ID:???誰かもっと良いチュートリアルを作ってくれ(丸投げ
0796nobodyさん
2012/11/20(火) 08:42:01.29ID:ZgN4QSxZViewの中でModel使われると鬱陶しいんだよね
0797nobodyさん
2012/11/20(火) 11:14:41.40ID:???CSSやJavascriptを挿入するだけでも書かなくちゃいけないし
0798nobodyさん
2012/11/20(火) 11:53:01.37ID:???何か見やすいテンプレートエンジン使えばいいのに
0800nobodyさん
2012/11/20(火) 12:44:03.10ID:???ヘルパー作って、呼び出すだけにすればいいのに
0801nobodyさん
2012/11/20(火) 15:30:08.51ID:???中のループはヘルパー使ってもさ。
同様に、ifを使う箇所も出てくると思うよ。これもヘルパーじゃ無理だ
0802nobodyさん
2012/11/20(火) 15:38:31.06ID:???foreachもifも必要なくなる(というか使えない
0803nobodyさん
2012/11/20(火) 17:17:49.98ID:???普通にIfとかforeachとか使ってた気が・・・
今はどんなのがあるの?
0804nobodyさん
2012/11/20(火) 17:38:27.57ID:???この機に調べてみ
0805nobodyさん
2012/11/20(火) 17:55:21.76ID:???その弊害を語られることが少ない気がするが、
Modelとデータベースってのは本来別の次元の話なのに
両者が強力にくっついてしまっているのって結構問題だよな。
0806nobodyさん
2012/11/20(火) 20:35:24.50ID:???少なくともプログラム知識皆無の奴が使えるものじゃないだろ
0807nobodyさん
2012/11/21(水) 00:21:54.19ID:???だよね。
phpの書き方覚えるのとテンプレートの書き方覚えるのだったら、汎用的に使えて速いphpの書き方覚えた方が良いような
0808nobodyさん
2012/11/21(水) 00:27:56.23ID:???0809nobodyさん
2012/11/21(水) 00:59:56.41ID:???0810nobodyさん
2012/11/21(水) 01:04:16.32ID:???それならPHPも分かるよね?って思うんだが。Smartyとか。
0811nobodyさん
2012/11/21(水) 01:07:57.98ID:???同じだと思ってるの?
0812nobodyさん
2012/11/21(水) 01:08:59.64ID:???0813nobodyさん
2012/11/21(水) 01:12:19.26ID:???お前らって本当にSmartyしか知らないんだな
あれって全然デザイナにわかりやすくなってないじゃん
あれ基準に語るな
0814nobodyさん
2012/11/21(水) 01:37:17.56ID:???調べて見つかったのがお前が言ってるのと同じとも限らないんだし
0815nobodyさん
2012/11/21(水) 02:27:58.22ID:???0816nobodyさん
2012/11/21(水) 04:13:16.87ID:???土下座したら教えてやってもいいはw
0817nobodyさん
2012/11/21(水) 08:43:21.33ID:???お前は何を言ってるんだ?
PHPもSmartyもソース書くレベルとしては一緒だろ?って話で、
反対意見は、デザイナーから見たら全く別物のテンプレートあんだよ、探せ
って言ってるののどこに使いづらいとか読めてんの?
で、例って何?ソースレベルで提示しろって言ってんの?あほかw
0818nobodyさん
2012/11/21(水) 10:44:18.07ID:???Smarty以外で。お願いします。
0819nobodyさん
2012/11/21(水) 11:53:52.96ID:???はいはい。言い訳は良いからお前が良いと思うテンプレートエンジン書けよ。
どうせ何か言っても批判されると思ってるんだろ?お前みたいな奴からw
0821nobodyさん
2012/11/21(水) 13:51:31.70ID:qWxhErew良いこと言った!
0822nobodyさん
2012/11/21(水) 15:15:54.46ID:???頭悪いの?「自分がおすすめするテンプレートエンジン書けよ」ってだけだろ。
なぜか>>818は無視してるし。
0823nobodyさん
2012/11/21(水) 15:40:01.76ID:???制御構文なども皆無なのかな?
単に変数に値を流し込むだけ?
もうそんなデザイナークビにしていい時代だろ
0824nobodyさん
2012/11/21(水) 15:52:49.74ID:???>>802>>804>>808>>811>>813>>815>>816が同一人物のように見えた。
たぶん>>815はこっち(PHPもSmartyもデザイナーが扱うなら同じレベルと思ってる)側。
たぶん>>817もこっち側。
双方が相手を>>804側と思ってるから話がかみ合ってないんじゃないかな。
結論、お前ら安価省略するな。
で、>>804は>>819が図星でなんだかんだいって具体的なその他のテンプレートエンジンを
出せないだけだからこれ以上議論するのも無駄。
Cakeの話題に戻ろうぜ。
0825nobodyさん
2012/11/21(水) 16:17:33.37ID:???Smarty厨が出てきて騒いでた、内容は忘れたが
0826nobodyさん
2012/11/21(水) 16:24:06.37ID:???俺が見た感じ、
A派:
テンプレートエンジン=Smartyしか知らない、デザイナにもPHPの知識要求されると主張
B派:
テンプレートエンジンは他にもあって、ビューにPHPのコード書かなくても良くなると主張
この2派が喧嘩してるって事じゃないのか?
0827nobodyさん
2012/11/21(水) 18:06:37.46ID:XVcRCAEIViewファイルは用意しないとやはり駄目なのでしょうか?
public function download()
{
if( $this->request->is( 'ajax' ) )
{
echo "ajax transaction<br>";
}
else
{
echo "not ajax transaction<br>";
}
}
0828nobodyさん
2012/11/21(水) 18:30:32.75ID:???それでB派に、「ならオススメ教えてよ」って聞いてるのに
一向にオススメを言わないから「どうして?」ってなってるんだよ。
なぜここまでSmarty以外のテンプレートエンジン書かないか分からん。
ちなみに俺はテンプレートエンジンなんかイラねのC派ですw
0829nobodyさん
2012/11/21(水) 18:39:56.49ID:???0830nobodyさん
2012/11/21(水) 18:48:57.07ID:XVcRCAEIそれがクリックされると、AjaxにてcakePHP上のコントロールが呼び出され
そのダウンロードが完了したら、それをユーザのローカルに保存させたいのですがどうすれば良いでしょうか?
success: function( data, textStatus, jqXHR )
{
var gotten_data = $.parseJSON( data ); ← ここまではOK
//次にどういうコードを書けば xxx.csv としてファイルをユーザに保存させる事が出来るのか分かりません。
}
0832nobodyさん
2012/11/21(水) 19:05:33.59ID:XVcRCAEIJavaScriptで取得するところまでは出来ました。
JavaScriptスレに移動します。
0833nobodyさん
2012/11/21(水) 20:23:19.60ID:???0834nobodyさん
2012/11/21(水) 20:24:02.20ID:???0835nobodyさん
2012/11/21(水) 20:39:23.74ID:???0836nobodyさん
2012/11/22(木) 00:20:17.31ID:???サーバーサイド、クライアントサイドを意識して勉強する必要があると思うよ。
PHP(CakePHP)はサーバーサイドで、httpを利用してクライアントの要求を受けてhtml、css、javascriptコード等を返す
クライアント(ブラウザ)はhtmlを利用してDOMを構築し、javascriptコードに従ってDOM操作したりする
0837nobodyさん
2012/11/22(木) 00:54:33.93ID:???どうしたらいいのかわからないけど
0838nobodyさん
2012/11/22(木) 02:21:35.33ID:???まずは小学校の国語の教科書を繰り返し音読するところから
始めたほうがいいんじゃないかな?
0839nobodyさん
2012/11/22(木) 02:49:50.55ID:???ビューを作るのはプログラマの仕事だろうが。
前提が間違ってんだよ馬鹿が。
デザイナーが作るのはあくまで純粋なHTMLで
それをプログラマがビュー化するの。
0840nobodyさん
2012/11/22(木) 02:54:10.14ID:???0843nobodyさん
2012/11/22(木) 10:23:04.12ID:???詳しくは忘れたからぐぐれ
0844nobodyさん
2012/11/22(木) 10:45:03.85ID:???そういう独自の仕様を覚える必要あるじゃん
0845nobodyさん
2012/11/22(木) 11:17:57.44ID:???そもそもPGにビューなんか作らせるな。
ビューを作るのはデザイナーの仕事だろうが。
前提が間違ってんだよ馬鹿が。
PGが作るのはあくまでビューに値を受け渡すロジックで
それをデザイナーが受け渡された値を含めてビュー化するの。
と改変しても全く違和感無いんですけどw
0846nobodyさん
2012/11/22(木) 11:38:19.82ID:???なんだネタかw
0848nobodyさん
2012/11/22(木) 11:53:05.02ID:???htmlしか書けない?ただのコーダーじゃねえか
0849nobodyさん
2012/11/22(木) 11:56:51.75ID:???いい解説サイト知らない?
特にrssのURLをいじりたい場合がわからない
routes.phpに普通に書けばいいの?ちょっと試したら効かないみたいなんだけど
0850nobodyさん
2012/11/22(木) 11:57:36.88ID:???0851nobodyさん
2012/11/22(木) 12:00:26.67ID:???0852nobodyさん
2012/11/22(木) 12:01:07.41ID:???だからテンプレートエンジン導入して閉じ込めとくのはアリ
0853nobodyさん
2012/11/22(木) 12:04:21.25ID:???0854nobodyさん
2012/11/22(木) 12:23:12.67ID:???それがないと動かなくなんだよ!
0855nobodyさん
2012/11/22(木) 12:29:46.62ID:HdPktOipそんな書き方してるお前が悪い
0856nobodyさん
2012/11/22(木) 12:31:57.85ID:???endforeach;
endfor;
のがましかな
0857nobodyさん
2012/11/22(木) 12:36:27.04ID:???奴らPHPわかんないんだもん
0859nobodyさん
2012/11/22(木) 13:35:16.84ID:???cakephp cakeresponse rss
0862nobodyさん
2012/11/22(木) 14:02:27.07ID:???0863nobodyさん
2012/11/22(木) 14:07:47.49ID:???0864nobodyさん
2012/11/22(木) 14:11:53.42ID:???ということは、バージョン管理ツール使わせるわけだから
eclipseとかも使わせるのか?
その上Smartyとか覚えさせられて大変だなw
0865nobodyさん
2012/11/22(木) 14:14:52.90ID:???プログラム関係ない蔵からの文言修正やレイアウト変更依頼に
プログラマがいちいち対応すんの?
0866nobodyさん
2012/11/22(木) 14:17:22.95ID:???0867nobodyさん
2012/11/22(木) 14:33:55.02ID:???この作業って結構知識いるし作業量もハンパない。
何かの片手間で出来るものじゃないわ
0868nobodyさん
2012/11/22(木) 14:38:02.33ID:???0869nobodyさん
2012/11/22(木) 14:39:34.85ID:???0870nobodyさん
2012/11/22(木) 14:43:55.66ID:???デザイナーはとにかく良いUIを作ることにのみ専念してくれればいい
0871nobodyさん
2012/11/22(木) 15:12:44.35ID:???そのくらいプログラマがやれよ。
ちょっとした文言変更も、レイアウト変更も
プログラマがやるんだよ。数分でできるだろうが。
0872nobodyさん
2012/11/22(木) 15:17:12.64ID:???できるできないの問題じゃない
数分でできることを全部プログラマにやらせてたら回らなくなるだろ
0873nobodyさん
2012/11/22(木) 15:48:56.68ID:???ビューもプログラムソースだから。
そんな大切なソースを大した作業ではない
文言変更や
そんなに頻繁に発生することのないレイアウト変更をやりたくないからという
職業怠慢な理由でデザイナーに解放しちゃうなんてどうかしてるぜ。
お前こそ本当にデザイナーか?
0874nobodyさん
2012/11/22(木) 15:51:27.11ID:???●お前こそ本当にプログラマか?
0875nobodyさん
2012/11/22(木) 15:53:02.43ID:???仕事したことのないお子様か?
0876nobodyさん
2012/11/22(木) 15:58:50.80ID:zHRu897d趣味サイトではPHP一択だな。
0877nobodyさん
2012/11/22(木) 16:02:17.83ID:???でもそうなっても技術のグラデーションの中で貶め合って憎しみ合い続けるお^^
0878nobodyさん
2012/11/22(木) 16:03:21.55ID:???それはプログラマ、デザイナどちらの立場からしても言えること。
でもそうすると、両者を取り持つ仕事というならプロマネがやることになるのか
それはそれで笑えるなw
0879nobodyさん
2012/11/22(木) 16:05:54.24ID:???技術系の会社だと、プログラマは大抵常に忙しいから、なるべく雑用やらせたくはない
0880nobodyさん
2012/11/22(木) 17:19:30.94ID:???うーん。やっぱPHPerってレベル低いのかなぁ。
0881nobodyさん
2012/11/22(木) 17:39:29.80ID:???って主張をはじめちゃったの???
0882nobodyさん
2012/11/22(木) 18:18:16.62ID:???で、>>873はほぼ感情論でしか物事を語ってないけど、本当にプログラマーか?
よくわからん新たな論点を持ち出してきたり、感覚で喋ってるのは、どうみてもデザイナー側の人間に見えるんだが。
PHP関係ないじゃん。その理屈で言えば他の言語の例えばJavaやらFlashやらならデザイナーとプログラマーで
納品物の管理が完全に分離できるのか?
というか、なんでお前このスレにいんのw?
0883nobodyさん
2012/11/22(木) 19:27:33.06ID:zHRu897d画面上のダウンロードボタンを押すと、Ajaxでサーバ再度のControllerが呼ばれて
www/hoge-directory/jiojoijiajsdwfijjasdfajsdfiwerfjai/hoge.csv
という風に ハッシュで生成したディレクトリ + ファイル名 をPHP側で生成して
JavaScriptをつかって、WEBページ内にリンクを作成しています。
この時、基本認証とか何も無くリンクを貼っているのですが(ハッシュ値)
を当てられる確率が低いからと、、、、
然程クリティカルなデータではないのですが
この状態だsと不味いでしょうか?
0885nobodyさん
2012/11/22(木) 19:42:44.76ID:???プログラマーだって書いてるのにね。
脳内変換しまくりw
感情で書いてるのお前じゃん。
例えビューであってもデザイナーにソースを渡しちゃうような奴は
エンジニア失格だよ。
デザイナーにPHPのコード消されたとか嘆いてんなよ。
ソースを渡したお前が悪い。
0886nobodyさん
2012/11/22(木) 19:43:33.19ID:???気になるならcookieのユニークな値も
チェックできるようにすればいいんじゃないの?
0887nobodyさん
2012/11/22(木) 19:58:12.39ID:zHRu897d死ね
>>886
あー成るほど!!いいアイデアですね!!
ダウンロードボタンを押したタイミングでそのハッシュ値をcookieにセットし
それを持ってるユーザのみ、そのcookieにセットしたハッシュを使用してファイルにアクセス可能にしてしまえばいいですね!!
0888nobodyさん
2012/11/22(木) 20:07:47.68ID:???0889nobodyさん
2012/11/22(木) 22:05:17.04ID:???0890nobodyさん
2012/11/22(木) 22:16:57.37ID:???0891nobodyさん
2012/11/22(木) 22:19:25.10ID:???マジ話通じねえな
0892nobodyさん
2012/11/22(木) 22:22:45.33ID:???0893nobodyさん
2012/11/22(木) 22:24:38.60ID:???荒らしはCake関係ない話しかしないし
でも何でこのスレなんだろ、まあ荒らしでも来ないと過疎るけど
0894nobodyさん
2012/11/22(木) 22:29:43.43ID:???君プログラミングもデザインも両方できるの?すごいねぇ。マジで。
でも両方できないと仕事ができないとかなんでそんな考えに至ったの?
普通エンジニアはデザインとかやらないんだが。
HTMLやCSSを多少触ることはあるがあくまでも微調整だし。
小さい制作会社とかだとそうなのか?
0895nobodyさん
2012/11/22(木) 22:55:36.23ID:???こいつあれだわ、大きな会社に時々いる、
外の情報を吸収しないで頭カチコチのエンジニアだ
ずっとウォーターフォールで同じ仕事こなしてるだけなんだろ?
まあ意味のない論争はやめて、Cakeの話をしようぜ
0896nobodyさん
2012/11/22(木) 23:09:31.89ID:zHRu897d友達いないんだろうな。
0897nobodyさん
2012/11/22(木) 23:11:42.38ID:???ここはCakeスレだ
0899nobodyさん
2012/11/22(木) 23:34:18.10ID:???否定しないところをみると図星か。
大きい会社=ウォーターフォール&最新の技術を知ろうとしないとか
凄い妄想するねぇw
ところで君CakePHP使ってるから自分は最先端の技術者だとでも思ってるのか?
少しは外の世界を見てみろよ。
お前なんか箸にも棒にもかからないただの雑魚プログラマだから。
0900nobodyさん
2012/11/23(金) 01:30:52.14ID:???0901nobodyさん
2012/11/23(金) 06:59:30.97ID:???ビューはプログラマーガー
デザイナーはデザイン以外の知識や作業は全く必要ないんジャー
俺が作ったプログラムのソースは誰にも触らせないんジャー
は全部同一人物だろ?こんなスレでこんなんが複数人もいるとか思えん。
ajax君含めてくだ質から出てくるなよな?
ここはCakeスレだ、スレタイを100万回読み直して理解しろ。
それでも書き込みなら周りに迷惑だからコテつけて周りがあぼーんできるようにしとけ。
0902nobodyさん
2012/11/23(金) 08:00:03.51ID:???0903nobodyさん
2012/11/23(金) 09:40:58.31ID:???最近PHP書き始めて本にあったPEARとSmartyへと進む予定だったけど
フレームワークを調べて検討した結果、CakePHPを選ぶことになりました。
ドキュメント読み漁って昨夜のControllerから別のModelを扱う辺りが山場だった。
インストールでローカルとリモート環境を揃えるのも今思えばいい思い出。
これまで書いた分を乗せ換えて開発を続けます。
CakePHPは面白い。
0904nobodyさん
2012/11/23(金) 13:36:11.46ID:???0905nobodyさん
2012/11/24(土) 22:30:49.17ID:???というわけでYiiの方に旅立ちます。
短い間でしたがお世話になりました。
0906nobodyさん
2012/11/25(日) 11:23:54.32ID:???0907nobodyさん
2012/11/25(日) 12:32:02.23ID:???そもそもエレガントじゃない件
0908nobodyさん
2012/11/25(日) 21:05:11.72ID:???0909nobodyさん
2012/11/25(日) 21:18:55.57ID:???RailsがRubyのフレームワークってことも理解できず、
何故かPHPで学ぼうとする馬鹿は、何の言語使っても一緒じゃないかな
0910nobodyさん
2012/11/25(日) 23:43:17.15ID:???0911nobodyさん
2012/11/26(月) 01:28:55.42ID:???>何故かPHPで学ぼうとする馬鹿
PHPにRailsをパクったフレームワークがCakeあって、
自分はPHPを知っててRubyは知らない
という前提があるんだがそこまで書かないと分からないか。
アホは一から十まで説明しないと分からないから困るw
0912nobodyさん
2012/11/26(月) 01:43:16.98ID:???0913nobodyさん
2012/11/26(月) 02:56:24.43ID:???0914nobodyさん
2012/11/26(月) 04:03:25.39ID:???なんか何でしょうが、Railsの勉強がしたいならRailsをやればいいのにと。
0915nobodyさん
2012/11/26(月) 13:37:52.33ID:???0916nobodyさん
2012/11/27(火) 01:44:47.88ID:???公式のチュートリアルも駄目だしぐぐっても駄目だし、誰か動くコードの例を教えて
0917nobodyさん
2012/11/27(火) 02:09:45.95ID:???外注なげろ
0918nobodyさん
2012/11/27(火) 02:40:44.87ID:???自分で組むからいいわもう、時間の無駄
0920nobodyさん
2012/11/27(火) 03:07:06.97ID:???0921nobodyさん
2012/11/27(火) 16:54:33.07ID:???itemのguidを省略すると、Cakeが勝手にURLか何か付けて、それがユニークじゃないから
RSSリーダー側で表示がおかしくなってたみたいだ
guidは必須ではなく付けるならユニークでなくてはならないのに、Cakeがそれを無視してる
0922nobodyさん
2012/11/27(火) 18:39:22.56ID:???1.2>1.3>2.x みたいになってる
衰退してんの?
0923nobodyさん
2012/11/27(火) 18:55:21.49ID:???0924nobodyさん
2012/11/27(火) 23:13:21.68ID:???0925nobodyさん
2012/11/28(水) 02:15:13.08ID:???0926nobodyさん
2012/11/28(水) 02:16:05.69ID:???0927nobodyさん
2012/11/28(水) 10:27:52.20ID:???0928nobodyさん
2012/11/28(水) 12:03:19.45ID:???AuthとかRSSとか、使えたら便利なのに試すと駄目だから自分で作る羽目になる
最初から自分で作らないと時間を無駄にする
0929nobodyさん
2012/11/28(水) 12:23:58.74ID:???誰もお前の為にオープンソースの開発してるんじゃないんだからな。
何でもかんでもタダで手に入ると思うなよ乞食。
0930nobodyさん
2012/11/28(水) 12:39:54.92ID:???beforeFilter()で
$this->Cookie->name = 'hogecookie';
$this->Cookie->time = '1 day';
を設定してから
action内で
$this->Cookie->write('hoge.name', 'ほげほげ');
$this->Cookie->write('hoge.address', 'もげもげ');
$this->Cookie->write('hoge.tel', 'ぽげぽげ');
と書くと、最初のhoge.nameだけは期待通りにlifetimeが1dayのcookieになってくれるのですが、
残りの2つがlifetimeがsession扱いになってしまい、ブラウザ閉じると消えてしまいます。
$this->Cookie->write('hoge.address', 'もげもげ', false, '1 day');
みたくいちいちwrite内にlifetime書くとちゃんと動いてくれるのですが、なんか気持ち悪いです。
なんでこーなるのかどなたかわかりますか?
0931nobodyさん
2012/11/29(木) 11:01:51.61ID:???0932nobodyさん
2012/11/29(木) 11:04:12.12ID:???というバリデーションは、どう書けば良いのでしょうか?
0935nobodyさん
2012/11/29(木) 13:15:05.43ID:???0936nobodyさん
2012/11/29(木) 22:33:21.05ID:???0937nobodyさん
2012/11/29(木) 23:56:55.14ID:???ぐぐるとどこかの個人が書いた古い情報ばかりが引っかかります
0938nobodyさん
2012/11/30(金) 00:34:29.71ID:???やっぱりみんなドキュメントよりソースを頼りに機能の理解をするから最低限の情報しか載せないようになっているんじゃないかな
0939nobodyさん
2012/11/30(金) 00:43:39.10ID:???ふと思い付いて、英語で探したらあった…
Cakeのドキュメントは、日本語で見ちゃいけなかったんですね、はぁ
0940nobodyさん
2012/11/30(金) 01:53:35.18ID:???// app/Controller/FriendsController.php
class FriendsController extends AppController {
public function index() {
$options = array(
'conditions' => array(
'Friend.first_name' => 'Andy',
'Friend.id <' => 2000
),
'order' => array('Friend.first_name ASC'),
'limit' => 10
);
$data = $this->Friend->find('all',$options);
}
}
という場合、
SELECT `Friend`.`id`, `Friend`.`first_name`, `Friend`.`last_name`
FROM `friends` AS `Friend`
WHERE `Friend`.`first_name` = 'Andy'
AND `Friend`.`id` < 2000
ORDER BY `Friend`.`first_name` ASC
LIMIT 10
というようなクエリが出力されます。
ここで、
`Friend`.`id`
などで使われている、「ドット」にはどのような意味があるのでしょうか?
SELECT id, first_name, last_name
というクエリの時とどう違うのでしょうか?
0941nobodyさん
2012/11/30(金) 02:13:48.33ID:???>>940それはSQLの文法調べれば基礎的な部分でわかる。
Cake使う前にPHPやらSQLやら基礎から勉強し直してこい。
0942nobodyさん
2012/11/30(金) 02:20:15.84ID:???どうせ答える気がないのなら偉そうにするな
0946nobodyさん
2012/11/30(金) 08:52:59.91ID:???http://toro.2ch.net/test/read.cgi/db/1343899481/305
答えてもらえて、よかったじゃん
いくらフレームワークと言えど
クエリは理解しとかないときいぞ
0947nobodyさん
2012/11/30(金) 10:50:48.36ID:???Cakeに関係ない質問→Cake関係ないじゃん
なにこれ、こうしろよ
Cakeに関係ある質問→回答
Cakeに関係ない質問→スルー
0948nobodyさん
2012/11/30(金) 10:53:31.50ID:???fuelphpとcakeどっちにしようか迷ってるんだけど
ここの住人がcake使ってる理由って何?
0949nobodyさん
2012/11/30(金) 11:10:44.87ID:???0950nobodyさん
2012/11/30(金) 11:14:50.59ID:???0951nobodyさん
2012/11/30(金) 11:22:59.77ID:???OSSの場合、ユーザーが多くてコミュニティが活発なことも重要だからね
いいFWだなと思っても開発止まっちゃったりするのはよくあるから
そう言う意味ではCakeは割と安心できるので使ってる
0952nobodyさん
2012/11/30(金) 11:23:35.54ID:???Cakeに関係ない質問→Cake関係ないじゃん
なにこれ、こうしろよ
Cakeに関係ある質問→スルー
Cakeに関係ない質問→スルー
0953nobodyさん
2012/11/30(金) 12:18:13.86ID:???言われないとわからない奴が居るじゃん。
JavascriptやMySQL(クエリ)の事について聞いてきたり
PHP自体の書き方について聞いてきたりさ。
そういうのクリアした上で、Cakeの使い方なら分かるけど
基礎すら出来ずにフレームワーク使って
出来ない・わからないって言うだけじゃん。それは教えてもらえないよ
0954nobodyさん
2012/11/30(金) 12:37:28.71ID:???やっぱり答えたら500円もらえるようなシステム誰かつくってよ
0955nobodyさん
2012/11/30(金) 12:58:09.49ID:???0956nobodyさん
2012/11/30(金) 13:16:48.33ID:???まず2chで聞くようになってしまった
0959nobodyさん
2012/11/30(金) 13:57:00.76ID:???今までやってきた流れってのも多いだろ
日本でのコミュニティの大きさは圧倒的にCakeのほうが大きいけど、
本体自体も大きくなってるからそれだけ学習コストも大きいかもしれない。
今のところFuelは小さめなんで、自力で解決できる確率が高そう。
めちゃ感覚的な表現だが、今のところは学習コストはCakeの数分の一程度だと思う。
ソースコードを片っ端から読破して一つのFWを完全に自分のものにしたいっていうなら
FuelかYiiがいいと思う。
ただ、今後流行っていけばおそらくCakeと同じように大きくなっていく事は間違いない。
その時に今のうちから勉強していけばスムースについていける。
その反面、流行らずにポシャったら元の木阿弥。Cakeやっとけばよかったってことになりかねない。
0960nobodyさん
2012/11/30(金) 14:23:26.70ID:hpRrtS/asmooth スムーズ な。英語を勉強しろ。
0961nobodyさん
2012/11/30(金) 14:27:57.01ID:???日本のCake使いはどこにいるの?
公式フォーラムっぽいところも過疎ってたし
0962nobodyさん
2012/11/30(金) 14:48:46.00ID:???0963nobodyさん
2012/11/30(金) 15:10:44.84ID:???0964nobodyさん
2012/11/30(金) 15:21:07.50ID:???言わなくてもわかるよな?
0965nobodyさん
2012/11/30(金) 15:25:48.97ID:hpRrtS/a0966nobodyさん
2012/11/30(金) 19:52:20.42ID:???findの出力なんてテキストだしphp.iniのmemory_limit = 128Mを超えるとは思えないのに
memory_limit = -1にするとエラーは出なくなる
XAMPP上ではいいけどレンタルサーバーでは動かないだろうなぁ
0967nobodyさん
2012/11/30(金) 20:09:17.06ID:???単純にfind実行して結果返すmethodだけでそれが出るってこと?
もし違うなら他の(引っ張ってきたデータを加工してる)部分で余計にメモリ使ってたりしない?
実際のfind結果のデータ量を量ればfindでオーバーヘッド部分があるのかわかるかもね。
0968nobodyさん
2012/11/30(金) 20:37:30.61ID:???他の処理を切ってみたんだけど200は動くけど240は動かない
まったく違うとこでメモリ食ってたりするのかな、もう少し試してみます
0969nobodyさん
2012/11/30(金) 21:59:20.66ID:???感覚で追ってるだけではラチがあかないから
memory_get_usage
http://php.net/manual/ja/function.memory-get-usage.php
で追跡してみては?
CakePHPのfindの問題か否か判明したら報告よろしく。
0970966
2012/12/01(土) 04:45:41.87ID:???memory_get_usage使ってみました。(稼働する範囲で収集)
2444632 ソースの頭
3657368 ピーク時
リンクの一番下に英語でint(6041952) -> about 6MB
とあるので、2.4MBから3.6MB程度だと思われます。
何か原因があるのかもしれないのでまた報告します。
0971966
2012/12/01(土) 10:41:24.04ID:???それよりタイムアウト(30sec)が連発しているのでquery直書きで実行すると
一瞬で終わる、その後結果をCakeが返してくれるのですが(これも瞬時)
$this->set('datas',$datas);
これがメチャ重い、定番のViewへの渡し方だけどマズいのかな。
0972nobodyさん
2012/12/01(土) 10:44:38.36ID:???Cake一体どうなってんだ、続報期待
0973966
2012/12/01(土) 11:20:49.04ID:???いじってたら上の処理が軽くなった(原因不明)、朝からお騒がせしました。
0974nobodyさん
2012/12/01(土) 11:54:55.92ID:???フォーラムにバグというか、キャッシュ絡みの更新反映がされない問題について、
ひとつ、気付いた点書こうと思ったんだが・・・割り当てしてるidのキャッシュ消えてねーよって。
回避策として、id割り当てしてあるやつは、idの名前も変えれば、きちんと適用される。
フォーラム登録してログインしようとしてもログインできねーし、メールで認証あるのか?と、
すぐに来ておかしくないものが全く来ない・・・よくみるとgoogleアカウントでログイン・・・
たらい回しされた感じで嫌になったわ・・・
0976nobodyさん
2012/12/01(土) 14:40:18.37ID:???0977nobodyさん
2012/12/01(土) 16:42:41.61ID:???たぶん、ここ見ろって言われて放置されるのがオチな気がする。
http://basercms.net/manuals/2/base/2.html
鯖キャッシュ消しても無駄なんだけれどねw
0978nobodyさん
2012/12/01(土) 16:51:58.37ID:???0979nobodyさん
2012/12/01(土) 17:08:26.62ID:???0980nobodyさん
2012/12/02(日) 08:40:37.95ID:???あ、違った。テンプレートテーマで固定されているだけだった。
プレビューと表示画面で表示の違いがでてプレビュー役に立たないとかあるけど。
0981nobodyさん
2012/12/02(日) 13:39:28.14ID:???dataの単数形はdatumであるが、
dataがdatumの複数形であるとは定まっていない。
ややこしいが、dataという文字列に対してはdatumの複数形である可能性と、
dataという未知の言葉の単数形であるとの二重の解釈が可能になってる。
0982nobodyさん
2012/12/02(日) 15:20:27.36ID:???そもそもdataとかdatumとかをInflectorに投げる必要があるシチュエーションがわからん
0984nobodyさん
2012/12/02(日) 16:06:55.08ID:???0985nobodyさん
2012/12/02(日) 16:22:09.32ID:???いや別にdatasが良いとはいってない
単にCakeもそういう仕様にしてるってだけ。
Inflector::singular('data') は 'datum'が返る
で、
Inflector::pluralize('data') は本来なら 'data'が返るべきなのに 'datas'が返る
他にもnurfとかもおかしかった。
0986nobodyさん
2012/12/02(日) 17:30:06.87ID:???0987nobodyさん
2012/12/02(日) 18:14:10.78ID:???0988nobodyさん
2012/12/03(月) 10:51:56.98ID:???Cakeの仕様がdatasになってるならそれで良いじゃん。
別に名前を自分で変える事も出来るんだし。
0989nobodyさん
2012/12/03(月) 11:05:46.45ID:???原因気付くのに時間がかかったりするんだよな
0990nobodyさん
2012/12/03(月) 12:12:13.34ID:???英語圏の人足りから特にクレームが来ていないことを見ると
それなりに合理的なのかな?
0991nobodyさん
2012/12/03(月) 16:28:27.25ID:???丁寧にController内部から処理を切り出して、素のphpを呼んだほうが良いのでしょうか?
0992nobodyさん
2012/12/03(月) 16:42:24.80ID:???関係ないけどたまに日本語の複数形のテーブル名あるよね、houkokusとか
0996nobodyさん
2012/12/04(火) 01:20:44.93ID:???kokyakus
syouhins
0997nobodyさん
2012/12/04(火) 02:16:41.30ID:???rekoodos
teeburus
0998nobodyさん
2012/12/04(火) 03:56:01.85ID:???0999nobodyさん
2012/12/04(火) 12:33:53.10ID:???1000nobodyさん
2012/12/04(火) 13:10:08.23ID:ExCLhBiP【PHP】フレームワーク CakePHP 15ホール目【v2.2】
http://kohada.2ch.net/test/read.cgi/php/1354593996/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。