【PHP】フレームワーク CakePHP 9ホール目【v1.3】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/07/23(金) 09:13:26ID:v3m09M9uCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>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
0002nobodyさん
2010/07/23(金) 09:13:53ID:???CakePHP1.3系のダウンロード
http://github.com/cakephp/cakephp1x/archives/1.3
CakePHP 1.3.x API
http://api13.cakephp.org/
1.2から1.3への移行ガイド
http://book.cakephp.org/ja/view/1561/
CakePHP 1.3の新機能
http://book.cakephp.org/ja/view/1572/
■1.2系
CakePHP1.2系のダウンロード
http://github.com/cakephp/cakephp1x/archives/1.2
CakePHP 1.2.x API
http://api12.cakephp.org/
■Lithium(li3) PHP5.3+
http://rad-dev.org/lithium/
0003nobodyさん
2010/07/23(金) 09:14:23ID:???【PHP】フレームワーク CakePHP 8ホール目【1.3】
http://pc11.2ch.net/test/read.cgi/php/1268874059/
【PHP】フレームワーク CakePHP 7ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1251789126/
【PHP】フレームワーク CakePHP 6ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1236563737/
【PHP】フレームワーク CakePHP 5ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1229669539/
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0004nobodyさん
2010/07/23(金) 09:14:51ID:???【PHP】PHPフレームワーク総合スレ14
http://pc11.2ch.net/test/read.cgi/php/1253912143/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://pc11.2ch.net/test/read.cgi/php/1279833891/
Zend Framework Part4
http://pc11.2ch.net/test/read.cgi/php/1265721684/
symfony PHPフレームワークpart2
http://pc11.2ch.net/test/read.cgi/php/1268753684/
[PHP][フレームワーク]CodeIgniterスレ
http://pc11.2ch.net/test/read.cgi/php/1177683436/
【PHP】Ethna part.2【国産フレームワーク】
http://pc11.2ch.net/test/read.cgi/php/1186096518/
【PHP】フレームワークMapleに舌鼓
http://pc11.2ch.net/test/read.cgi/php/1122105465/
0005nobodyさん
2010/07/23(金) 09:15:00ID:???PhpMatsuri2010(予定)
(10月2-3日)
CakeFest 2010 (Chicago, llinois, USA)
http://cakefest.org/
CakeMatsuriTokyo2009
http://matsuri.cakephp.jp/
CakePHPカンファレンス東京(2008)
http://conference.cakephp.jp/
連載:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/cakephp
CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions
ttp://www.cpa-lab.com/tech2/inflects/
Free CakePHP Book (Matt Curry and Mark Story)
http://www.pseudocoder.com/free-cakephp-book/
あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
CakePHP Note
http://www.garacter.com/notes/CakePHP+Note/ni:5
CakePHPを使ったMVC設計のベストプラクティス - Sooey
ttp://www.sooey.com/journal/2008/03/26/717/
Qdmail(日本語メールコンポーネントとして利用可能なライブラリ)
ttp://hal456.net/qdmail/
10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
■ver1.1用
CakePHP プログラマーズ リファレンスガイド
http://cakephp.jp/doc/
CakePHPフレームワークによる快速WEB開発 |codezine
http://codezine.jp/a/article/aid/670.aspx
0006nobodyさん
2010/07/23(金) 09:15:34ID:???・ver1.3系
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用
http://www.amazon.co.jp/dp/4798026646/
CakePHP 1.3 (独語らしい)
http://www.amazon.co.jp/dp/3827327709/
・ver1.2系
CakePHP1.2ガイドブック
http://www.amazon.co.jp/dp/4839932468/
CakePHPによる実践Webアプリケーション開発
http://www.amazon.co.jp/dp/4839930651/
オープンソース徹底活用 CakePHPによるWebアプリケーション開発
http://www.amazon.co.jp/dp/4798022225/
CakePHP ポケットリファレンス※ver1.2beta
http://www.amazon.co.jp/dp/4774135038
CakePHP徹底入門
http://www.amazon.co.jp/dp/479811717X
PHPで作る携帯サイトデベロッパーズガイド
http://www.amazon.co.jp/dp/4798024767/
・ver1.1系
CakePHPガイドブック
http://www.amazon.co.jp/dp/4839924317
Fast CakePHP
http://www.amazon.co.jp/dp/4774133418
0007nobodyさん
2010/07/23(金) 09:16:23ID:???補足があればどうぞ
Have a Nice Cooking !
> cake bake all User
0008nobodyさん
2010/07/23(金) 14:23:29ID:???バリデート後にコントローラー内で
$this->data[モデル] = $this->モデル->data;
ってやってたんですが、
これだとモデル毎にコントローラー内に書かないといけないので
もっと簡単にする方法はないでしょうか
0009nobodyさん
2010/07/23(金) 14:30:58ID:???基本的にbeforeValidateはsave用のデータを変更するときに使用するから
コントローラーのdataに戻さない使い方が基本よ
で、saveに失敗したら戻したいとかなら、データ加工のメソッドをモデルに別で作って、setの前とかで呼んであげたほうが良いと思う
$this->data = $this->User->changeStatus();
みたいに
0010nobodyさん
2010/07/23(金) 14:31:19ID:???class BbsController extends AppController {
var $name = 'Bbs';
var $title = "BBS";
とやったんですが、「bbテーブルがない」とエラーになります。
sで終わる単語は使うとまずいんでしょうか?
0011nobodyさん
2010/07/23(金) 14:33:22ID:???あ、その例だとデータ渡ってないな
$this->data = $this->User->changeStatus($this->data);
こうか?
0012nobodyさん
2010/07/23(金) 14:35:33ID:???sで終わる略語はInflectorに設定しなくてはだめ
可能ならtable名をboardsとかにしたほうが良い
0013nobodyさん
2010/07/23(金) 15:28:37ID:???コントローラで
var $uses = array('Bbs');
bbsモデルで
var $useTable = 'bbs';
って明示的に指定してやればうまくいきそうだけど。
0014nobodyさん
2010/07/23(金) 15:51:54ID:???テーブル名は自由に付けたい
0015nobodyさん
2010/07/23(金) 20:53:02ID:???BBSコントローラーだといまいち何をするものかわからん気がする
掲示板システム全部を請け負うと肥大化しそうだし、boards,threads,responsesとかで分けた方がいいんじゃね?
0016nobodyさん
2010/07/23(金) 23:15:07ID:???てか、掲示板は英語でforumって書くのが一般的だと思うが
0017nobodyさん
2010/07/23(金) 23:30:08ID:???0018nobodyさん
2010/07/23(金) 23:42:12ID:???標準ページングのURLが気持ち悪くて、/hogeとか/hoge?page=2にしてみて、
/hogeをキャッシュしようと思ったら/hoge?page=2も同じページと見なされちゃうっぽいんだけど
0019nobodyさん
2010/07/24(土) 00:57:52ID:???そこなんだよね。
cakeのpage:2 形式だとクエリストリングにスラッシュとか入った時におかしくなるし、
?page=2にしたらキャッシュしてくんないし。俺はキャッシュの方をあきらめたけど。
0020nobodyさん
2010/07/24(土) 01:38:30ID:???にかえるのでよければ簡単にできる。
あとキャッシュは自前でクラス使うのもそれほど苦じゃないかと
0021nobodyさん
2010/07/24(土) 04:31:49ID:???キャッシュの恩恵が受けられるサイトの場合、鯖で対策するだろうし。
0022nobodyさん
2010/07/24(土) 14:37:15ID:???0023nobodyさん
2010/07/24(土) 20:02:03ID:???それで気持ち悪いと思わないの?
0024nobodyさん
2010/07/24(土) 20:07:02ID:???0026nobodyさん
2010/07/24(土) 22:56:15ID:???0027nobodyさん
2010/07/24(土) 23:00:45ID:???0028nobodyさん
2010/07/24(土) 23:03:23ID:???気持ち悪いと思わないの?
気持ち悪いのであれば何故使ってるの?
>>26
なぜバージョンが気にならないの?
今時PHP4の書き方なんかに戻れないんだけど。
0029nobodyさん
2010/07/24(土) 23:17:59ID:???PHP5でしかつかわないんならPHP5で書けばいいだけだと思うんだけど
PHP4を強要される場面があるなら教えてくれないか?
0030nobodyさん
2010/07/24(土) 23:26:33ID:???0031nobodyさん
2010/07/24(土) 23:36:03ID:???「気持ち悪いと思わないの?」なんて聞かれるのは気持ち悪い
PHP4の書き方が気持ち悪いかどうかで言ったら別に気持ち悪くはないし
だから
PHP4の書き方強要されるのが嫌だ もっとうまい具合に解決してほしい
とストレートに言ってくれたほうがいいな
0032nobodyさん
2010/07/25(日) 00:37:10ID:???0033nobodyさん
2010/07/25(日) 03:13:37ID:???相手にしても会話にならない
0034nobodyさん
2010/07/25(日) 03:34:31ID:???むしろ批判こそいろいろ見えてきていいと思うけどな。
批判してた人も、え?そうなの!?になるかもしれないじゃん。
0035nobodyさん
2010/07/25(日) 04:37:05ID:???/contoroller/action/1 や /contoroller/action/id:1
みたいな形はSEO的に良いかもしれないけど、少しわかりづらい。
従来のように
/contoroller/action/?id=1 とか /contoroller/action?id=1
でも良いと思う。
0036nobodyさん
2010/07/25(日) 05:36:41ID:???OAuth認証のsignatureが合わなくて苦労した
0037nobodyさん
2010/07/25(日) 13:46:57ID:???スタティックなページだと、smart URLの方がいいと思うんだけど、
ページングとかのダイナミックなページは従来のURLの方がいいと思う
× /archive?id=1
○ /archive/id:1
○ /archive?page=2
× /archive/page:2
というわけで俺も両方使えた方がいいと思うけど、
従来のURLを切り捨てて実装している機能が多いから無理だろうなあ
前スレに出ていたキャッシュとかもそうだけど。
0038nobodyさん
2010/07/25(日) 16:16:20ID:???Cake標準のページネーション使うと、
named使わなきゃならないんだよね。
検索フォーム作るとき、
POSTのときと、namedのときで処理を変えなきゃいけないのが面倒・・・
Paginatorヘルパー拡張して、page=1みたいなURL吐くようにすればいいのかな?
0039nobodyさん
2010/07/25(日) 16:33:37ID:???おれはいっそのこと、$_POSTとか$_GETとかそのまま受け取るようにしてるよ。
namedから呼び出していたら使い勝手悪いし。
0041nobodyさん
2010/07/25(日) 20:49:24ID:???if ($_GET["page" > 1]) {
$page = $_GET["page"];
} else {
$page = 1;
}
こんな感じでページネーションに渡せば良くないか?
0042nobodyさん
2010/07/25(日) 20:50:32ID:???if ($_GET["page"] > 1) {
ま、整数のみ許可するとかもう少し処理入れるべきだろうが。
0043nobodyさん
2010/07/25(日) 21:03:34ID:???0044nobodyさん
2010/07/25(日) 21:04:58ID:???0045nobodyさん
2010/07/25(日) 21:05:59ID:???0046nobodyさん
2010/07/25(日) 21:33:12ID:???0048nobodyさん
2010/07/25(日) 23:54:46ID:???0049nobodyさん
2010/07/26(月) 01:51:25ID:REeMHXov/home/test/public_html // CakePHP以外のHTMLファイルなどがある
/home/test/public_html/system // CakePHPの公開ディレクトリ
ベースURLはhttp://localhost/test/だとし、
システム用の(Cake用)の場合は、http://localhost/test/system/になるとします。
ビューの中で<?php include("../include/header.php")?>
と相対指定すれば
/home/test/public_html/include/header.php
のファイルを読み込む事が出来るのですが、
ページネーションなどでURLが階層化されるとinclude出来ません。
通常は、views/elementにビューの共通ファイルを入れると思うのですが、
/home/test/public_html/include/header.phpにあるファイルをコピーするので
同じファイルが2つ存在する事になり、効率が良くないです。
上記のように「Cakeを使う箇所・使わない箇所」で分けている時、
共通化するファイルはどうするべきでしょうか?
やはりviewsに入れて分けるしかないのでしょうか?
0050nobodyさん
2010/07/26(月) 02:21:11ID:???>ビューの中で<?php include("../include/header.php")?>
>と相対指定すれば
あたりまえだろ
絶対指定しろ
>上記のように「Cakeを使う箇所・使わない箇所」で分けている時、
>共通化するファイルはどうするべきでしょうか?
>やはりviewsに入れて分けるしかないのでしょうか?
絶対指定した上で自分でどちらが扱いやすいか判断しろ
0051nobodyさん
2010/07/26(月) 02:27:28ID:???0052nobodyさん
2010/07/26(月) 02:51:26ID:???しかも聞くだけ聞いてまたのこのこあらわれる
0053nobodyさん
2010/07/26(月) 10:10:02ID:???0054nobodyさん
2010/07/27(火) 11:03:38ID:???こんな感じでモデルに記述してOKでしょうか
function rollback()
{
parent::rollback();
$this->afterRollback();
}
function afterRollback()
{
//処理
}
0055nobodyさん
2010/07/27(火) 11:50:14ID:???なんだよモデルってAppModel? 特定のモデル?modelClass?
あとOKでしょうか?ってエラー出なきゃなんでもOkっちゃOKだよ
0056nobodyさん
2010/07/27(火) 13:08:06ID:???0057nobodyさん
2010/07/27(火) 13:14:07ID:???0058nobodyさん
2010/07/27(火) 13:28:33ID:???0059nobodyさん
2010/07/27(火) 14:33:44ID:???insertしたら責任を取れ!
0061nobodyさん
2010/07/27(火) 14:44:16ID:???0062nobodyさん
2010/07/27(火) 14:51:29ID:???0063nobodyさん
2010/07/27(火) 15:47:46ID:???0064nobodyさん
2010/07/27(火) 15:53:51ID:???とすると、
$dataにはArrayデータが格納されます。
このArrayの中に「value」というカラムのデータがあるのですが、このvalueの値を1行で取得したいのです。
$value = $this->TestModel->findById(1)['TestModel']['value'];
はだめでした。
文法的にどのように書くのが正しいのでしょいか?
0065nobodyさん
2010/07/27(火) 15:57:55ID:???そんな風に考えていた時期が僕にもありました。
今考えると赤面ものです。
0068nobodyさん
2010/07/27(火) 16:03:05ID:???1.findのfieldsで取得したいfieldを指定できる。
2.配列の値がひとつならcurrentで下がっていけばいい。
これでできるんじゃないか
読みづらくてあほだけど。
0069nobodyさん
2010/07/27(火) 16:09:35ID:???perlでは
{$this->TestModel->findById(1)}['TestModel']['value'];
こんな感じにできた気がするなぁPHPは無理なんじゃない?てか知らない。
0070nobodyさん
2010/07/27(火) 16:39:06ID:???0071nobodyさん
2010/07/27(火) 18:37:46ID:???これじゃだめなん?
$data = $this->TestModel->field('value', array('id' => 1));
0072nobodyさん
2010/07/27(火) 19:43:06ID:???0073nobodyさん
2010/07/27(火) 19:45:19ID:???0074nobodyさん
2010/07/27(火) 19:45:57ID:???007564
2010/07/27(火) 21:01:45ID:???ありがとうございました。
modelに処理を書くにしてもシンプルに書きたいので、まさに理想です。
このやり方、しっかり心に刻みます。
みな調子いいなぁ・・・w
0076nobodyさん
2010/07/27(火) 21:43:58ID:???0077nobodyさん
2010/07/29(木) 03:48:26ID:8543E4o9http://japan.zdnet.com/video/screencast/story/0,3800079413,20354695,00.htm
http://www.asahi.com/ai/cp27863.edgefcs.net/screencasts/toytter.zip
http://japan.zdnet.com/blog/yoshimi/2007/10/01/entry_27016431/
http://japan.zdnet.com/blog/yoshimi/2007/10/10/entry_27016432/
http://japan.zdnet.com/blog/yoshimi/2007/10/12/entry_27016433/
http://japan.zdnet.com/blog/yoshimi/2007/10/22/entry_27016434/
http://japan.zdnet.com/blog/yoshimi/2007/11/14/entry_27016435/
http://japan.zdnet.com/blog/yoshimi/2007/11/17/entry_27016436/
http://japan.zdnet.com/blog/yoshimi/2007/11/22/entry_27016437/
http://japan.zdnet.com/blog/yoshimi/2007/11/29/entry_27016438/
http://japan.zdnet.com/blog/yoshimi/2007/12/08/entry_27016439/
toytter-2.0
http://japan.zdnet.com/blog/yoshimi/2008/02/05/entry_27016446/
TwitterAPIをActiveResourceで
http://japan.zdnet.com/blog/yoshimi/2008/02/18/entry_27016448/
script/consoleから
> Twitter::Status.post(:update, :status => "activeresource test")
ってやるだけで、Twitterに投稿できる。
これでtoytter内で発言すると、twitterにも同じ内容が投稿されるようになりました。
0078nobodyさん
2010/07/29(木) 15:34:05ID:???findしたデータを1次元の配列に変換しないといけないのですが
これができる関数ってあるのでしょうか。
array_mapするのが定石でしょうか。
$result=$this->Model1->find('all', array('fields'=>'Model1.id'));
$array=hoge_function($result);
$conditions=>array('Model2.hoge_id'=>$array);
$this->Model2->find('all', array('conditions'=>$conditions));
上記の例の場合のhoge_functionのような処理を簡単にしたいです。
0079nobodyさん
2010/07/29(木) 15:43:01ID:???その例ならアソシエーション使わない理由が分からない
例を無視して応えるならfind('list')で取得してarray_keysかな?
只今オープン価格中
http://gekiyasu.issekinicho.com
0081nobodyさん
2010/07/30(金) 09:29:57ID:???Set::extractかな
http://book.cakephp.org/ja/view/1501/extract
CakePHPはサブクエリが思うように使えないから、俺もよくやる
0082nobodyさん
2010/07/30(金) 10:01:28ID:???008378
2010/07/30(金) 12:28:39ID:E2f+bC/4おー、まさにこれですね。ありがとうございます。
他にも使えそうなのがありますね > setクラス
0084nobodyさん
2010/07/30(金) 12:32:10ID:???Set::combine
Set::extract
あたりは結構常用してる
0086nobodyさん
2010/07/30(金) 18:30:15ID:???下記のようにあるコントローラに別のコントローラを継承させています。
App::import('Controller','Base');
class TestController extends BaseController {
Testというページは情報入力画面なのですが、
最初の画面は表示されるのにサブミットボタンを押した後真っ白な画面になってしまいます。
phpのエラーはなくdebug.logにも何も出力されておりません。
継承ではフォームの作成は出来ないのでしょうか。
あいまいな質問ですみません。
何かヒントでもつかめればと思います。
0087nobodyさん
2010/07/30(金) 18:47:58ID:???TestControllerとTest2Controllerというコントローラがあり
処理も全く同じでファイルパスだけが違うます。
これまで処理が全く同じでパスだけ違う場合
シンボリックリンクを張りファイル名だけ変えていたのですが
cakeの場合クラス名が変わるのでそれが使えません。
同じ処理を行うファイルを複数使用する場合
効率のいいやり方はありますか?
0089nobodyさん
2010/07/30(金) 19:14:56ID:???SecurityComponentを外したら確かにアクセス出来るようになりました
どうもありがとうございます!
0090nobodyさん
2010/07/30(金) 19:24:07ID:???答えたくもないわ
0092nobodyさん
2010/07/30(金) 22:55:32ID:???URLにプラグインが保管されてしまうんですがこんな仕様でしたっけ?
$html->link(array(....));のときにプラグイン名を明示的に
'plugin'=>nullってしてやらないとこれもプラグインが勝手に保管されるので同じように
form->create()の第二引数で指定してやってもダメでした。
なんか他のところに原因があるんでしょうか
009392
2010/07/30(金) 23:05:23ID:???で、どーもそういう仕様っぽいなってことで、以下のようにしました。
<?php echo $form->create('Member', array('url'=>array('plugin'=>null, 'controller'=>'members', 'action'=>'login')));?>
memberを2個かくのに抵抗感汁んですがまぁいいや。
0094nobodyさん
2010/07/31(土) 07:39:26ID:???それならpluginをnullしなきゃいけないのは当然よ
0095nobodyさん
2010/08/01(日) 00:23:04ID:???んで、html->link()の時はplugin=null入れなきゃってのは前からやってたんですが、
formのケースが自分でかってに
plugin=nullなんて指定しなくても第一引数がPlugin.Memberとかでない限り大丈夫だと思ってたんです。
でもそうじゃなかったと。
サーセン
0096nobodyさん
2010/08/01(日) 08:44:34ID:???基本的に現在のURLを残そうとするからね
0097nobodyさん
2010/08/01(日) 09:04:08ID:???0098nobodyさん
2010/08/02(月) 12:35:29ID:n6/Fh0gL知恵をお貸しくだされ
入力任意の日付項目があって
viewで
$form->input('A',array('type'=>'date','empty'=>'','selected'=>'' ・・・
ってしたときに
modelでvalidateを下記のように設定する
'A' => array(
'rule' => array(
'allowEmpty' => true,
'message' => '正しい日付を選択して下さい'
)
),
で設定すると入力フォームで年月日を全部選択しないとmodelで値が
取れないからどうしたらいいか迷ってる。
一番簡単な方法は'type'=>'date'を使わないで
年月日を別々に作っちゃうことだけど
それ以外の方法でなにかないかな?
0099nobodyさん
2010/08/02(月) 12:53:48ID:???超簡単にかけるでしょ
0100nobodyさん
2010/08/02(月) 13:48:24ID:???findのconditionで指定した場合(例えば $condritions=array('xxx'=>'aaa')など)
「Column 'xxx' in where clause is ambiguous」
というエラーが発生します。
$condritions=array('(テーブル名).xxx'=>'aaa')
というようにテーブル名を条件指定のときに付与すれば回避できるのですが、
テーブル名を直接記述するのもフレームワーク的にしっくりきません。
他にこのエラーの回避方法などありますでしょうか?
0101nobodyさん
2010/08/02(月) 13:51:18ID:n6/Fh0gL99さん返信ありがとです
98ですが、独自ルールの前に値がmodelでは取れないので困っているんです
viewでは取れているのですが^^;;;
具体的には
'A' => array(
'rule' => 'validateData',
'message' => '正しい日付を選択して下さい'
),
##データValidate関数
##$this->data[$this->name][$key]['year']と
##$this->data[$this->name][$key]['month']と
##$this->data[$this->name][$key]['day']がとれない;;
##'A'というkeyで値が取れている。ひとつでも選択されてないと値が空白になる
##という理由で独自に作ってもだめです><
function validateData($field=array()) {
foreach($field as $key => $val){
if($key=='A'){
if(!empty($this->data[$this->name][$key]['year']) && !empty($this->data[$this->name]['month']) && !empty($this->data[$this->name]['day'])){
return checkdate($this->data[$this->name]['month'],$this->data[$this->name]['day'],$this->data[$this->name]['year']);
}else if(empty($this->data[$this->name]['year']) && empty($this->data[$this->name]['month']) && empty($this->data[$this->name]['day'])){
return true;
}else{
return false;
}
}
}
return true;
}
0103nobodyさん
2010/08/02(月) 14:05:01ID:???http://book.cakephp.org/ja/view/1018/find
のソースをよーく見てね
0104100
2010/08/02(月) 14:10:02ID:???ありがとうございました。
conditionsの指定はカラム名だけでOKなものと思い込んでいました。。。
モデル名の付与がそもそも正しいんですね。
0106nobodyさん
2010/08/02(月) 14:39:32ID:???yearだけ入力されて送信されても、ほかが空っぽだと、何も入ってないってこと?
$this->data[$this->name]['year']じゃなくて
$this->data[$this->name]とかにYYYY-MM-DDな感じに加工されたテキストで入ってなかったっけ?
0107nobodyさん
2010/08/02(月) 14:54:10ID:???$form->input('A',array('empty' => array('00'=>'--'),'selected' => '' ,
emptyオプションに配列を入れてVALUEを設定しました。
これで一応解決しました
本当は年月日別々にemptyを設定しようかと思ったんですが
書き方がわからなかった&時間がなかったという理由で上記で
一応解決とさせていただきました。
以下返信してくれた方へのレス
>>102
書き込むのは初めてだったのですまん。
たぶんこれで下がっていると思われ
>>105
debugger::dump($field);
結果はNULLが入った;;
array(
"A" => null
)
>>106
そうです。
$this->data[$this->name]がNULLになっちゃうんです
0108nobodyさん
2010/08/02(月) 22:28:51ID:???エラーメッセージ読もうよ。。。
「Column 'xxx' in where clause is ambiguous」
0109Beginner
2010/08/02(月) 22:44:27ID:???ThreadモデルとResponseモデルがあり、
◆Threadテーブル
・id int
・title text
・created datetime
・modifired datetime
◆Responseテーブル
・id int
・thread_id int
・comment text
・created datetime
・modifired datetime
Thread hasMany Response、Response belongsTo Threadになっています。
0110Beginner
2010/08/02(月) 22:45:34ID:???Responseテーブルの件数(10件)毎にpaginateを実行したいと思っています。
イメージとしては、
[1][2][3][4][5](ページング)
-------------------------------
スレッド1:
-------------------------------
1 名前: Aさん 投稿日: 2010/07/23(金) 09:13:26
hogehoge1
piyopiyo1
2 名前: Bさん 投稿日: 2010/07/23(金) 09:13:26
hogehoge2
piyopiyo2
-------------------------------
[1][2][3][4][5](ページング)
こんな感じです。
Containableビヘビアを使用して、データを取得しています。(findではデータの取得が出来ました)
でもpaginateが出来ません。
どのようにすれば出来るでしょうか?
以下のような方法しかないのでしょうか?
http://book.cakephp.org/ja/view/249/
4.9.4 カスタムしたクエリによるページ付け
0111nobodyさん
2010/08/03(火) 00:28:24ID:???paginateの条件指定の周りはどう書いてるの?
$this->paginate('Response')
でいけると思うんだけど。
0113nobodyさん
2010/08/04(水) 11:55:21ID:???http://jbbs.livedoor.jp/bbs/read.cgi/internet/6235/1265358917/
0114nobodyさん
2010/08/04(水) 23:13:48ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=447&forum=3
この辺とかで既出だけど、パラメータにプラス記号が入っていても上手く処理できないというのは既出?
たとえば/hoge+fugaにアクセスすると/hoge fugaとか/hoge%20fugaと同じ扱いになっちゃう
たぶんhtaccessでURL自体をindex.php?url=に渡してGETパラメーター扱いにしてるから
+がスペースと同じになっちゃうと思うんだけど・・・
とりあえず二重エンコードで回避してみたけど、あまりいい手段とも思えない。
何か他に回避策はないかな?
0115nobodyさん
2010/08/04(水) 23:18:29ID:???二回エンコードすると+がそのままパラメーターとして渡る
0116nobodyさん
2010/08/04(水) 23:37:01ID:???rawurlencodeで解決するかと思いきや、ダメっぽい
$_SERVER['REDIRECT_QUERY_STRING'];
$_SERVER['REDIRECT_URL'];
$_SERVER['REQUEST_URI'];
とかから持って来ちゃったら?とも書いてある
http://osdir.com/ml/CakePHP/2009-01/msg00954.html
http://groups.google.com/group/cake-php/browse_thread/thread/23d82b527476c8cf
0117nobodyさん
2010/08/05(木) 02:26:48ID:???symfonyとかrailsはどうなってるんだろう・・・?
0118nobodyさん
2010/08/05(木) 03:16:57ID:???http://d.hatena.ne.jp/ruby-U/20090618/1245332725
このあたりのhtaccessのmod_rewriteで勝手にパラメーターがデコードされてるのが原因なのかな
0119nobodyさん
2010/08/05(木) 03:30:02ID:???1. /hoge hoge -> hoge hoge
2. /hoge%20hoge -> hoge hoge (スペースをエンコード)
3. /hoge+hoge -> hoge hoge
4. /hoge%2Bhoge -> hoge hoge (+をエンコード)
5. /hoge%252Bhoge -> hoge+hoge (+を二回エンコード)
挙動としておかしいのは4と5で、それぞれ本来はhoge+hogeとhoge%2Bhogeが得られるはずなんだよな
一回余計にデコードされてる
0120118,119
2010/08/05(木) 16:02:35ID:nxLYetG6index.phpに渡った時点で>>119のデコードが確認できた
なので、これはcakeの問題と言うより>>118に書いたようにhtaccessの仕様のようだね
1. 最初にapacheがデコードして、mod_rewriteで/index.php?url=hoge+hogeとして解釈される
2. GETパラメーターでは+はスペースの代わりに使われるので、$_GET['url']の中身はhoge hogeになる
さらに/について
%2Fをパラメーターとして渡すと区切り文字として扱われてしまうのは>>114にも書かれているとおり
1. /hoge/hoge/hoge
2. /hoge/hoge%2Fhoge (1回エンコード)
3. /hoge/hoge%252Fhoge (2回エンコード)
のすべてのパターンで$_GET['url']の中身がhoge/hoge/hogeになってしまう
hoge/hoge%2Fhogeとして受け取りたい場合には
4. /hoge/hoge%25252Fhoge
と3回エンコードしないといけない
ちなみにallowEncodedSlashesがonじゃない場合は2は404になるけど、1
0121nobodyさん
2010/08/05(木) 16:07:11ID:???ちなみにallowEncodedSlashesがonじゃない場合は2は404になるけど、1、3、4の挙動は同じ
これらに関してスマートな解決方法は思いつかないので、誰か他の人にパス
0122nobodyさん
2010/08/08(日) 18:03:07ID:???0123nobodyさん
2010/08/08(日) 18:11:12ID:???0124nobodyさん
2010/08/08(日) 19:11:13ID:???0125nobodyさん
2010/08/08(日) 22:19:24ID:???まったく話題にならないけど、このバグで困っている人いないの?
0126nobodyさん
2010/08/08(日) 22:47:28ID:???windows7上で開発してる人は少ないだろうし、fopenも滅多に使わないだろうから、
あんまり遭遇する人がいないんじゃない
0127nobodyさん
2010/08/08(日) 22:58:49ID:???0128nobodyさん
2010/08/08(日) 23:35:31ID:???Vistaでもエラーでるんだよ
fopenはキャッシュ読み込む時に使われているから、キャッシュの機能を意図的にオフに
しないかぎり、勝手に呼び出されるよ
本番環境はlinuxだから、linuxで発生しないって確証があれば気にはしないんだけどさ
0129nobodyさん
2010/08/08(日) 23:54:58ID:???0130122
2010/08/09(月) 00:18:49ID:???fixtureにAテストのためにテストデータ追加すると、Bテストではエラーがでる、つまり
データの整合性をfixture上で取るのが面倒だが、みんなどうやっているのかなと。
0131nobodyさん
2010/08/09(月) 00:26:35ID:???本番環境では今のとこエラーは出てないよ
でも、それがlinuxではエラーが出ないって保証にはならんでしょ?
原因が特定されないと気持ち悪い
0133nobodyさん
2010/08/09(月) 04:02:03ID:???0134nobodyさん
2010/08/11(水) 23:32:47ID:???http://blog.livedoor.jp/loopus/archives/50214076.html
ここで
>$data = $this->Uriage->findAll(('1 = 1 group by customer_id', 'customer_id, sum(price) as "Uriage.sum_price"')
>
>という書き方をすると
>
>$data[x]['Uriage']['customer_id']
>$data[x]['Uriage']['sum_price']
>
>とキレイに入ってくれる。
というやり方が書かれているのですが、1.3だと as "Uriage.sum_price"とするとSQLエラーが出てしまいます
0135nobodyさん
2010/08/12(木) 09:45:53ID:???よめ
http://book.cakephp.org/ja/view/1608/Virtual-fields
0136nobodyさん
2010/08/12(木) 10:21:52ID:???うちで使っている糞鯖にファイルアップするだけでも、だいぶ時間がかかる
0138nobodyさん
2010/08/12(木) 14:49:01ID:???フォークして、自前でカスタマイズする。
もしくは、もうやっているとともうけど、lnしてひとつにまとめておく…とか。
0139nobodyさん
2010/08/13(金) 00:02:04ID:???固めてあげろ
0140nobodyさん
2010/08/13(金) 05:51:38ID:tji6Fsyn配布されている絵文字のライブラリを使おうと思っています。
こういう「DB使わないし、一部PHPのライブラリを使うだけ」
と言った状態でも、Cakeを使う事で幸せになれるでしょうか?
0141nobodyさん
2010/08/13(金) 06:27:42ID:???いいえって返ってくれば使わないでおこうと思ってたんなら、
君には恩恵は少ないと思うから使わなくていいと思う。
0142nobodyさん
2010/08/13(金) 06:40:41ID:???人それぞれなんて言ったら、すべて人それぞれで終わりだろ。
0143nobodyさん
2010/08/13(金) 08:56:35ID:???0144nobodyさん
2010/08/13(金) 10:06:54ID:???0145nobodyさん
2010/08/13(金) 10:54:57ID:???どんな要件にも人それぞれって回答したら済む。
0147nobodyさん
2010/08/13(金) 11:44:43ID:???0149nobodyさん
2010/08/13(金) 11:48:59ID:???0150nobodyさん
2010/08/13(金) 12:21:38ID:???くだらないレスするくらいなら、ちゃんと質問に答えてやれよ
>>140
Cake専用の絵文字ライブラリなんてあったっけ?
Ktai Library for CakePHPなら単体でも動作したはずだよ
0152nobodyさん
2010/08/13(金) 12:33:28ID:???0153nobodyさん
2010/08/13(金) 12:41:08ID:???「人それぞれ」って回答が一番糞だろ。無駄レス以下だ
0154nobodyさん
2010/08/13(金) 12:49:51ID:???知らないんじゃなくて、人それぞれとしか言いようがないっていうことでしょ
>>140が人それぞれじゃないと思うのなら、自分で>>140にレスすればいい
他に誰も>>140に答えられなかったら「人それぞれ」が正解になるだけ
0155nobodyさん
2010/08/13(金) 12:56:33ID:???いや、普通に>>150が答えてるじゃん。
俺でも「一部だけ使うならフレームワーク使わなくても良いんじゃないか?」
って書くな。
で、そう思ってスレ見たら>>141とかふざけたこと
書いてあったから気になっただけだ。これ言ったらどうしようもねーだろ
0157nobodyさん
2010/08/13(金) 12:59:41ID:???どこがどう「ふざけた回答じゃない」だ?何も解決できないじゃん。
「昼飯何食えばいい?」って質問に「好きな物食えばいいよ」って答えるようなもん。
0158nobodyさん
2010/08/13(金) 13:01:49ID:???エスパーじゃないんだから、あなたにはこれとこれとあとこれも有用です。
したがってCakePHPを使いなさいって答えられないよ
0159nobodyさん
2010/08/13(金) 13:03:50ID:???俺は>>136を書いたけど、適当につぶやいたつもりが
普通にレスしてくれてたし。で、意見書こうと思ったらこれだ。
単に>>141は天の邪鬼なだけだろ。
0160nobodyさん
2010/08/13(金) 13:03:53ID:???おいおいwww
「昼飯何食えばいい?」
実にどうでもいい質問だな。それこそ人それぞれでおk
お前はなんて答えてあげるんだい?ww
0162nobodyさん
2010/08/13(金) 13:09:36ID:???ちょとおちつけよ
>>140の質問者はKtai Libraryなんて一言も書いてないぞ。
それでなんで「一部だけ使うならフレームワーク使わなくても良いんじゃないか?」
の回答に直結するんだ?CakePHP用に作られたプラグインやらライブラリが
すべてCakephpなしに動くなら君は正しいよ。そうじゃないだろ?
それとも何か?回答者はわざわざ行間読んでKtai Libraryにたどり着き回答する必要があるのか?
求めすぎだろ。頭ひやせ
携帯サイト用のライブラリーやプラグインはいくつかあるんだぞ
0163nobodyさん
2010/08/13(金) 13:10:51ID:???0164nobodyさん
2010/08/13(金) 13:11:35ID:???待て待て。Ktai Library云々の話を持ち出すまでもなく
「一部で使うだけなら、CakePHPの恩恵が得られない」
と言う意味での>>155は別におかしくねーだろ。
逆におかしいと思ってもお前が判断するような事じゃねーよ
0165nobodyさん
2010/08/13(金) 13:13:28ID:???0167nobodyさん
2010/08/13(金) 13:15:24ID:???0169nobodyさん
2010/08/13(金) 13:21:40ID:???0170nobodyさん
2010/08/13(金) 13:43:23ID:???期待する回答がもらえなかったら、もうちょっと詳しく
事例の説明をして、もう一回回答をもらおうとするのが
普通の質問者のスタイルじゃないか?
それを一回自分の期待する回答が得られなかったからといって
あまのじゃくだの何だの言うのなんて、質問者の立場が
わかってないとしか思えない
俺なんて質問してもレスさえもつかなくて、自分で
他人のふりして回答を書き込むのがしょっちゅうなんだぞ
見ず知らずの他人が金ももらわずに回答するんだから、
レスがついただけでもありがたく思わなきゃ
0172nobodyさん
2010/08/13(金) 15:27:44ID:???適当にテーブル作ってbakeしたら、それだけでそこそこのサイトは完成する
0173☆忍者Perl☆ ◆M5ZWRnXOj6
2010/08/13(金) 23:36:15ID:LkLBXJmk頭湧いてるバカばっかりwwwwwwwwwwwww
(笑)(笑)(笑)(笑)(笑)(笑)(笑)
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
だからなめられんだよクソwwwwwwwwwwwwwwwwwwwwww
0174nobodyさん
2010/08/14(土) 00:23:57ID:???PHPerって半数くらいはPerlもできるだろ
0175nobodyさん
2010/08/14(土) 01:17:12ID:???3テーブルあります。
購入履歴(Histories)テーブル:id、fruit_id、user_id
果物(Fruits)テーブル:id、producer_id
生産者(Producers)テーブル:id、rank(A、B、C、D・・・)
下記のようなbelongsToの設定をモデルにしてあります
(要するに多階層のbelongsToです)
History:belongsTo=Fruits
Fruit:belongsTo=Producer
recursive=2でHistoryモデルからfindする際、
「Producer.rank='B'」
を条件に指定したのですが、belongsToで下位の階層のカラムを条件に指定することは
可能なのでしょうか?
上記条件を指定すると「Unknown column」となります。
なお条件を指定しない場合、きちんと2階層目までのデータは取得できています。
0176nobodyさん
2010/08/14(土) 01:36:15ID:???条件指定してない時には正しくデータがとれてると言うことは
アソシエーション自体は正しいから、conditionsが間違ってるっぽいな
発行したSQL文かconditionsの内容書いてみ
0177175
2010/08/14(土) 02:04:35ID:???1.SELECT `History`.`id`, `History`.`fruit_id`, `History`.`user_id`, `Fruit`.`id`, `Fruit`.`producer_id` FROM `histories` AS `History` LEFT JOIN `fruits` AS `Fruit` ON (`History`.`fruit_id` = `Fruit`.`id`) WHERE 1 = 1
2.SELECT `Fruit`.`id`, `Fruit`.`producer_id` FROM `fruits` AS `Fruit` WHERE `Fruit`.`id` = 1
3.SELECT `Producer`.`id`, `Producer`.`rank` FROM `producers` AS `Producer` WHERE `Producer`.`id` = 1
4.SELECT `Fruit`.`id`, `Fruit`.`producer_id` FROM `fruits` AS `Fruit` WHERE `Fruit`.`id` = 2
5.SELECT `Producer`.`id`, `Producer`.`rank` FROM `producers` AS `Producer` WHERE `Producer`.`id` = 2
結果は
Array(
[0] => Array(
[History] => Array(
[id] => 1
[fruit_id] => 1
[user_id] => 1)
[Fruit] => Array(
[id] => 1
[producer_id] => 1
[Producer] => Array(
[id] => 1
[rank] => A)))
[1] => Array(
[History] => Array(
[id] => 2
[fruit_id] => 2
[user_id] => 1)
[Fruit] => Array(
[id] => 2
[producer_id] => 2
[Producer] => Array(
[id] => 2
[rank] => B))))
0178175
2010/08/14(土) 02:06:46ID:???多階層のJOIN文を作成して1度でデータを取得していると思っていたのですが、
1階層目までしかJOINせず、その先は個別にデータを取得してるみたいです。
このような分割をされると、下位の階層のカラムを条件で指定するのは無理ですね・・・。
0179175
2010/08/14(土) 02:07:50ID:???0180176
2010/08/14(土) 03:18:02ID:???belongsToでも2階層先はSQL分割されちゃうのか
なんなら
Fruit hasMany History
Fruit belongsTo Producer
にして
$this->Fruit->find('all', array('conditions'=>array('Producer.rank'=>'B')))
とかにしたらどうかね
ちょっと酒入っているので自信がないが
0181175
2010/08/14(土) 03:51:18ID:???ありがとうございます。
今回例に出したのは2階層なんですが、実は4階層のケースでどうしようか悩んでいるのです・・・。
ちなみにお教え頂いた
「特定のモデルを中心に、hasManyとbelongsToを使って上下1階層(合計2階層)を取得する」
方法は成功しました(SQLは2文、条件指定も可)。2階層までならこの方法でいけますね。
今回のような2階層以上のデータの芋づる取得はそんなに多いケースではないので、
とりあえずMySQL上に多段JOINしたViewを定義して、そのView用のmodelを使用しようと思います。
0182nobodyさん
2010/08/14(土) 08:00:26ID:???0183Perl Assasin ◆lNsIJTdtUY
2010/08/14(土) 08:14:48ID:ExEQpWlEそろそろうざいわ
言っとくけど俺をあまりナメないほうがいいよ
VIPでコテハンやってるしクソコテ潰すくらいの影響力は持ってるから
くだらないことで刺激して後悔しないようにね
0184nobodyさん
2010/08/14(土) 11:53:15ID:???今まではモデル内でセッション使えなかったようですが、1.3からできるかもとの情報が。
しかし、試してみたところ、上手く行きませんでした。。
参考記事
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1989&forum=6
0185176
2010/08/14(土) 13:11:08ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1114&forum=6
ググったら明示的にJOINする方法があった
0186▲☆◎Perl忍者◎☆▼ ◆M5ZWRnXOj6
2010/08/16(月) 19:25:14ID:m+WY7Mxd死んでくれない?(笑)
0187nobodyさん
2010/08/16(月) 19:30:06ID:???0188nobodyさん
2010/08/16(月) 21:41:13ID:???0189nobodyさん
2010/08/17(火) 22:14:24ID:ZhW5Etfnゴミはコントローラの処理後、ビューの処理前に入っているようです。
コントローラの処理とビューの処理の間に入りそうな処理は何がありますか?
念のため、phpの閉じタグ?>はソースの末尾に入れないようにしていますが、漏れがあるのでしょうか。
0190nobodyさん
2010/08/17(火) 22:23:45ID:ZebP+0w7wysiwygエディターを使うことになりまして、
どれを使って良いのかわからないので、ご教授頂きたいのですが。
機能としては、文字の修飾、画像の貼り付け(できればローカルPCからダイレクト)が出来れば良いと考えております。
ライセンスは無償でフリーがベストです。
何か良い情報をお持ちの方、よろしくお願いします。
0191nobodyさん
2010/08/17(火) 23:02:01ID:???PHPの閉じ忘れくらいしか思いつかんな
あとはapp_controllerあたりか
コンポーネント、ヘルパーとかを読まないプレーンなコントローラーを作って空白入るか確認した?
0194nobodyさん
2010/08/18(水) 05:14:05ID:???CentOS 5.4
Htmlヘルパーのcssを使ってcssの指定をしていますが
http://xxxx.xxxx/test でアクセスするとcssが正しく反映されるのですが
http://xxxx.xxxx/test/ でアクセスしたり
http://xxxx.xxxx/test/regisger などでアクセスすると、cssが反映されません。
指定は、普通に$html->css('sample');のように行っており、
いずれの場合も出力されたソースを見ると
<link rel="stylesheet" type="text/css" href="css/sample.css" />
と返ってきています。
cssファイルはapp/webroot/cssに置いています。
どうすれば正しく反映されますでしょうか。
0196nobodyさん
2010/08/18(水) 10:02:29ID:???本来なら
<link rel="stylesheet" type="text/css" href="/css/sample.css" />
ってなるはずだから自分でどっか弄ったんだろ?
Cakeのバグじゃなさそうだから、自分でコード追って解決しろよ
0197nobodyさん
2010/08/18(水) 11:21:26ID:???見てみました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /testtest/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
>>194は間違いで、URLは
http://xxxx.xxxx/testtest/test/
みたいな感じで、testtestがサブディレクトリ名で、testがコントローラ名です。
RewriteBase /testtest/app/webroot/
RewriteBase /testtest/app/
等も試してみましたが、結果は同じでした。
>>196
cakeの下はいじってないです。
とりあえず
$html->css('/css/sample');
としてみると
<link rel="stylesheet" type="text/css" href="/css/sample.css" />
が返ってきましたが、やはりcssは反映されませんでした。
0198nobodyさん
2010/08/18(水) 11:58:04ID:???このへん
http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=thread&topic_id=272&forum=2&post_id=787
0199nobodyさん
2010/08/18(水) 12:25:14ID:???bootstrap.phpに定数書いて参照させる方が確実だぞ
define('WEBROOT_URL', 'http://localhost/');
<link rel="stylesheet" type="text/css" href="<?php echo WEBROOT_URL;?>sample.css" />
みたいにさ。俺もaリンクもこれでやってるよ。
0201nobodyさん
2010/08/18(水) 13:10:08ID:???定数の件はまあ好みだから良いとして、
ヘルパー使わない事をアホだと言われるのは違うと思うがな。
お前みたいに自分だけで開発してて
パフォーマンスも気にしないような奴なら使えばいいよ
0202nobodyさん
2010/08/18(水) 13:21:16ID:???0203nobodyさん
2010/08/18(水) 13:23:44ID:???速度的にきになるなら別のところで対処しろよキャッシュしとくとかさぁ
Cakeのスレでヘルパー使うの否定して、独自定数定義しろってまずおかしいだろw
てかフレームワーク使ってる意味なくね?
0204nobodyさん
2010/08/18(水) 13:26:50ID:???俺が馬鹿なのかと思ってググったら、
同じ事やっている奴いっぱいいるんだが。
別にRouter::url()で表示しても良いだろうが、
そこまで突っ込んだり馬鹿にしたりする事か?
ヘルパーにしても使わない方がパフォーマンスするのは公式の通りだし、
テンプレもわかりやすいだろ。単に叩きたいだけならそう言えよ
0205nobodyさん
2010/08/18(水) 13:28:51ID:???0206nobodyさん
2010/08/18(水) 13:36:58ID:???0207nobodyさん
2010/08/18(水) 13:50:49ID:???CSSっていう定数知ってる?
自分だけで開発しているんじゃないのなら、なおさら無意味な定数を作らない方がいいよ
0208nobodyさん
2010/08/18(水) 14:32:04ID:???http://book.cakephp.org/ja/view/1391/Field-naming-convention
では name="data[Modelname][0][fieldname]" といった、配列によるフォーム生成を示していますが
この、同じモデルを使っているvalideteはどうすればいいのでしょう?
配列のままモデルに投げてもvalideteに引っかかりませんし(常にtrue)、
配列をばらして個々にモデルに投げても、valideteによるエラーメッセージはフォームに反映されません。
0209nobodyさん
2010/08/18(水) 22:53:44ID:???たいした規模じゃないし、理解もすすむと思って
こういう場合Modelから先をXdebugなりで追うといいよ。
0211nobodyさん
2010/08/19(木) 09:59:59ID:???僕のコントローラーはそれはそれは太っているので、師匠にもっと痩せさせろと言われました。
「コントローラのそれぞれのファンクションはだいたい10行以内にまとめる。長くても20行ぐらい」と言われました。
次に師匠に会う時まで、できる限りコントローラーをダイエットさせたいのですが、気になる部分を質問させてくださいませ。
1. if などのビジネスロジックは一切コントローラーに書かないほうがよいか?
例えば、 if(empty(this->data)) などの単純な構造も?
2. あまりにもコントローラーをシンプルにしすぎると、コントローラのコードを見ても、なにをやっているのかが
わからないようにならないか?
特に、2の問題で頭を悩ましております。
0212nobodyさん
2010/08/19(木) 10:22:19ID:???あくまで私見でレス
1. そんなことない。書く。 if(empty($this->data))使わない理由無い
2. 処理の流れが分かるように書く。ロジックはモデルに
10行以内とかは、目安として伝えてくれたんじゃないの?
とらわれると本末転倒
0213nobodyさん
2010/08/19(木) 10:31:01ID:???ナイスな指摘ありがとうございます!
こだわりすぎて、なんでもかんでもモデルに詰め込んでしまい、
処理の流れが逆に分かりにくくなるのは本末転倒ということですね。
0214nobodyさん
2010/08/19(木) 10:36:17ID:???Mじゃあ僕の持ってるデータをこういうふうに加工して・・・はい、どうぞ
0215nobodyさん
2010/08/19(木) 11:20:34ID:???セッションにして受け渡す方法があります。
セッションを使ったほうが簡単な気がするのですが、できる限り変数で受け渡さないと
サーバに負担がかかってページが重くなるという認識は合っているでしょうか?
//こんな感じで変数で受け渡したほうが速い??
$parsed_xml = $this->Amazon->request_xml($category,$date,$page_list,$page_number);
0216nobodyさん
2010/08/19(木) 11:51:07ID:???0217nobodyさん
2010/08/19(木) 12:43:08ID:???0219nobodyさん
2010/08/19(木) 21:33:24ID:Px7+fb0W参考サイト:http://blog.aidream.jp/cakephp/cakephp-wysiwyg-editor-tinymce-helper-1408.html
そこで、質問なんですが、
現状だと、Aさんがアップロードした画像は、Bさんも見れてしまう。
それは避けたい。
Aさんがアップロードした画像は、Aさん以外にユーザには見せないようにすることは可能でしょうか?
以上、よろしくお願いいたします。
0220nobodyさん
2010/08/19(木) 22:02:59ID:???もちろん可能。
つうかマニュアル一通り読んでみようや。
その上で、ああこれとこれをこう使えば○○ができるな。
って言うのがプログラムの一番面白い所だと思うんだけど。
0221nobodyさん
2010/08/20(金) 00:16:47ID:???お返事、ありがとうございます。
マニュアルを一通り、読んでいろいろ試してみます。
もし、わからない点があれば、また、ここに書き込みますので、
ご教授のほどお願いします。
0222nobodyさん
2010/08/20(金) 01:04:57ID:???速い遅い以前に、どこでも触ることができるセッションでパラメータを渡すのは怖くね?
呼び出したメソッドで処理される前に、どこかで変更されない保証があるならともかく
0223215
2010/08/20(金) 07:48:15ID:???セッションがどうしても必要な時以外は、変数で受け渡すことにいたします!
0224nobodyさん
2010/08/20(金) 10:29:49ID:???コントローラーとモデル間の受け渡しは絶対セッション使っちゃダメだろ。
基本的にセッション有効期間中、メモリーにデータが残るんだぞ。
毎回ちゃんと消せばいいけど、そんなプログラムはダサ過ぎだろ。
作った奴以外がプログラムを読んだとき、どこでデータが破棄されるかも分かりづらい。
0225nobodyさん
2010/08/20(金) 10:48:22ID:???0226nobodyさん
2010/08/20(金) 13:26:24ID:???http://old-journal.sooey.com/2008/03/26/717/
0227忍者Perl ◆M5ZWRnXOj6
2010/08/20(金) 16:07:53ID:2R5mBLkn痛いっすね!!!
マジパネーッス!!
ケーキとかネーミング痛すぎっすね!!マッスルPHPに変えなさいよ! お尻プリプリ!!
0228nobodyさん
2010/08/20(金) 16:16:00ID:???0229nobodyさん
2010/08/20(金) 22:11:44ID:sucUVck5ある意味感心する
0230nobodyさん
2010/08/21(土) 01:26:07ID:???0231nobodyさん
2010/08/21(土) 08:35:11ID:???ありがとう。がんばるよ。
0232nobodyさん
2010/08/21(土) 09:45:37ID:???0233nobodyさん
2010/08/23(月) 18:17:04ID:???1.2系もまだメンテ続けるのね
0234Perl仙人 ◆M5ZWRnXOj6
2010/08/23(月) 23:45:48ID:3hx9uhRe1、クソ発想力が無いゴミ他人のまね ◎◎ッターとか作りだすw
2、とりあえず流行に便乗 先を見通せない
3、メディアストリームにかける
4、ネットなのに敬語 (言い訳 ネットだから敬語でしょぉ
5、脳味噌が生まれつき弱い 考える力が無い(笑)
6、Perlerに絶対勝てない無理無理(笑)
7、最強とか最高とかいっちゃう 糞痛いやつら
8、ホリエとかIT著名人をフォローしちゃう やたらとMatzとかわめきだす
9、クソガリ クソチビなせいか脳味噌に栄養が行き届かない
10、力が無い 非力w 喧嘩したら速攻殺される(笑) 頭で勝てるとほざいてるがバールで殴られて即死
11、ブログなどツイッタの画像が2次元 美少女とかPHP厨に多い
12、くだらないつまらないゴミツイートをRTしまくる真性マジキムチ行為w
13、なにかしろPythonをひっぱってほざきだす 今時 今時って言葉が大好き
14、今時なわりに成果物がクソ クソwebアプリ乙津です
15、存在が間違え 自殺してください死んでくださいお願いします(笑)
16、武道やってるとかいうが 合気道(失笑) クソガリでベンチが100kg未満(笑)
(笑)
0235nobodyさん
2010/08/23(月) 23:55:07ID:???全部当てはまってます。
0236219 です
2010/08/24(火) 00:11:15ID:5qdug9Ot>>220
なんとなく、ここを変更すれば、できるというのは確認できました。
アップロードファイルを画像ファイル(jpeg,gif,png)に制限することも可能ですよね?
何か触れてはいけない、本体のソースコードをいじりそうなんですが、
そんなことはないですよね?
僕が何かを間違ってますよね?
0237nobodyさん
2010/08/24(火) 00:20:57ID:???あと ←元スレ ってなんだ。なんか君変なんだすごく。
0238nobodyさん
2010/08/24(火) 08:23:51ID:???本体以外の話は使っている人がいないとレスまともなレスが付かないよ
とくに
>>219 ←元レス
のような大雑把な質問じゃーね
0239nobodyさん
2010/08/24(火) 11:50:48ID:???0240nobodyさん
2010/08/24(火) 13:23:02ID:???0241nobodyさん
2010/08/24(火) 13:59:47ID:???レビューを見ると初心者向けな部分が多そうだけど、一応おさらいだ
http://www.kadoppe.net/archives/2010/08/book-cakephp-1-3.html
0243nobodyさん
2010/08/24(火) 14:22:06ID:???0244nobodyさん
2010/08/24(火) 15:38:07ID:???自分も買った。
まだ全然読んでないけど、初版の <?= 部分が <?php echo に書き直されているっぽいのと
Jsヘルパーの加筆を確認した
0245nobodyさん
2010/08/24(火) 16:28:14ID:???0246Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:13:39ID:jwes9+enPerlでやれば一発なのに 脳味噌たりてないのかな
だからPHP
クソゴミダニウンコハゲシネカス存在が釣りクソゲンゴ世界3キモ言語っていわれるんだよ(笑)
0248Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:24:59ID:jwes9+en(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)(笑)
0249Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:28:09ID:jwes9+enPerl隠れ7人衆から 忍刀を強奪したい
0250Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:29:55ID:jwes9+en0251nobodyさん
2010/08/24(火) 17:30:03ID:???0252nobodyさん
2010/08/24(火) 17:31:30ID:???0253nobodyさん
2010/08/24(火) 17:34:04ID:???PHPとPerlなんて殆ど似てるんだから案件に寄って両方請け負うよ
0254Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:38:30ID:jwes9+en何故なら、態度や気分が 天秤のようにかわる
そのため、突然殺人衝動にかられて社員とかをやってしまう
前はMixiで働いてたが 突然殺人衝動においやられて PHPをつかってるやつの声帯を手でえぐってやってしまった・・・
一面中、血が飛び出て首から血が噴水のように飛び出ていた。
オレ「オレなにやってんだ・・・ひいいいいいええええええええ!!!!!!!!!」
またまたPHPをやってるやつをやってしまった
グシャッ!!!!!!! 社員「キャーーーーーーーーーーーーーーーーーー!!!
俺はその日をさかえに PHPユーザたちから社内いじめにあって 俺をPHPやってるやつが憎いと思った
0255Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:39:30ID:jwes9+enごめん
0256Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:40:53ID:jwes9+enっで?
君はバカだろ PHPやってろよ君は
僕はIT業界で働かないからどうでも良いけどね(笑)
0257nobodyさん
2010/08/24(火) 17:44:14ID:???>俺はPHP厨達にさんざんいじめられきた
>
>親にも見放され、IT業界にも見放され 俺はIT業界に復讐をするため生きていく
>
>そして俺はお世話になったPerlerやプログラマを抹殺し、凄い力を手に入れた 一瞬でコードを解読する目
>その目は複雑なPerlのコードでも 1万倍に上がった動体視力で一気に解析する
>
>もう俺に勝てる者はいない
>
>あの最強Rubyist まつもとひろゆきが俺の力に脅威を覚えて 俺を倒すようなプロジェクトを立ち上げていた
>俺はRubyistに囲まれたが この眼術で一瞬でかたをつけた
0258Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 17:48:04ID:jwes9+enオレは復讐者
たとえ悪魔に身を委ねようとも
力を手に入れなきゃならない道にいる
Perlの花は2度咲かない!!!!!!!!!!
0259nobodyさん
2010/08/24(火) 17:50:45ID:???お前がPerlって名前背負って荒らしてるとPerlに傷がつくからやめろよな
あと、早く病気治せよ
0260Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 19:33:38ID:jwes9+en259「2chでPerl忍者っていうコテで発言しまくれw」
オレ「はい」
259「これでPerl利用者増えるぞwwww」
オレ「うん」
259「誰にも言うなよwwww」
オレ「絶対言いません」
っていわれて50万貰いました
0261Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 19:58:23ID:jwes9+en0262nobodyさん
2010/08/24(火) 20:05:45ID:???全部書いてるんだ。こいつマジでビョーキだろ
うわああああ
0263nobodyさん
2010/08/24(火) 20:45:05ID:???0264Perl忍者 ◆M5ZWRnXOj6
2010/08/24(火) 21:07:34ID:jwes9+en0265nobodyさん
2010/08/25(水) 14:33:29ID:???早くこいつを捕まえないとそのうち人殺すぞ
0266241
2010/08/25(水) 21:46:12ID:???チャプター2まで読んで気になった点
・セットアップ時にSecurity.saltとcipherSeedを変更してない
「今は変更しなくても特に問題ないので」と書いてあるが、Noticeはなるべく早く消すべきじゃないだろうか
・セットアップ時のtmpのパーミッション変更に触れてない
pages/homeのスクリーンショットではYour tmp directory is writableになっている
XAMPP前提で書かれてるせいだろうか?知らないとLinuxの人とかはまるだろうし、一応触れて欲しい。
・なぜかapp/view/layout/default.ctpではなくapp/view/layout/hello.ctpを作ってコントローラーでレイアウト指定してる
まずはレイアウト指定しないで使えるdefault.ctp使った方がわかりやすいと思うんだが・・・
app/view/layout/default.ctpについて記述は今のところない。
・controllerで$this->set("result", htmlspecialchars($result));
htmlspecialcharsはviewでやるべきなんじゃないだろうか
それに加えてh()についての解説は(インデックスに載っていないので)たぶんない
以後はhtmlspecialcharsが必要そうなシーンでh()ではなくSanitize::stripScriptsとか使ってる、なぜだ
・controllerでhtmlタグ書きまくり
最終的に「controllerにタグを書くのは良くないので、こういうのは全部viewに移しましょう」と修正するのかと
思いきや、そのまま説明が終わってしまった
序盤だから説明をはしょるためなんだろうけど、せっかくのフレームワークでMVC切り分けないのはちょっと・・・
0267241
2010/08/25(水) 21:57:16ID:???・P53 3行目]閉じ忘れ
・P65,P71, 修正されているはずの、<?= が<?php echo になってない
その他
・本文の$マークが縦棒二本で見づらい・・・
・viewがきれいじゃない(好みの問題かもしれないけど)
<?php echo $a; ?>
<br />
<?php echo $b; ?>
ではなく
<?php
echo $a;
echo "<br />";
echo $b;
?>
みたいな書き方をするので妙に見づらい。
という感じで、細かい突っ込みどころもあるけど、なんだか不安になる内容だった
>>241のレビューでも誤植が多いと突っ込まれていたけど、コードレビュアーとかいないのかな?
0269nobodyさん
2010/08/25(水) 22:03:14ID:???0270nobodyさん
2010/08/25(水) 22:11:24ID:???個人的には後者のコードの方が好きだけどな
もっとも、自分で書くなら
<? php
echo $a.'<br />'.$b;
?>
ってな感じにするけど。
0271270
2010/08/25(水) 22:13:12ID:???0272nobodyさん
2010/08/25(水) 22:26:25ID:???そんな俺は買ったけどまだ読んでないw
0273241
2010/08/26(木) 00:42:52ID:???・pr()を使わないでprint_r()
pr()はインデックスに載ってないのでたぶん出てこない
h()もそうだけど、省略表記が嫌いなんだろうか
・モデルから持ってきたデータを回すときにforeachではなくfor
好みの問題だけど、foreachの方が使われることが多いし、特に理由がなければ最初はforeach教えた方が・・・
・$this->flashは使わずに$this->redirect
save完了したときなどはとにかくredirectしてる。メッセージ出してあげた方が親切なんじゃ・・・
$this->flashもインデックスには載っていないのでry(Session->flashは載ってた)
ちなみにredirectについてTipsで「redirectはうまく動かない場合もあるので、そういうときはphp.iniを修正」という
解説が載っている。問題起きやすいのならとりあえずflashでいい気がするけど・・・
・beforeFindの実践例で「limitやorderが設定されていなかったらデフォの設定で上書き」というもの
limitはともかくorderは普通にmodelで設定できるからbeforeFind使わないでも・・・
・VALID_NOT_EMPTYは1.2まで使われていたバリデーション用の定数という説明
1.2の時点で非推奨になっていたような・・・(ちょっと自信なし)
・ユーザーデータ用のテーブルがPersonalsテーブル
形容詞じゃなくて名詞でUserテーブルとか、Peopleテーブル(Personモデル)とか・・・
・<a href="/cake/sample/boards/edit/<?php echo $id; ?>">※この投稿を編集する</a>
$html->linkが嫌いなのか、後半を見ても基本的に直でHTML書いてます
ルーティング使うときとか便利だし、とりあえずhtml->link使うように教えた方がいい気がします
・記事を見るのはshowアクション、投稿者のデータを見るのはshow2アクション
さすがにshow2はないんじゃないでしょうか
なんか昔のcgi説明サイトを思い出しました
0274241
2010/08/26(木) 00:45:18ID:???if(!empty($this->data)) {
$this->Board->save($this->data);
}
if($this->Board->validates()) {
$this->redirect('.');
}
検証してないんですが、たぶんこれだと2回バリデーションが行われるんじゃないでしょうか
if(!empty($this->data)) {
if($this->Board->save($this->data)) $this->redirect('.');
}
とかでいい気がします
誤植
・P78 bloards_controller
・P168 コードの方はnotEmptyになってるけど、解説文がVALID_NOT_EMPTY
もうポストイットがもったいない気がしてきた。
0276nobodyさん
2010/08/26(木) 01:41:03ID:???デザイナから上がってきたAタグを$html->linkに置き換えるのは面倒。
どんな属性が入ってるかわからんからその都度optionsに入れる必要がある。
だから href="<?php echo $html->url(array(......))"って書き換えるようにしてる。
0277Perl忍者 ◆M5ZWRnXOj6
2010/08/26(木) 07:17:20ID:/qgtmxHg真似しかできないwwwwwww
Perlの真似
0278nobodyさん
2010/08/26(木) 11:14:50ID:???0281241
2010/08/26(木) 14:05:08ID:???>>273の言うように、買う価値がないと伝わればそれで十分だし。
アマゾンとかブログで書くと個人特定されちゃうしね。
もう秀和システムの本は買わない。
0282nobodyさん
2010/08/26(木) 22:30:09ID:???・・・ver1.1から使ってて基本はわかってるし
あとはネットの情報で補完していくのが利口みたいだね。
0283nobodyさん
2010/08/26(木) 23:15:45ID:bJUkFpkICakePHPのURIって、以下のように成っていかと思いますが、
http://hoge.com/~piyo/home/コントローラー名/アクション名
http://hoge.com/~piyo/home ←この部分を定数にしたいです。
http://hoge.comは、FULL_BASE_URLという定数が用意されているので、取得できるのですが
取得する方法を知っている方は、教えてください。
0284nobodyさん
2010/08/26(木) 23:43:37ID:???0285nobodyさん
2010/08/27(金) 01:57:26ID:???htmlの中にPHPが大量にそのまま混ざってるって、ちょっとありえない
お前らその辺はあきらめて使ってるわけ?
0286nobodyさん
2010/08/27(金) 02:13:56ID:???とか
<?php foreach ($arr as $foo):?>
<?php endforeach;?>
とか
<?php echo $this->element('bar');?>
くらいしか殆ど描かないんだけどいやなの?
いやならsmartyつかえばいいけど
0287nobodyさん
2010/08/27(金) 02:24:01ID:???0288nobodyさん
2010/08/27(金) 02:25:46ID:???PHP?なにそれ?って奴に頼んでるのかお前は
テンプレートエンジンのループなら意味解るけどfor文だとさっぱりとか言う奴の方がむしろおかしい
どうせツールで読み込めば<??>タグなんて無視されるんだし
0289nobodyさん
2010/08/27(金) 10:27:21ID:eU+Zo85kViewでソートをする場合
<?php echo $paginator->sort('ID', 'User.id');?> と書きます。
1:アソシエーションしているモデルを選択している場合、モデル名が必要ですが、
Userというモデル名を書きたくないです。書かずにソートさせる方法はありますか?
2:ソートをクリックした後、URLがsort:User.idのようになりますが、
カラム名がURLに表示する事に違和感を受けます。
数字などに置きかえ出来ないでしょうか?
0290nobodyさん
2010/08/27(金) 10:38:44ID:???0291nobodyさん
2010/08/27(金) 10:40:57ID:???オレオレに戻るのはいかがなもんかとおもうけどな
0292nobodyさん
2010/08/27(金) 10:44:42ID:???0293nobodyさん
2010/08/27(金) 10:59:30ID:???俺はHTMLヘルパーを極力使わないようにして、ソースをシンプルにしてるよ。
デザイナーに見せたら「わかりやすいです」と言っていた。
あとは、>>286みたいに必要なコードだけ教えれば大丈夫だろ。
>>289
nanapiも普通にURLがsort:Search.pvとかなってるし、
気にしなくても大丈夫じゃねぇ?問題あったらこのやり方採用してないだろうし。
0294nobodyさん
2010/08/27(金) 13:25:24ID:???そういう場合ってcakephpのpaginate使えないんだけど、みんなどうしてる?
0296nobodyさん
2010/08/27(金) 13:30:44ID:???1.paginateの結果(キーになる部分のみ)を変数に格納
2.キーをもとにプログラムで計算して、結果を変数に追加
3.編集した変数をsetでviewに渡す
0297nobodyさん
2010/08/27(金) 13:40:06ID:???計算ってどんな?
0299nobodyさん
2010/08/27(金) 14:29:06ID:???そこをルートとして使ってるのなら、普通にそのまま
define("ROOT_URL", "http://hoge.com/~piyo/home")
とかでいいじゃん
>>293
今すぐセキュリティの問題が出るというわけでもないだろうけど、
裏側の情報はあまり見せたくないという気持ちは俺にもわかる
特にsort:User.idみたいなのだと、そのまま中身が見られている
感じがして気持ち悪い
0301nobodyさん
2010/08/27(金) 14:42:02ID:???0302nobodyさん
2010/08/27(金) 15:05:12ID:???ありがとう。
user テーブル 1
id , name
shiken テーブル 多
id user_id tokuten
の関係で、「平均点で50点以上のユーザーのみ取得したい」
とか言う場合なんだけど。
join だと複雑な書き方がいまいちわからず、cakephp1.2なので virtualField使えず。
afterFind でできるならそれが一番楽だと思うんだけど。
一度上記全てをググって勉強してみます。
ありがとう。
0303299
2010/08/27(金) 15:09:18ID:???1.URLはorder:idとかにして、beforeFilterあたりでparams['named']['order']を見て、
モデル名がなければモデル名を付加するとか
2.URLはorder:0とかにしておいて、bedoreFilsterあたりで、0=>id, 1=>createdみたいな
対応表を使って差し替えるとか
cakeのURLはシステム的にわかりやすいけど、ユーザーに見せるURLとは
ちょっと違う気がするんだよなあ
URLがシステム的にわかりやすいと、URLを書き換えて意図しないURLで
アクセスされちゃったりということもあるだろうし
そういうところはきちんと事前に想定して防げばいいんだろうけど、それでも
なるべくユーザーからはシステムは見えなくしたい
0304299
2010/08/27(金) 15:34:45ID:???$paginator->sort('ID', 'User.id');で作られるURLは、order:User.idじゃなくてsort:User.idだな
今試したらアソシエーションしたモデルでorder:idでアクセスするとエラーになるけど
sort:idでアクセスしたら、勝手にモデル名が補完された
なので、モデル名出したくないのなら$paginator->sort('ID', 'id');でいいんじゃない?
アソシエーションした他のテーブルのカラムでorderしたい場合は知らん。
0305nobodyさん
2010/08/27(金) 16:17:00ID:???その場合はやっぱり$paginator->sort('ID', 'User.id');こうなるんじゃないか?
0306299
2010/08/27(金) 16:24:42ID:???tourokujunだったらUser.idに書き換えるとか
0307305
2010/08/27(金) 16:56:58ID:???if (isset($this->params['named']['sort'])) {
if ($this->params['named']['sort'] === 'user_id') {
$this->params['named']['sort'] = 'User.id';
}
}
}
適当にこう書いてみたけど、こんな感じのエラーが出るね。
SQL Error: 1054: Unknown column 'User.user_id' in 'order clause'
これ以上テストするのもめんどいので後はしらねw
0308299
2010/08/27(金) 17:45:25ID:???if (isset($this->passedArgs['sort'])) {
if ($this->passedArgs['sort'] === 'user_id') {
$this->passedArgs['sort'] = 'User.id';
}
}
これで動いた
っていうか>>289は他のテーブルのカラムでソートしたいのか?
0310299
2010/08/27(金) 20:28:29ID:???他のテーブルのカラム指定してもOK
ただ、存在しないカラムを指定するとエラー表示せずにそのままorderなしでSQL発行するみたい
0311nobodyさん
2010/08/27(金) 20:41:40ID:???ソート扱いになっていないみたいなんだが。
0312nobodyさん
2010/08/27(金) 20:48:56ID:???0313311
2010/08/27(金) 20:49:55ID:???308の内容を同じ1.3.3で試してみたけど、確かに1回目のOrderは適応される。
でも、ソートのリンクをクリックしたら並び替えされないし、
対象リンクのマーク(↓↑)が適応されていないよ って事を言いたかった。
308以上の事をしていたら知らんw
0314299
2010/08/27(金) 21:01:05ID:???そりゃあ、pagination helperで出力する内容は変わらないだろ
そっちはそっちで整合するように修正すりゃいい話で
んで>>289,>>305,>>309,>>311,>>313は同一人物なのか?
0315nobodyさん
2010/08/27(金) 21:07:32ID:???書き下手で済まんな・・。
だから要件を満たしてないのでは?って言いたかった。
ちなみに309,311だけど。
0316nobodyさん
2010/08/28(土) 14:08:58ID:???0317Miyagawa ◆M5ZWRnXOj6
2010/08/28(土) 16:50:11ID:kvWFLXrw0318Miyagawa ◆M5ZWRnXOj6
2010/08/28(土) 16:56:12ID:kvWFLXrw死ね!
0319nobodyさん
2010/08/28(土) 16:58:16ID:???0320Miyagawa ◆M5ZWRnXOj6
2010/08/28(土) 17:10:47ID:kvWFLXrw0321宮川マンセーオタ ◆M5ZWRnXOj6
2010/08/28(土) 17:12:21ID:kvWFLXrwノ´::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
(:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
(:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
(:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::)
(:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::)
ヽノヽノヽノノヽノヽノノヽノヽノノヽノヽ、::::::::::::::::)
| ,,;;;;;;;;;;;;;;,,,,,, )) ( ,,,,;;;;;;;;;;;;;,,,, `ヽ、;;;;;;;;::)
|| ̄ ̄ ̄ ̄ ̄|____| ̄ ̄ ̄ ̄ ̄| /~~ヽノ:::)
|| -=・=- 0⌒0 -=・=- | ̄´ ´~) );;::)
|\___/ノ ミ\___/ヽ つ, ノ;;;:ノ
| ´ ./ 、´ ` (_ノ;;;ノ
< (。、 。) >;;;;::ノ
\ ノ`∪´ ヽ、 /|;;;;ノ
| ....(/~~~~~~~\).... 彡 |ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ( ̄ ̄~~~ ̄ ̄) | イ < 宮川さんを馬鹿にするのはやめませんか?
| ~~ ̄`´ ̄~~´ / | \______________
\ .....´⌒`...... / |
_|\_;;;;;;;;;;;__/ |__
__/;;;ノ /;;;;;;;;;;;;\___
/;;;;;;;;;;;;/;;;;\ ./;;;;;;;;;;;;;;;;;;;;;;;;;\;;;;;;;;;;;\
0322nipotan ◆M5ZWRnXOj6
2010/08/28(土) 17:14:12ID:kvWFLXrw/ ____彡
/::::::/━ ━ \
/:::::/ _ _ |
|::::/--((・))―((・))(
(6  ̄ つ  ̄ ヽ
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ∴)\_/ (∴ | < こら、宮川さんとか馬鹿にするのはやめろ
ヽ ― 丿 \________
\_____/
0323nobodyさん
2010/08/28(土) 17:19:32ID:???0324Perl忍者 ◆M5ZWRnXOj6
2010/08/28(土) 17:27:39ID:kvWFLXrw∠ ̄\∩
|/゚U゚Lノ くたばれとか暴言やめろ
〜( ニ⊃
( 丶/
ノ>ノ
UU
0325nobodyさん
2010/08/30(月) 02:24:39ID:???具体的に言うと、あらかじめ作成しておいたHyperestraierのインデックスを使って、
サイト上の検索窓から検索させたいです。
APIとしては、EstraierPureをapp/vendors配演コに設置しましbス。
しかbオ、以下をどうbキればよいか分bゥらず、止まっbトいる状態です=B
(1) Hyperestraierのノードをどこのディレクトリに格納すればよいか
とりあえず/home/user/public_html/estraierディレクトリ配下にcasketを
格納したものの、ノードのURLとしては正常に機能していない状態のようです。
http://localhost/~user/estraier/casket
とすると、"Missing Controller"というCakePHPのエラーが出ます。
とりあえず、ここに質問する前に参考にしたサイトを挙げます。
■cakephpでhyperestrailerによる検索(CGI)
http://d.hatena.ne.jp/oggata/20100406/1270540127
■EstraierPure
http://page2.xrea.jp/#EstraierPure
■EstraierPureのapp/vendorsへの配置方法について
http://www.and-works.co.jp/wp/archives/66
http://book.cakephp.org/ja/compare/539/Vendor-examples
環境は以下の通りです。
CakePHP: 1.3.0-beta
Hyper Estraier 1.4.9 on Linux
EstraierPure: 0.6.0
0326nobodyさん
2010/08/30(月) 05:34:09ID:???0327nobodyさん
2010/08/30(月) 21:41:40ID:???0329325
2010/08/31(火) 00:42:33ID:???>>327
betaが出た頃にインストールして、支障がなかったのでそのまま使っています。
あれから、HyperestraierのDBとノードを混同しているらしい事に気づきました。
とりあえず別途、Hyperestraierのノードを起動してから試してみようと思います。
0330nobodyさん
2010/08/31(火) 19:00:53ID:???0331Perl忍者 ◆M5ZWRnXOj6
2010/08/31(火) 21:18:35ID:NL5nyoqMレ|::|::::::::::::'、::::::N j/ ノ,、_`__> }:::::::i`i::ト-'´-
i::|、::::::ハ{`、:::{ ー夂_,ノイ:::::ノ ノ、j: : : : :
j_ハ`、 { `ヾ `、\ ノ / ー'´___,ィ ム'´i j-―ー--
}::!'i、`、ー=r==、 ` 、 / ,r='ラ ̄// i`ソ/: : : : : : : :
'、`ハ \_`ー'´\ 、_ i i /__`´__ノノ ム'/、__: : : : : : :
r')、゛'、  ̄二ニ´ 、`= /´ニ二 ̄ レ':::r'´'、: : : : : :
r-、_!厶`Ti、 ` /:::::トv':.:.:.:.iー- ..__
/ j .V レ、 , ハ∧j:.:.:.:.:.:.:.\:.:.:.:.:
_ノ i / |ハ!`、 _ `ー' _,.r / |:.:.:.:.:.:.:.:.:.:.:.:.:.:.:
r-‐'´ |/ |' `ヽ、 ̄ ̄二二 ̄ ,.イ |:.:.:.:.:.:.:.:.:.:.:.:.:.:.
r-‐/ i | i`ー..._ ,.. -'´/ |:.:.:.:.:.:.:.:.:.:.:.:.:.:.
なにこのスレ・・・しねよ
0332nobodyさん
2010/08/31(火) 23:13:39ID:???0333nobodyさん
2010/09/01(水) 10:40:36ID:???0334nobodyさん
2010/09/01(水) 10:47:09ID:???0335nobodyさん
2010/09/01(水) 10:56:06ID:???0336nobodyさん
2010/09/01(水) 11:14:10ID:???0337nobodyさん
2010/09/01(水) 11:19:23ID:???PHP Matsuri
2010年10月2日・3日開催のPHP開発合宿イベント
参加登録始まってます
0338nobodyさん
2010/09/01(水) 11:26:16ID:???0339nobodyさん
2010/09/01(水) 12:14:15ID:???0340nobodyさん
2010/09/01(水) 12:30:22ID:???0341nobodyさん
2010/09/01(水) 14:13:54ID:???0342nobodyさん
2010/09/01(水) 14:28:13ID:???0343nobodyさん
2010/09/01(水) 17:53:25ID:???0344nobodyさん
2010/09/02(木) 16:10:42ID:???0345nobodyさん
2010/09/02(木) 16:19:21ID:???INSERTとかUPDATEとかそう言う構文じゃなくて、概念として。
0346nobodyさん
2010/09/02(木) 20:09:48ID:???0347nobodyさん
2010/09/02(木) 21:17:01ID:???コードでガシガシ書いて品質落とすはめになるとか、よく見る。
ただでさえPHPは危険なコードを書きやすいし。
0348nobodyさん
2010/09/02(木) 23:08:37ID:???SQLインジェクションが大手サイトで未だに多いのも、それだろうね。
0349nobodyさん
2010/09/03(金) 01:14:46ID:???まともな奴でそんな事言ってるの小飼弾くらいだろ
0350nobodyさん
2010/09/03(金) 02:05:24ID:???危険というか、無限ループだけど。
0352nobodyさん
2010/09/03(金) 08:16:34ID:???昔よくあったクソみたいなPerlCGIはなんだったのみたいな
0353nobodyさん
2010/09/03(金) 08:49:05ID:???セキュリティホールが生まれやすいって部分に関しては特に言語に優劣があるわけじゃないと思う。
強いて言えばメモリ関連も自分でやらなきゃならんC/C++が多少不利なくらいでしょ。
0354nobodyさん
2010/09/03(金) 09:50:17ID:???0356nobodyさん
2010/09/03(金) 12:18:04ID:???0358nobodyさん
2010/09/03(金) 17:44:25ID:???0359nobodyさん
2010/09/03(金) 17:54:12ID:???0360nobodyさん
2010/09/03(金) 21:43:21ID:???0361nobodyさん
2010/09/04(土) 03:07:07ID:???validationルールで、numericまたはdecimalってのはどう書けばいいんでしょう
複数ルールのANDは並べればいいらしいけどORがわからない
0362nobodyさん
2010/09/04(土) 10:47:54ID:???0363nobodyさん
2010/09/05(日) 00:03:21ID:???http://www.amazon.co.jp/dp/4434147463/
これ立ち読みしてきた
159ページしかないのに3780円もしてビックリした
内容は簡単なECサイトのチュートリアルという感じで、詳しい部分には突っ込んで書かれていない
サンプルコードも「こんなので大丈夫なのか?」と思うような記述がちらほら
なんか書籍は最近不作ね
1.3のオフィシャル本が出ればいいのに
0365nobodyさん
2010/09/05(日) 01:42:24ID:???せめてphpshotのPHPエディタだろw
0366nobodyさん
2010/09/05(日) 03:15:36ID:???0367nobodyさん
2010/09/05(日) 15:21:03ID:???0368nobodyさん
2010/09/05(日) 16:09:00ID:???0369nobodyさん
2010/09/05(日) 18:13:52ID:???0370nobodyさん
2010/09/05(日) 18:23:30ID:???0371nobodyさん
2010/09/05(日) 18:49:40ID:???ちゃんと金払ってマクロ使いこなしてじゃないと
秀丸で書く意味ないだろ
0372nobodyさん
2010/09/05(日) 18:56:17ID:???0373nobodyさん
2010/09/05(日) 19:40:10ID:???0374nobodyさん
2010/09/06(月) 00:33:55ID:???0375nobodyさん
2010/09/06(月) 01:59:52ID:thbJcGM5それを1つの配列にまとめたいと思っています。
以下のソースで1つの配列に代入出来ますが、ツリー通りの順番になりません。
どの変を直すと、良いのでしょうか?1.3.3を使っています。
function index(){
$data = $this->Category->find('threaded');
$list = array();
foreach ($data as $ary) {
$list[] = $ary['Category'];
if (isset($ary['children'][0])) {
$this->_children($list, $ary['children']);
}
}
}
function _children(&$list, $data)
{
foreach ($data as $ary) {
if (isset($ary['children'])) {
$this->_children($list, $ary['children']);
}
array_push($list, $ary['Category']);
}
}
0376nobodyさん
2010/09/06(月) 15:00:11ID:???yiiを見ているのですが、下のソースはどういう意味でしょうか?
Yii::createWebApplication($config)->run();
Hoge::foo($config)->huga();
この書き方はスマートでよさげなのですが、どういった構造になりますか?
↓ではないようなのでさっぱりです。
class Yii {
function :createWebApplication($config) {
...
}
function run() {
...
}
}
0377nobodyさん
2010/09/06(月) 15:13:49ID:???0378376
2010/09/06(月) 15:42:58ID:???FW総合と間違えて誤爆しました。
無視してくださいm(_ _)m
0379nobodyさん
2010/09/06(月) 15:45:32ID:???自分も少し読んでみた…
…読み辛過ぎる…。
これ入門書なんだけど、本のレイアウト、文章構成等が壊滅的。
プログラム以前の問題。
他にCake本がなければ我慢して読むレベルだと思う。
ちなみに「ECサイトのチュートリアル」ではなく、
発行元のオモドックが作った?ECサイトのオープンソースを
カスタマイズしていく、という内容。
(ダウンロード元のURLは本に載っている)
…ECサイト作成入門、という言葉からフルスクラッチを想像してしまったんだが…。
入門書なら、>>241 にボロカスに書かれている
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用
の方が内容的にも値段的にも全然マシ。(といっても、1.2版しか読んでないけど)
0380nobodyさん
2010/09/06(月) 19:32:08ID:3l/prticというかphp、cakeに関係する良書教えてください。
0381nobodyさん
2010/09/06(月) 19:52:25ID:???PHPエディタはヒアドキュメントの中に不等号入れると、文法が合ってても色付けがぶっ壊れるね
PHP専用エディタなのに適当過ぎるわ、作者は直すこともできないらしいし
0382nobodyさん
2010/09/06(月) 20:21:03ID:???残念ながら良書はない。どれも作者の色が強い内容。
ポケットリファレンス的な本があればいいのにな。
Cakeも一応あるけど、バージョンがもう古い。
0384nobodyさん
2010/09/06(月) 20:52:42ID:???ありがとうございます。
古いのは知ってましたが、ポケットリファレンスは買いました。
細かい仮引数の意味は書いてませんでしたが役に立ちました。
>>383
ありがとうございます。
Amazonチェックしておきます。
皆さんがcakeを極められたのはやっぱり実務と経験なんですかね。
オライリーが本気出してくれればすごい助かるのに。
0385nobodyさん
2010/09/06(月) 20:52:56ID:???実際便利だし
0386nobodyさん
2010/09/06(月) 21:16:32ID:???マニュアルのブログもどきのチュートリアルから
例えば一般のブログサービスにあるような機能を足してみたりして膨らませて行けばいい。
車輪なんて何回でも発明してやれ。
0387nobodyさん
2010/09/06(月) 21:30:48ID:???売れてないのかな
0388nobodyさん
2010/09/06(月) 21:41:20ID:???どうやって探せばいいのかよくわからない
0389nobodyさん
2010/09/06(月) 23:46:08ID:???0390nobodyさん
2010/09/07(火) 00:02:35ID:???0391nobodyさん
2010/09/07(火) 00:04:24ID:???殴り書きしたサイトなら5つくらいあるから頑張って探して
セキュリティホールってこうやってできるんだって勉強になるよ
0392nobodyさん
2010/09/07(火) 00:49:04ID:???0393nobodyさん
2010/09/07(火) 00:52:18ID:???0394nobodyさん
2010/09/07(火) 01:06:51ID:???0395nobodyさん
2010/09/07(火) 03:36:17ID:???テーブル数10以下のCMSなら、簡単に出来そうだけど。
0397nobodyさん
2010/09/07(火) 09:42:42ID:???一番酷かったのは20万で100画面規模のエロサイト
テーブル数は細かいマスタまで入れると50くらいだったわ
納期は2週間だったけどもちろん遅らしたあげくキレた
0398nobodyさん
2010/09/07(火) 09:43:19ID:???0401nobodyさん
2010/09/07(火) 10:42:56ID:???そんな低料金でやるバカが居るから値崩れするんだよ
死んで詫びろ
0402nobodyさん
2010/09/07(火) 10:47:18ID:???UTF-8はBOM付きで保存しろって書いてある・・・。
0403nobodyさん
2010/09/07(火) 10:59:22ID:???低料金でしか発注しない人がいるんでしょ
パスしても、だれかが受けちゃうよ?需要と供給はマッチしとるわな、残念ながら
0404nobodyさん
2010/09/07(火) 11:03:01ID:???新しい取引先と初回の契約だとリスクヘッジで単価下げられる事もあるし
それでも他に仕事ないなら受けた方がプラスになるし
0406nobodyさん
2010/09/07(火) 12:47:47ID:???クズが
0407nobodyさん
2010/09/07(火) 13:25:36ID:???0408nobodyさん
2010/09/07(火) 13:41:29ID:???0409nobodyさん
2010/09/07(火) 13:46:30ID:???0410nobodyさん
2010/09/07(火) 14:30:21ID:???0411nobodyさん
2010/09/07(火) 14:46:25ID:???0412nobodyさん
2010/09/07(火) 14:51:00ID:???ローカルにダウンロードしたいけどそういうのもナシ
0413nobodyさん
2010/09/07(火) 14:56:03ID:???http://book.cakephp.org/ja/complete/876/The-Manual
これ保存せい
0415nobodyさん
2010/09/07(火) 16:07:42ID:???日本語版:Cakebook
何の誤訳だよ
0416nobodyさん
2010/09/07(火) 16:13:54ID:???けど、英語読めないから辛い・・・
0417nobodyさん
2010/09/07(火) 16:19:18ID:???0419nobodyさん
2010/09/07(火) 16:35:15ID:???英語の教科書やテストみたいになんの興味もないヒネったつまらん英文ってわけでもないし
別にたいして難しく書いてあるわけじゃあないよ。
いずれにしてもAPIまで読んで行く時にそっちは翻訳されてないし。
いい機会なんだからめんどくさがらずにがんばれ。
0420nobodyさん
2010/09/07(火) 16:36:45ID:???エキサイト翻訳にかけるか、Googleツールバーで一括翻訳か
どれかしてる。それである程度意味はわかるけど、英語が苦手なのは確かだ。
0421nobodyさん
2010/09/07(火) 16:55:31ID:???でもじっくり読んでたら頭の中が英語脳みたいに切り替わる瞬間みたいなのがあって面白い。
0422nobodyさん
2010/09/07(火) 17:56:23ID:7yk3+8B4どうすればいいのでしょうか?
$form->input('year', array('type' => 'select', 'options' => $options));
として、自前で$optionsの内容を作成する方法しかないのでしょうか?
0423nobodyさん
2010/09/07(火) 19:52:56ID:???$form->year() じゃ駄目なのかい?
http://api12.cakephp.org/class/form-helper#method-FormHelperyear
0425nobodyさん
2010/09/07(火) 20:10:54ID:???0426nobodyさん
2010/09/07(火) 20:53:13ID:???0427nobodyさん
2010/09/07(火) 21:15:31ID:???0428nobodyさん
2010/09/07(火) 22:51:00ID:???cakePHPなどのMVCモデルで、何行ぐらいのコードになったら別個のファンクションに
するべきか悩んでおります。
コントローラーにはビジネスロジックを書かずに、モデルにどんどん書いています。
すると、今度はモデル内のコードがごちゃごちゃしてきました。
繰り返しをするコードは別個のファンクションにしていますが、単純に、モデル内における
ファンクション内のコード数が長くなりすぎた場合、どの程度で別のファンクションに分けるべきでしょうか?
0429nobodyさん
2010/09/07(火) 22:58:24ID:???なんで行数?わけわからn
一連のロジックのうち、他で再利用する可能性が高いものはメソッド化するかな
行数なんか考えたこともないわ
0430428
2010/09/07(火) 23:10:34ID:???ありがとうございます。
再利用しそうにないコードがずらずらと並んで、結構
長いファンクションになってしまったもので。。
0431nobodyさん
2010/09/07(火) 23:31:46ID:???とかしたらどうだ?
モデルにまとめるなら、app_controllerとか作ってさ。
俺はもっと細かく、member_controllerとかコンテンツ毎に分けてるけど。
0432nobodyさん
2010/09/07(火) 23:43:39ID:???あと3回ってなんだ3回って。なんで3回だ2回ならコピペするのか?
0433nobodyさん
2010/09/07(火) 23:50:16ID:???それを言いたいのに、「どういうこと?」っていちいち聞き返すなよ。めんどくさい。
0434nobodyさん
2010/09/07(火) 23:56:03ID:???折りたたみできるエディタ使うか、使い回ししないやつでもメソッド切り分けるかしたら?
0435nobodyさん
2010/09/07(火) 23:56:13ID:???急にキレてるけど頭おかしいの?
0436nobodyさん
2010/09/07(火) 23:57:35ID:???親子関係は定義したくないです。1個関数を呼びたいだけで、それ以外に関係がないので
0437nobodyさん
2010/09/08(水) 00:03:20ID:???http://www.happytrap.jp/blogs/2009/03/23/793/
0438nobodyさん
2010/09/08(水) 00:15:59ID:???dです
あとモデルからもその関数が必要になってしまった。
コントローラをモデルに渡してそれ経由でという強引なやり方以外にありますでしょうか?
0439nobodyさん
2010/09/08(水) 00:18:47ID:???0440nobodyさん
2010/09/08(水) 00:25:38ID:???0441nobodyさん
2010/09/08(水) 02:30:02ID:???うまくいきました
同じ処理をあちこち書きたくないからしょうがない
0442nobodyさん
2010/09/08(水) 02:48:11ID:???0443nobodyさん
2010/09/08(水) 02:50:03ID:???クズが
0444nobodyさん
2010/09/08(水) 02:56:13ID:???0445nobodyさん
2010/09/08(水) 03:17:15ID:???0446nobodyさん
2010/09/08(水) 03:23:00ID:???0447nobodyさん
2010/09/08(水) 03:46:25ID:???もっかいMVC勉強してこい
>cakeってMVCどこでも使う処理の置き場に困るよね
vendorsでいいだろ
>>446
お前だ
0448nobodyさん
2010/09/08(水) 05:26:59ID:???あとは二回以上使いまわしたら関数にするとか。
0449nobodyさん
2010/09/08(水) 12:13:43ID:???表示が反映されない物がある。おそらく、参照先が同階層になっているんだろう。
その場合、ライブラリ側のソースをいじっって、定数を入れたりして
多階層対応にするか、そのままにして、Cake側で工夫するか。
俺は後者を選んだ。オープンソースとはいえ、むやみに手を加えるべきじゃない。
0450nobodyさん
2010/09/08(水) 13:05:01ID:???参照先が同階層
多階層対応
何言ってるのか全く分からない
0451nobodyさん
2010/09/08(水) 13:07:08ID:???0452nobodyさん
2010/09/08(水) 13:16:38ID:???dirname(__FILE__)
0453nobodyさん
2010/09/08(水) 14:01:49ID:???0454nobodyさん
2010/09/08(水) 14:30:26ID:???0455nobodyさん
2010/09/08(水) 16:14:15ID:???0456nobodyさん
2010/09/08(水) 16:37:51ID:???0457nobodyさん
2010/09/08(水) 16:40:32ID:???中途半端な知識で人に教えないほうがいいとおもうけどなー
0458nobodyさん
2010/09/08(水) 17:18:50ID:+2USXYbVどういう値でも全てエラー扱いになります。
どこを直せばいいのでしょうか?アドバイスをいただければと思います。
var $validate = array(
'user_id' => array(
array(
'rule' => 'checkUserId',
'message' => 'IDが存在しません',
)
));
function checkUserId()
{
$data = $this->User->findById($this->data['Profile']['user_id']);
if(!$data){
return false;
}
}
0459nobodyさん
2010/09/08(水) 17:22:28ID:???0464nobodyさん
2010/09/08(水) 18:12:31ID:???>オープンソースなんだからソース読んで自力で解決しろよと思う
と書いてあるわけだが。
ソース読めば、なんですべてエラー扱いになるか理解できるはず。
それを怠って人に頼っている時点で酷いと言ってる。
0465nobodyさん
2010/09/08(水) 18:14:01ID:???じゃ聞くが、458のような書き方ってソースの問題か?
単に構築上での質問だと思うが。
そしてそれすらも自分で考えろって言うなら、
>>1で質問受け付けないようにしないとな。
0466nobodyさん
2010/09/08(水) 18:28:54ID:???前半、なにを言いたいのかよく分からないが、ソース読めば
trueを返さなければいけないって分かるだろ?
>>>1で質問受け付けないようにしないとな。
それ賛成
>>463
勉強する気があるならmodel.phpのinvalidFieldsの中を読んでみ
0467nobodyさん
2010/09/08(水) 18:29:06ID:???ぐぐると使用例がいっぱい出てくるけど、使ったらエラーが出た
Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near 'findAll'
at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 673]
0468nobodyさん
2010/09/08(水) 18:29:42ID:???0472nobodyさん
2010/09/08(水) 18:38:27ID:???嫌なら答えなければいいのに。なにかお前に対して迷惑かかるのかよ
0473nobodyさん
2010/09/08(水) 18:43:02ID:???0475nobodyさん
2010/09/08(水) 20:24:25ID:???0476nobodyさん
2010/09/08(水) 22:09:02ID:???458のためを思って言ってるんだけどね。
あのくらいの問題を自分で解決できないんじゃ、いつまでたっても成長しないだろ?
0479nobodyさん
2010/09/09(木) 02:03:12ID:???0480nobodyさん
2010/09/09(木) 02:05:46ID:???0481nobodyさん
2010/09/09(木) 02:56:55ID:???0482nobodyさん
2010/09/09(木) 03:00:37ID:???0483nobodyさん
2010/09/09(木) 10:33:38ID:???しかも回答貰ってんのに自己解決とかいっちゃってるし
0484nobodyさん
2010/09/09(木) 10:41:38ID:???0485nobodyさん
2010/09/09(木) 11:27:23ID:???自分が知ってて簡単に答えられそうで、尚かつめんどくさくないなら。
面倒な奴は無視すれば良いんだよ。
誰かに教える事で不利益を被るのか?自分もググって他人に教えてもらうのに。
0487nobodyさん
2010/09/09(木) 12:25:37ID:???とにかくなりすましができる環境で質問してあれは俺じゃないとか
実はあれ頴田の俺でしたみたいな感じになるのが荒れる最大の原因だから
0488nobodyさん
2010/09/09(木) 12:31:13ID:???0489nobodyさん
2010/09/09(木) 13:20:50ID:???お前馬鹿か?それかネットやったことないとか?
荒れるのは十中八九「誰かが構うから」だ。構わず無視しとけばいいだろ。
心底教えて欲しいと思う奴はID出すし、騙られるのが嫌な奴もそうする。
0491nobodyさん
2010/09/09(木) 13:39:32ID:???0492nobodyさん
2010/09/09(木) 14:04:42ID:???0495nobodyさん
2010/09/09(木) 16:07:57ID:???0498nobodyさん
2010/09/09(木) 16:25:31ID:???他所でやれ
0499nobodyさん
2010/09/09(木) 16:30:25ID:???0500nobodyさん
2010/09/09(木) 16:31:11ID:???0501nobodyさん
2010/09/09(木) 17:26:36ID:???0502nobodyさん
2010/09/09(木) 17:43:47ID:???Cakeは情報が多くて助かるが多すぎるのもあれだな
0503nobodyさん
2010/09/09(木) 17:48:27ID:???0504nobodyさん
2010/09/09(木) 17:52:06ID:???0506nobodyさん
2010/09/09(木) 21:50:33ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GPTB_jaJP291JP291&q=bom
0507nobodyさん
2010/09/10(金) 00:50:01ID:???BOMつけようとする奴ははじめてみた
0508nobodyさん
2010/09/10(金) 00:51:02ID:???0509nobodyさん
2010/09/10(金) 12:38:20ID:???ぐぐったら、<?php echo $this->element('sql_dump'); ?>
でいけるとすぐ出てきたのですが、やってみたら
Not Found: /xxx/xxxxx/app/views/elements/sql_dump.html;
とエラーになります。
elements/sql_dump.htmlがないみたいなんですがどこかで入手できるのでしょうか?
0511nobodyさん
2010/09/10(金) 14:00:06ID:???あぁすまん、よく読んでなかったわ。
sql_dump.ctpは/xxx/xxxxx/cake/views/elementsにあるはずなんだが、ないか?
0513nobodyさん
2010/09/10(金) 14:51:11ID:???普通にSQL文のテーブルが出力されたけどな。
やっぱ、元ファイルの拡張子をhtmlにしたのが原因だと思う。
0514nobodyさん
2010/09/10(金) 15:15:18ID:???こんな弊害あるのね
0515nobodyさん
2010/09/10(金) 15:30:29ID:???<?php echo $this->element('sql_dump.ctp'); ?>
0517nobodyさん
2010/09/10(金) 16:16:11ID:???「view.php」というviewファイルを扱おうとしたら動作がおかしくなった。
0518nobodyさん
2010/09/10(金) 16:30:54ID:???foreach ($paths as $path) {
if (file_exists($path . 'elements' . DS . $name . $this->ext)) {
$file = $path . 'elements' . DS . $name . $this->ext;
break;
}
}
ってなってるから無理
cssだと拡張子ついててもOKなのに、こういう統一性がないところが嫌だな
0519nobodyさん
2010/09/10(金) 23:46:45ID:???cake/views/elementsのほうにありました。app/views/elementsの方見てた。
解決しました、アリが東
0520nobodyさん
2010/09/11(土) 23:25:50ID:7mKdJQTUそれぞれのapp内で同じコンポーネントやヘルパーを使いたいとします。
その場合、どちらかをrequireして読み込む方法しかないのでしょうか?
0521nobodyさん
2010/09/11(土) 23:39:30ID:???0522nobodyさん
2010/09/11(土) 23:42:40ID:???0523nobodyさん
2010/09/11(土) 23:43:36ID:7mKdJQTUそこにファイルを置くと、app内に置かなくても読み込まれました。
App::build(array(
'helpers' =>array(ROOT . DS . 'common' . DS .'helpers' . DS),
));
こういう便利な機能があったんですね。もう少しマニュアル読んで勉強します。
0524nobodyさん
2010/09/11(土) 23:57:14ID:???0526nobodyさん
2010/09/12(日) 00:00:49ID:???0527nobodyさん
2010/09/12(日) 00:53:23ID:???PHPで作る携帯サイトって本を買ったんだけど、
appフォルダとapp_adminをドメインで分けて作っていっくことを前提で解説してあったんで
0528nobodyさん
2010/09/12(日) 00:58:08ID:???別の方法考えな。
appとapp_adminを分けるってことはそれぞれのフォルダにいくつか同じファイルが存在するってことだろ?
バグ生み出す原因を作るだけだぞ
0530528
2010/09/12(日) 01:30:51ID:???その本持ってたわw
やり方は本に書いてあるから、よく読め
>>529
前半部分しか読んでないけど、新たな発見があって悪くはなかった。
p118の表とかCakeの流れが分かりやすく書かれてたし。
0531nobodyさん
2010/09/12(日) 02:32:07ID:???同じコントローラーでも公開・管理で仕様が異なるんだから
バグの原因にならないと思うけど。
むしろ、1つのファイルに長々とコードを書いていくことが
バグや見落としの原因になるぞ。
0532nobodyさん
2010/09/12(日) 02:53:28ID:???あぁスマン>>528は本見る前に書いたレスだから忘れてくれ。
同じコードがあちこちに散在しているプロジェクトは修正忘れが起きやすくバグをうむ。
だから、>>528みたいな忠告をしたんだけど、ソース見てみたら、
共通なのはapp_model.phpとか、あまりないのな。
0533nobodyさん
2010/09/12(日) 03:16:47ID:???ついでだから、こちらも質問させてくれ。
1つの関数に長々とってなら分かるけど、
1つのファイルに長々とコードを書いていくとバグの原因になるのはなんで?
0534nobodyさん
2010/09/12(日) 03:23:34ID:???モデルなんて一緒じゃないの?
0535nobodyさん
2010/09/12(日) 03:58:40ID:???0536nobodyさん
2010/09/12(日) 04:35:47ID:???views,controllersは別々で問題ない。
configあたりはほぼ同じ内容でコピペなんだろうね
でもなんだかんだで同じ処理って出てくるよなぁ
メンテナンス性は落ちそうに思うんだけどな
0537nobodyさん
2010/09/12(日) 05:12:08ID:???前者がわかるのになぜ後者がわからないの?
単にコードが長いと見落としがあるだろ。
それ以外も出来るだけコードを簡潔にするのが良いって聞いたこと無いか?
>>534
それは>>523にすればいいんじゃねぇ?
実質、configファイルのコピーだけだと思う。
俺の場合、公開用・管理用とで分けてるから、同じような処理は出にくいな。
findのconditionやsaveの条件も異なるし。ビューの表示する内容も。
0538nobodyさん
2010/09/12(日) 05:14:56ID:???コントローラー内でアクション分けする方法もあるから、
自分が管理しやすい方法でやればいいと思うよ。
0539532
2010/09/12(日) 09:03:48ID:???コロコロ意見変わってスマンが、やっぱり>>532は撤回。
たまたまチェックしたmodelのファイルの中身がアソシエーションとバリデーションの
設定くらいしか書いてなかったから、このくらいならいっかと思ったけど、
よくよく調べると、他にも同じようなコードが散在しているね。
メンテナンス性を考えるとモデルくらいは>>523のようにした方がいい気がする。
>単にコードが長いと見落としがあるだろ。
>それ以外も出来るだけコードを簡潔にするのが良いって聞いたこと無いか?
関数なりメソッドなりのコードを簡潔にするってのは聞いたことあるけど、
ファイルを短くた方がいいなんて聞いたことがないな。
ファイル分割したら、コードの見落としって減るか?
1つのファイルに100個ぐらい関数あったら、見落としそうってのも分かるけど、
Cakeのファイルなんて普通は多くても10個や20個じゃない?
0540nobodyさん
2010/09/12(日) 13:24:32ID:???0541nobodyさん
2010/09/12(日) 13:44:17ID:???あんまりスクロールが長いと可読性が下がって見落としが増える。
コメントを充実させたり、役割ごとにきちんとファイル分けした上での関数10個なら問題ないと思う。
ごった煮でファイル名が曖昧になるようなファイルは関数10個でも見辛い。
0542532
2010/09/12(日) 14:02:34ID:???PDTみたいなの使ってない?
PDTだと関数一覧が表示されるから、そういう理由で可読性が下がることはないと思うぞ。
便利だし、使ってみたら?
>ごった煮でファイル名が曖昧になるようなファイルは関数10個でも見辛い。
それは論外でしょ
0543nobodyさん
2010/09/12(日) 15:11:59ID:???普通にありえるだろ。
数学ファイルなのか、ベクトル計算ファイルなのか、二次元ベクトル計算ファイルなのか、内積計算ファイルなのか。
抽象化されたファイル名になればなるほど、およそ関係ないか、他でも再利用可能な便利関数でてくる。
トレードオフな関係に論外はありえない。
0545nobodyさん
2010/09/12(日) 17:27:22ID:???自分が書いたCakeのアプリはそうだね。
分割してもControllerやModelのコードの半分以上が共通になるような仕様だったから。
>>527のControllerみたいに共通する部分がほとんどない場合は分割すればいいと思うよ。
>>543
曖昧になるのは単にセンスがないだけだと思うのだが。
たぶん単なる例えで言ったんだろうけど、
>数学ファイルなのか、ベクトル計算ファイルなのか、二次元ベクトル計算ファイルなのか、内積計算ファイルなのか。
って、全部まとめてmathファイルでよくね?
0546nobodyさん
2010/09/12(日) 17:49:39ID:???センスで作られたコードほど読み辛いものはないし
曖昧なケースなんてコーディングしてればいくらでもでてくるだろ…
中、大規模なコーディングしないと解らないのかもしれん。
0547nobodyさん
2010/09/12(日) 19:06:17ID:???model内の変数を処理する時に、配列を使うか、オブジェクトにしちゃうかの判断は
どうすればよいでしょうか?
オブジェクトってどこからでも取り出せて便利だから、今まで
$thisMonth = date(m);
こんな感じでやっていたのも、
$this->thisMonth = date(m);
のように基本的に全部オブジェクトにしたらいいんじゃないか?って思っちゃったのですが、
大きな間違いでしょうか?(重くなるとか・・)
0549547
2010/09/12(日) 19:21:33ID:???分かりにくくて申し訳ないです。
functionをまたいで使用する値を格納する時に、
全部オブジェクトにしちゃうのはまずいのだろうか?っていう疑問です。
下記のような形の時です。
public function getDate(){
$this->thisMonth = date(m);
}
public function showDate(){
$this->getDate();
echo $this->thisMonth;
}
0550nobodyさん
2010/09/12(日) 19:22:56ID:???というか此処で聞くことじゃないってわからないの?
0551547
2010/09/12(日) 19:30:59ID:???申し訳ありませんでした。
メンバ変数というのですね、ググって勉強しなおします。
どうもありがとうございます。
0552nobodyさん
2010/09/12(日) 19:54:10ID:???単に覚え間違いだったのかw
0553nobodyさん
2010/09/12(日) 19:59:05ID:???0554nobodyさん
2010/09/12(日) 20:03:01ID:???0555nobodyさん
2010/09/12(日) 20:08:24ID:???最初からソース提示してるんだからわかる。スレ違いなだけ。
それに対して「単に覚え間違い」とかずれたツッコミしてるんだけど?
0556nobodyさん
2010/09/12(日) 20:08:24ID:???メンバ変数をオブジェクトだと思っていたところ。
そしてそれをオブジェクト指向と関係があると思い、
CakePHPのスレで質問したところ。
更に、547自身が何を笑われているかわからないところ。
0557nobodyさん
2010/09/12(日) 20:09:17ID:???>最初からソース提示してるんだからわかる。スレ違いなだけ。
俺らはエスパーだと思ってるの?
0560nobodyさん
2010/09/12(日) 20:13:46ID:???0561nobodyさん
2010/09/12(日) 20:18:41ID:???実にくだらない
0562nobodyさん
2010/09/12(日) 20:41:18ID:???毎度ご苦労様です!
0563nobodyさん
2010/09/13(月) 00:08:18ID:???と思ったら
2.0系もでんのか??
スピードはええな
0565nobodyさん
2010/09/13(月) 03:04:28ID:???2.0マジか!知らなかった・・・
1.2.xから1.3.xの時は結構大変だったけど、
2.0系も別物な感じなの?
今日知ったばかりでまた情報集めてるとこなんだ
# やっと管理してるの片っぱしから1.3.3にしたのに。。。
0566nobodyさん
2010/09/13(月) 14:33:45ID:???オフィシャルのマイグレーションガイドも、ちょっとだけだったし
2.0はまったく見てないからわからん
0568nobodyさん
2010/09/13(月) 14:47:44ID:???0570nobodyさん
2010/09/13(月) 16:48:46ID:???>>567
ありがと 昨日、流れっていうのかな見たよ
プロジェクトなのか派生なのかずいぶんでてるんだね
純正というかメインのStableはCakePHP1.3.3ってことでいいのかな
>>568
配列は慣れな気がしてきたよ
0571nobodyさん
2010/09/13(月) 17:56:55ID:???ただ、モデル(テーブル)を$data['User']['name']感じにする概念は無かったが。
0572nobodyさん
2010/09/14(火) 17:23:02ID:sGtN+/unafterFilterを使って出力時にmb_convert_encodingで
UTF-8からSJISに文字コード変換する方法は良くあるのですが、
findでデータ取得の時にSJISにする方法ってないでしょうか?
0573nobodyさん
2010/09/14(火) 17:36:34ID:???ビューもUTF8にしてafterFilterで文字コード変換じゃダメなの?
find時に文字コード変換はafterFindでできそうな気がするけど、
DBもUTF-8で作ってるのにビューだけShiftJISにこだわる理由はあるんだろうか
0574nobodyさん
2010/09/14(火) 18:12:47ID:sGtN+/un携帯用のビューでして、ShiftJISで表示させたいんです。
0575nobodyさん
2010/09/14(火) 18:15:45ID:???まずsageようじゃないか
そして>>573にあるように、UTF-8でつくろう
方法はキミが分かってる通りだ
0576573
2010/09/14(火) 18:22:34ID:???あと、UTF-8で作る方法は知っていますが、>>574で書いたとおり、
携帯用のビューはShiftJISなのでそうしたいんです。
現代の携帯端末はほとんどUTF-8に対応しているとはいえ、、
今までそれで表示していて問題がなかったので。
でも、それしか方法がないと言うなら、一旦findで配列を取得して
foreachでmb_convert_encodingしてSJISに変換し、ビューに渡す方法にします。
0578nobodyさん
2010/09/14(火) 18:25:53ID:???0579nobodyさん
2010/09/14(火) 18:26:27ID:???どうしても、ビューはShiftJISにしたいっていうなら、
mb_convert_encodingの処理はafterFind()の中に書けばいいと思うよ。
0580nobodyさん
2010/09/14(火) 19:09:36ID:???0581nobodyさん
2010/09/14(火) 19:30:32ID:???0582nobodyさん
2010/09/14(火) 19:56:50ID:???軽くググったら、そういう解説ばかりだけど。
0583nobodyさん
2010/09/14(火) 20:28:55ID:???0584nobodyさん
2010/09/14(火) 20:29:18ID:???softbankはその逆だっけ?
0585572
2010/09/14(火) 20:37:37ID:???ViewもUTF-8で作成して、出力時はafterFilterでShift-JISにし、
View内のmetaのContent-TypeをShift_JISにすれば、何も問題ないんですね。
お騒がせしました。
0586nobodyさん
2010/09/14(火) 20:40:04ID:???0587nobodyさん
2010/09/14(火) 20:51:33ID:???絵文字変換のついでに対策すればいいんだけど。
0588nobodyさん
2010/09/15(水) 10:54:40ID:???初心者には敷居が高くて難しいんですよ、これ
もちっと簡単にしてほしかったですね
0589nobodyさん
2010/09/15(水) 11:02:19ID:???カスから脱出するために、皆頑張っているのだ。
0590nobodyさん
2010/09/15(水) 11:37:03ID:???PHPが初心者だったらどのフレームワーク使ったって一緒だ
0591nobodyさん
2010/09/15(水) 11:46:50ID:???0593nobodyさん
2010/09/15(水) 12:12:37ID:???0594nobodyさん
2010/09/15(水) 12:31:33ID:???if,swtich,case,break,do,while使えますよ!
0595nobodyさん
2010/09/15(水) 12:32:29ID:???0596nobodyさん
2010/09/15(水) 12:34:15ID:???0598nobodyさん
2010/09/15(水) 18:59:43ID:???Router::connect('/', array('controller' => 'top', 'action' => 'index', 'home'));
とすれば、初期画面を指定できますが、
同じコントローラーで別のアクションを実行するには
http://hoge.com/top/add
のようにしなくてはいけません。これを
http://hoge.com/add
とする方法は無いのでしょうか?
0599nobodyさん
2010/09/15(水) 19:42:02ID:???0600598
2010/09/15(水) 19:54:47ID:???0601nobodyさん
2010/09/15(水) 20:10:25ID:???0602nobodyさん
2010/09/16(木) 01:00:40ID:???routes.phpの設定で以下のようにする方法を良く目にするのですが、
Router::connect(‘/m/:controller/:action’, array(‘prefix’ => ‘mobile’));
この方法ではURLを変更する事になります。
同一URLで振り分けたいのですが、
上記以外でメソッドにprefixを付ける方法はないでしょうか?
0605nobodyさん
2010/09/16(木) 02:54:46ID:???同じroutesの質問してますが、違います。
それに半日考えてググってソースも見てどうしようもなく質問しました。
>>604
それだとCakeを使う意味がない気がします。
0606nobodyさん
2010/09/16(木) 06:55:26ID:???最近CakePHP触ってないからうろ覚えなんだけど、
controller.phpにbeforeFilterを定義して、携帯からのアクセスか
PCからのアクセスかを判別する処理をそこに書く。
その中でコントローラを割り振るようにできるんじゃないかな?
確かコントローラ名が$thisに入ってたよね
0608nobodyさん
2010/09/16(木) 09:33:19ID:???Controller内で
$this -> Amazon -> setSession($this -> Session);
と記述し、
Model内で、
public function setSession($session){
$this -> Session = $session;
}
と記述。この後、モデル内で、
$this->Session->write('page_list',$page_list);
などとコントローラで書くような記述をしています。
しかし、firefoxでは問題ないけど、IEやChromeでセッションの受け渡しが
上手く行かない問題が出てきて、もしかして、このやり方をしているかが原因なのかなと
思いました。
普通に、モデル内で使いたいなら、$_SESSIONで書いたほうがいいのかなあと。
0609nobodyさん
2010/09/16(木) 14:56:55ID:???beforFilterあたりでIPかUAを見てprefixつけられなかったっけ
と思ったら>>606が同じようなこと書いていたな
>>603
基本的なroutesもよくわかってなかったやつが一日でprefixの質問するレベルに成長するとは思えないぞw
>>607
作者さん?
機能強化よりシンプルでわかりやすい仕様にしてくれ
0613nobodyさん
2010/09/16(木) 21:04:42ID:???0614nobodyさん
2010/09/16(木) 21:18:40ID:???ケータイなら/m/hogeにrewriteすりゃいいって話じゃないの?
0615nobodyさん
2010/09/16(木) 21:40:20ID:???0616nobodyさん
2010/09/16(木) 22:07:43ID:???0617nobodyさん
2010/09/16(木) 23:18:48ID:???0618nobodyさん
2010/09/17(金) 00:51:47ID:???むしろ、バーチャルホストでどう実装するのか聞きたい。
>>616
本の通りに書いていれば、ドメイン分けずにすむだろ。
0619nobodyさん
2010/09/17(金) 10:08:15ID:???0620nobodyさん
2010/09/17(金) 12:39:29ID:???0621nobodyさん
2010/09/17(金) 19:08:58ID:???http://www.exgear.jp/blog/2010/09/geo_simple_plugin/
便利そうなんだが、ライブラリ依存しないCakePHPのプラグインがライブラリ依存してるというのも皮肉な話だな
0622nobodyさん
2010/09/17(金) 19:23:15ID:???○利用
0623nobodyさん
2010/09/17(金) 21:12:29ID:???0624nobodyさん
2010/09/20(月) 01:01:46ID:???エラーメッセージを出そうと、Cookbookの
http://book.cakephp.org/ja/view/1252/Displaying-Auth-Error-Messages
を見て同じようにビューにecho $session->flash();と記述したのですが、
Undefined variable: sessionのエラーが出ます。
これはどうしてでしょう?$this->set('session', $session)みたいにして
ビューに渡す必要はないですよね?
0625nobodyさん
2010/09/20(月) 01:23:29ID:???ログイン情報を記述しているapp_controllerにヘルパーを指定してるのですが、
そこにSessionを指定しないとエラーが出るみたいです。
0626nobodyさん
2010/09/20(月) 05:35:42ID:???自分で言っているとおり、Sessionヘルパーを使うことを
宣言する必要があると思いますよ。
class AppController extends Controller{
var $helpers = array('Session');
}
Sessionコンポーネントは宣言してなくても使えるけど、
Sessionヘルパーは宣言する必要があったはずです。
0627nobodyさん
2010/09/22(水) 08:56:04ID:R9kqnTJBとまってしまってます。
データベースを作成する過程がないので、どのデータベースにテーブルを
作成するのかがわかりません。
0628nobodyさん
2010/09/22(水) 08:58:32ID:???チュートリアルの次のページを見れば分かる。
0629nobodyさん
2010/09/22(水) 09:54:00ID:R9kqnTJBありがとうございます。
これで先に進めます。
0630nobodyさん
2010/09/22(水) 14:23:14ID:???0631nobodyさん
2010/09/22(水) 18:54:44ID:???モデル名 → テーブル名
と考えるとわかりやすいよ。
ただし、モデルの命名規則とテーブルの規則は違うから注意。
例)モデルでUserならテーブルはusersを作成する
0633nobodyさん
2010/09/22(水) 20:19:43ID:???0634nobodyさん
2010/09/22(水) 23:10:29ID:???0636nobodyさん
2010/09/23(木) 08:16:19ID:???0637nobodyさん
2010/09/23(木) 13:13:13ID:???0638nobodyさん
2010/09/23(木) 14:23:16ID:???0639nobodyさん
2010/09/23(木) 14:43:20ID:???公式のサンプルやり始めた俺には参考になるよ。
命名規則で結構引っかかってたところ。
サンプルだとpostっていうモデル作ったら
DBはpostsにしろって言われてなんでsつけるのか意味不明だった。
コントローラーにもよくわからない形(posts_controller.php)
とか名前つけてるから?が多かった。
自動解釈してくれるからこういう形式にしろよって意味だろうけど
書籍なしでいきなり始めるとわけわかめ。
0640nobodyさん
2010/09/23(木) 15:01:57ID:???0641nobodyさん
2010/09/23(木) 15:15:12ID:???0644nobodyさん
2010/09/23(木) 15:32:43ID:???テーブル→posts
レコードがたくさん集まってテーブルになるんだ。
これはphpやMVCとは関係ないDBの基本だからな、覚えとけよ。
0645nobodyさん
2010/09/23(木) 15:56:34ID:???ありがとう、早速動画見つけたので見てるが
すごいわかりやすくて助かる。
Cから入った人間だから、C++のときもそうだったけど
オブジェクト指向とか、MVCモデルについては
なかなかとっつきにくかったけど、これはありがたい。
0646nobodyさん
2010/09/23(木) 16:05:37ID:???0647nobodyさん
2010/09/23(木) 17:39:58ID:???単数形と複数形が同じなので注意!
0648nobodyさん
2010/09/23(木) 20:19:39ID:???0649nobodyさん
2010/09/24(金) 02:17:58ID:???0650nobodyさん
2010/09/24(金) 03:14:33ID:???新規の開発にしか使えないFWってどんなメリットがあるのよ?
既存の改修とかに使えないんだろ?
チンカスレベルの屑FWとしか言えんだろ?
0651nobodyさん
2010/09/24(金) 03:55:59ID:???0652nobodyさん
2010/09/24(金) 08:33:43ID:???むしろ命名規則にのっとたり、書き方も厳密にしなきゃいけないし、
よけない手間が増える。
だが、優柔不断な俺にはそれが良い。
0653nobodyさん
2010/09/24(金) 08:42:53ID:???PHPみたいに甘い言語だと、プログラマーによって
かなりオレオレ仕様だったり、ソースがわかりずらかったりするから
フレームワーク使うと、統一化されて跡から保守しやすいっていうメリットが生まれる。
また、ページごとにやってたようなエラー処理だとか
フォームの入力チェックみたいな処理も自動化出来てわかりやすい。
どちらかというと3人程度〜の新規開発向けだと思うよ。
個人でやってぱぱっと作るならFW使わなくても別に困らないしw
0654nobodyさん
2010/09/24(金) 09:42:52ID:???多少の生産性は犠牲にしつつも保守性を上げるための仕組み、
という面は確実にある気がする。
慣れてくればそのオーバーヘッドもだんだん減ってくる(はず)だし、
そもそもFWって元来そういうもんだよね。
CakePHPの場合は強制される規約が多すぎて、
たとえばタグライブラリ的な使い方をしようと思ったときに
ちょっと難しい部分があるのも事実だけど。
0655nobodyさん
2010/09/24(金) 09:50:20ID:???でも、それらって中小以上の、制作会社なら
独自の規約やルールが決まっていると思うんだよな。
フォームヘルパーのようなライブラリも作ってるだろ。
SOHOなら別にオレオレでも構わないと思うし、規模もたかが知れてる。
かといって、規模が大きめの案件ならFWは速度的なネックがある。
まぁ、俺はオレオレの仕様変更が多くて定まらないから、
Cake使ってるんだけどな。規模が小さい案件ばかりだし。。
0656nobodyさん
2010/09/24(金) 10:26:20ID:???CakePHP辞典 Pocket詳解 [単行本]
0657nobodyさん
2010/09/24(金) 11:22:13ID:9bxZAnFYpaginatorのようにページ送りしたいんだけど、
いい方法ってありますか??
0658nobodyさん
2010/09/24(金) 11:22:15ID:???普通にfindしてからsaveしないと駄目?
saveByIdとか簡単な関数ないの?
0659nobodyさん
2010/09/24(金) 11:33:35ID:???$dataにidがあればupdateになるから
array(
'id'=>1,
'field1'=>'hoge',
);
これをsaveすればid1のfield1のみアップデートされる
0660nobodyさん
2010/09/24(金) 11:34:10ID:???良くわからない事言ってるが、
保存されている情報を取得するならfind(select)は必須だろ?
saveAllにしてパラメータ指定するのはダメなのか?
0661nobodyさん
2010/09/24(金) 11:35:49ID:???0662nobodyさん
2010/09/24(金) 11:37:22ID:KWM9yVDw<?php echo $html -> css('hoge', null, array('inline' => false)); ?>
のようにして、レイアウトの $scripts_for_layout にCSSの記述を追加できますが
タイトルは、コントローラから
$this -> set('title_for_layout', 'ほげほげ');
とするしか手がないんでしょうか。
タイトルもctpファイルからレイアウトの $title_for_layout に設定できたらいいんですが
できないものなんでしょうか。
0663nobodyさん
2010/09/24(金) 12:09:19ID:???Webサービスとかなんらかの読み込み元のデータはあるんでしょ。
find、_findCount、_findAll あたりをオーバーライドしたモデルを作るか、
データソースドライバを作ればPaginator関係はそのまま使えるので便利。
0664nobodyさん
2010/09/24(金) 12:16:54ID:???すみません質問間違ってました、id以外をキーにしてそれできませんかね。
できないなら、やはりfindしてidを取ってこないといけないですよね。
0665nobodyさん
2010/09/24(金) 12:39:38ID:???Controllerクラスだけでなく、Viewクラスにも pageTitle というプロパティがあるので、
ctpファイルのどこかで
<?php $this->pageTitle = "ほげほげ"; ?>
とすればOKだと思う。
0668662
2010/09/24(金) 15:21:06ID:???このあたり、1.3で仕様が変更になっているんですよね。
'inline' => false の指定方法とか。
<?php $title_for_layout = 'ほげほげ'; ?>
のようにctpファイル内で変数をしてみましたが、レイアウトには適用されませんでした。
もう少し調査してみます。
0669nobodyさん
2010/09/24(金) 16:20:29ID:???ありがとうございます。やり方がわかりました!
シリアライズされた元のデータがあるので、
それを扱う例があれば嬉しいですけど、ネットで探しても見つからない
って時は作るしかないですよね。。わがままですよね
0670nobodyさん
2010/09/24(金) 16:33:01ID:???てか、いきなりCakePHP(フレームワーク)からはじめたの?
普通は、素のPHPのプログラミングを勉強していって
君の言う改ページ処理やファイルに書き込む処理など
基本的なコードを書いて勉強していくと思うんだけど。
0671665
2010/09/24(金) 16:55:01ID:???最近使っていなかったから1.2の感覚で書いてしまいました・・・。
前に作ったの移行してみようかな。
>>668
すみませんでした。
http://book.cakephp.org/ja/view/1566/View-and-Helpers
このページを見る限りでは、
<?php $this->set('title_for_layout', "ほげほげ"); ?>
だと思います。
0672662
2010/09/24(金) 17:18:44ID:???コントローラから
<?php $this->set('title_for_layout', "ほげほげ"); ?>
は当然効くんですが、Viewからは効いていないですね。
コアのコードを追ってみるか・・・。
0673nobodyさん
2010/09/24(金) 17:25:48ID:???Modelでpaginate()とpaginateCount()を実装する。
他はsave()やfind()を透過的につかうかによって変わるけど、
内部データへのアクセス自体を独自にしてしまったほうが単純に楽だと思う。
0674665
2010/09/24(金) 17:44:00ID:???あれ?さっき1.3ダウンロードしてきて適当にコアファイル差し替えて試したら
うまくいったっぽいので大丈夫かと思いましたが、だめでしたか。
"title_for_layout タイトル" でぐぐって、一番上にくるので試してみても
うまくいったので、そっちの方法がよさそうですね。
0675nobodyさん
2010/09/24(金) 18:49:30ID:???App::importで読み込んでクラスをnewするのでしょうか?
0678nobodyさん
2010/09/25(土) 00:54:21ID:wsz3lHFZ基本的なことが抜けてるのはあってますが(笑)
いきなりでは無いですよ、もっと勉強します
>>673
>Modelでpaginate()とpaginateCount()を実装する。
本当はこれやりたかったんですが、簡単なほうを選んで
自前ページャーで作ってしまいました、次回はこれ使います!
教えて頂きありがとうございました。
0679nobodyさん
2010/09/25(土) 05:06:39ID:???モデル内でそのようにsaveすると
$this->save( array( 'id' => $data, 'name' => $name ) );
以下のエラーが出ます。
SQL Error: 1054: Unknown column 'Array' in 'field list' [CORE/cake/libs/model/datasources/dbo_source.php, line 673]
Query: UPDATE `tablename` SET `id` = Array, `name` = 'xxxx'
1.3.2ですが、何か最近変わったりしたんでしょうか。
0681nobodyさん
2010/09/25(土) 05:10:51ID:???解決するのはそんなに難しくないような気がする
0682nobodyさん
2010/09/25(土) 06:24:18ID:???あるモデルにユニークを保証したい文字列user_idがあり
var $validate = array(
'user_id' => array(
'rule' => 'isUnique',
'message' => 'must be unique'
)
);
と指定。
モデルにレコードの新規作成関数を以下のように用意しました。
// 初期データ
$userInfo = array(
"UserInfo" => array(
"id" => null,
"user_id" => $user_id,
"level" => 1,
...
)
);
$this->create();
if ( $this->save() ){
var_dump('save ok');
return;
}
var_dump('validate ng');
つづく
0683nobodyさん
2010/09/25(土) 06:25:31ID:???何故か既存のデータが上記の初期値で更新されてしまいます。
これは正しい動作なんでしょうか。
また、validateの条件をnumeric等に変えてみるとこの現象は起きません。
わけわからんので誰か謎を解いてください。
0684nobodyさん
2010/09/25(土) 07:18:00ID:???0685nobodyさん
2010/09/25(土) 14:24:39ID:???0686nobodyさん
2010/09/25(土) 16:02:35ID:???CakeのSQLダンプではCOUNTしか発行されてないようですが、
MySQLのログを見ると普通にUPDATEされちゃってます。
つーかSQLダンプってあてにならないのか…。
ちなみに自分でif ( $this->validates($userInfo)
とかやって駄目な時はsaveしないようにしても更新されちゃいます。
0687nobodyさん
2010/09/26(日) 09:19:40ID:???0688nobodyさん
2010/09/26(日) 13:07:37ID:???0689nobodyさん
2010/09/26(日) 19:05:33ID:???0690nobodyさん
2010/09/27(月) 01:59:38ID:???その理屈は結構前の話しだな。
今はフレームワークも便利な機能てんこもりで、
独りで作るのにも利用しないと大幅に差が出る。
0691nobodyさん
2010/09/27(月) 09:51:39ID:???横からだけど
CakePHPのダンプに出てないということは、CakePHPのsave()以外が更新している可能性を否定できないし
validatesで更新されているとなればなおさらかも
>>682 のコードの周辺とか中略されているところとか独自バリデーションがあったらそれとか、$user_idとか$this->idの値とかはどうなってるの?
あと、既存のデータって、どのデータが更新されるの?
0692nobodyさん
2010/09/27(月) 13:08:45ID:???亀レスだけど、IDが固定なら
saveField()
http://book.cakephp.org/ja/view/75/Saving-Your-Data
が使えない?
0693nobodyさん
2010/09/27(月) 13:47:08ID:???Cake以外にDBアクセスしてる心当たりはありません。
独自バリデーションはないです。記述したisUniqueのみです。
$user_idはテーブル内でユニークな文字列(ユニークな数値をmd5したもの)
$this->idはnullです。(書き忘れたけど、自分でnullを代入して試した)
周辺のコードとはどの辺まででしょう。モデルは書いた分しかコードないです。
>>682で省略したのは$userInfoの全フィールドを書いてないことぐらいです。
>あと、既存のデータって、どのデータが更新されるの?
同じuser_idを持つレコードが、上記コードの$userInfoの内容で更新されます。つまり初期化。
あと書き間違いがあって、$this->save()は$this->save( $userInfo ) です。
もう一度問題点をまとめておくと
user_idフィールドにisUniqueを指定して、同じuser_idを持つデータの更新/挿入を阻止したいが、更新の阻止ができない。
ということです。
それがCakeの正しい動作なのかが知りたい。ネットや本によるとどうも違うようなので。
CakeのSQLダンプに出ないのも謎ですがそれはそういう不完全なものなのかな。
0694nobodyさん
2010/09/27(月) 14:18:06ID:???モデル名はUserなの?
カラム名をuser_idじゃなくてkeyとかhashにしたらダメかな?
user_idだとUserモデルのidって解釈されるかも。
0695nobodyさん
2010/09/27(月) 14:28:53ID:???モデル名はUserじゃないです。UserInfoとかそんな感じです。
カラム名も実際はuser_idではなくapplication_user_idです。長いので質問書く時に短くしてました。
でも一応名前変えても試してみます。ありがとう。
というかisUniqueで阻止できるのはやはり新規追加のみで、更新はされちゃうのかな?
と思ったけどやはりidをnullにしてるのに勝手にuser_idをキーに更新されるのは解せない。
0696nobodyさん
2010/09/27(月) 14:31:03ID:???別ページにリダイレクトしてない?
0697nobodyさん
2010/09/27(月) 14:32:46ID:???0698nobodyさん
2010/09/27(月) 14:35:39ID:???0699nobodyさん
2010/09/27(月) 20:04:25ID:???>if ( $this->save() ){
ここでなにをsaveしてるんだ?
0700nobodyさん
2010/09/27(月) 22:30:00ID:???これってHTMLに出力すると起動するんですか?
foreachを再帰する為の関数を作るんでしょうか?
それとも、Cakeに出力する為のヘルパーがあるのでしょうか?
0702nobodyさん
2010/09/28(火) 13:55:58ID:???モデルとして利用する方法をどこかで見たのですが、
ググっても探せません。ご存じないでしょうか?
0703nobodyさん
2010/09/28(火) 14:37:54ID:???どうやってぐぐったのか?
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cakephp+%E3%83%A2%E3%83%87%E3%83%AB+CSV
0705nobodyさん
2010/09/28(火) 17:40:51ID:???それはある
詰め込み世代の新人って指示待ちか出来もしない癖に勝手な事やって迷惑掛けてくれる奴かの両極端だった
ここ数年の奴らは、意外と使える
我々にしてもそうだったけど目で盗んで憶えるというか自分の頭で考えて言われなくても的確に動けるのが増えた気がする
日本人らしさが戻って来た感じ
0706nobodyさん
2010/09/28(火) 17:49:54ID:???0708nobodyさん
2010/09/28(火) 18:15:45ID:???0709nobodyさん
2010/09/28(火) 19:08:21ID:???なんで指示待ちしかできないんだろうな?
システム開発で言えば、エラー出てもログ見ないで「出来ません!」
って言ってくる奴大杉。
しかも「調べた」と言いつつ「どこを調べた」のか言わない。
そんなのエスパーじゃないからわかるわけ無いのにな。
自分の頭で考えないから、合理性のない行動しかできないんだよな。
0710nobodyさん
2010/09/28(火) 19:22:36ID:???0714nobodyさん
2010/09/28(火) 20:37:25ID:???0715nobodyさん
2010/09/28(火) 20:49:55ID:???0716nobodyさん
2010/09/28(火) 22:11:51ID:???「Userが購入したOrder回数を調べる」って時に使えるかと思ったのですが、
hasManyで結合させたら、paginateのソートって出来ませんよね。
hasOneやbelongsToの時に使うのかも知れませんが、
使い道があまり思い浮かばないな
0717nobodyさん
2010/09/29(水) 09:13:10ID:???うーん。多分そういう用途じゃないよ
前者はcounterCacheという機能を使って予め親モデルに書き込んでおくようにする
バーチャルフィールドは郵便番号の上3桁と下4桁を別のフィールドで持っている場合とかに、あたかもひとつのフィールドとして扱いたい場合に使うためにある
氏名を分割していたりとか
0718nobodyさん
2010/09/29(水) 09:49:52ID:???なるほど。と言う事は、716的な用途の場合は、
パラメーターにjoinsを指定して、直接SQLを書く方が良いですね。
0719nobodyさん
2010/09/29(水) 11:46:35ID:???date_format(created,"%Y年%m月%d日") みたいな。
0720nobodyさん
2010/09/29(水) 13:02:49ID:???俺が試した限りでは無理だった
0721nobodyさん
2010/09/29(水) 14:14:46ID:???0722nobodyさん
2010/09/29(水) 14:54:21ID:???0723nobodyさん
2010/09/29(水) 16:54:29ID:???var $virtualFields = array(
'order_num' => 'COUNT(Order.user_id)',
);
コントローラーのfindを
$params = array(
'conditions' => array('order_num' => 1),
'group' => array('User.id',),
);
$data = $this->User->find('all', $params);
print_r($data);
したんだけど、「SQL Error: 1054: Unknown column 'order_num' in 'where clause'」
ってエラーが出る。conditionsの箇所を削ると表示されるから、
conditionsで検索(where)できないと思ってるんだけど。
0724nobodyさん
2010/09/29(水) 18:00:24ID:???そもそも、コロン区切りパラメータってのが、なんか気持ち悪いんだよなぁ・・・
普通にGETでいいのに。
0725nobodyさん
2010/09/29(水) 18:09:44ID:???namedパラメータの後に?xxx=yyy 形式が俺の中ではベストかと。
まあURLがちょっとあれだけど。
paginatorで無理しなくてそのまま使えるし、
検索キーワードなどでnamedで通せないものもgetのパラメーターで通せるし。
0726725
2010/09/29(水) 18:19:31ID:???Getのパラメーター部分がキャッシュのファイル名に入ってくれないからキャッシュ生成が無理。
別の話だけど、Searchプラグインなんかだと、packで文字列生成してnamedパラメーターを通すようにしてるけど
これだと本当にURLが意味不明の文字になってしまうから使いどころにはちょっと悩むね。
0727724
2010/09/30(木) 05:53:30ID:???それはさすがに気持ち悪いなぁ。
かといって、検索条件をセッションに入れちゃうと、
たとえばカテゴリ別のリンクとかが作れなくなっちゃうし・・・
あと、複数カテゴリを指定しての検索とかってよくあると思うけど、
namedは配列を扱えないらしい。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1925&forum=3
うーん、悩む・・・
0728nobodyさん
2010/09/30(木) 08:51:07ID:???ログイン後にしばらくしたら自動でログアウト状態になるんだけど、
ブラウザのリクエストが無いとセッションが自動で切れるのって仕様?
0729nobodyさん
2010/09/30(木) 08:53:03ID:???やっぱり勝手に切れる。どういうことだろ?
0730nobodyさん
2010/09/30(木) 10:37:41ID:???本来はModelに持たせたいなーとか。思ったりするのだけど。
0731nobodyさん
2010/09/30(木) 11:21:51ID:???ってのが目的だから別に良いと思うけど。
0733nobodyさん
2010/10/01(金) 02:05:57ID:???テンプレートの修正はCakePHP方式にするかSmartyにするか延々悩んでる。
テストしてもどちらが良いか悪いか判断付かない。
Smarty編集出来るような人はPHPも使えるだろうから、
別にCakePHPのソースを編集する形でも良いのかな。
0734nobodyさん
2010/10/02(土) 19:47:36ID:???HTMLヘルパーでリンクを張るとき
echo $this->Html->link("あいうえお", array('action'=>'read', 'url'=>$url));
として、
http://localhost/controller/read/url:http://www.yahoo.co.jp
と出力させたいのですが、
http://localhost/controller/read/url:http:/www.yahoo.co.jp
となってしまいます。パラメータとしている値の「//」が「/」とエスケープされてるようなんですが、
どうすればいいかご存知のかたはいませんか。
0735nobodyさん
2010/10/02(土) 21:33:56ID:???スラッシュがエスケープされてしまうなら、単純に
$url = 'http:////www.yahoo.co.jp';
と、2重に書けばいいのでは。
ただ、このままだとコントローラで
$this->passedArgs['url']
で取り出される値は、『http:』のみになってしまいます。
スラッシュは、パラメータの値として判断してくれないんです。
ですから、
$url = 'http://www.yahoo.co.jp';
echo $html->link('あいうえお', "{$this->webroot}hoge/read?url=$url");
としてはどうでしょう?
コントローラでは、
$this->params['url']['url']
で、URLを欠けることなく取り出すことができます。
もしも、URLのパラメータをページングでも保持しておきたい場合は、
url:http://www...
の形にせざるをえません。
その場合、スラッシュを別の文字に一時的に置き換える処理を独自に
作る必要があると思います。
例えば、僕はスラッシュを『~!』に変換しています。
詳しいことは下記に書いてますので、734がページングを使いたいと
思っているのなら参考にしてください。
http://d.hatena.ne.jp/sutara_lumpur/20100829/1283074357
0736nobodyさん
2010/10/03(日) 04:02:29ID:???http://www.moongift.jp/2010/08/listter/
0737nobodyさん
2010/10/03(日) 14:37:31ID:???どうすればいいのでしょうか?
コントローラ内で$header = $this->element('header')としても駄目でした。
0738nobodyさん
2010/10/04(月) 16:30:37ID:???example.com/index/index/
↓
views/index-index.ctpを見る
ディレクトリで分ける方法だと管理が面倒なのでこう出来ればいいなと思いました。
ご教示お願いいたします。
0739nobodyさん
2010/10/05(火) 21:20:28ID:???0740nobodyさん
2010/10/05(火) 22:38:37ID:???向こうの方が丁寧に答えてくれると思う。
0741nobodyさん
2010/10/06(水) 07:02:07ID:???0742nobodyさん
2010/10/06(水) 07:19:30ID:???0744nobodyさん
2010/10/06(水) 07:55:36ID:???MVCのV(ビュー)で使うべきelementをコントローラで使いたいというのが
そもそも間違っていると思いますよ。
プログラムの流れを見なおして、整理してみては?
>>738
質問したいことの意味がよくわかりません。
indexコントローラのindexアクションを呼び出した場合、
app/views/index/index.ctp を参照するのではなく、
app/views/index-index.ctpを参照するようにしたいということでしょうか?
無理だと思います。
おとなしくviewsフォルダの下にindexフォルダを作り、その中に
index.ctpを置くしかないと思います。
…、やっぱり質問はフォーラムに回したほうが、重複も防げていいと思う…。
http://cakephp.jp/modules/newbb/
0746nobodyさん
2010/10/06(水) 10:48:31ID:???http://cakeqs.org/jpn
0747nobodyさん
2010/10/06(水) 13:12:41ID:???回答付く質問はageなくても付く
それくらいの人数のお気に入りには入ってる。ここは
質問時にage出す人がでてきたのもここ2〜3スレくらいでは?
>>745のような人がいるからこのスレはいいよね
0751nobodyさん
2010/10/06(水) 16:51:06ID:???的をはずれた質問は回答つかないことが多いな実際
0752nobodyさん
2010/10/06(水) 16:55:08ID:???0753nobodyさん
2010/10/06(水) 17:17:49ID:???0754nobodyさん
2010/10/06(水) 17:22:55ID:???0755nobodyさん
2010/10/06(水) 17:51:45ID:???暇だからバカのために調べてやったぞ
http://api13.cakephp.org/view_source/view/#line-830
843行目を
$name = $this->viewPath . '-' . Inflector::underscore($name);
で可能。
大人しく、>>745の指示に従うのが賢明だと思うがな。
0756nobodyさん
2010/10/06(水) 18:00:00ID:???0758nobodyさん
2010/10/07(木) 08:49:35ID:???コントローラ内でrenderして変数に入れる。
$this->autoLayout = false;
$header = $this->render('header');
$this->output = "";
outputに出力内容が保存されているから、
それを初期化するのが大事。
0759nobodyさん
2010/10/07(木) 08:52:35ID:???$this->autoLayout = false;
$this->render('header');
$header = $this->output;
$this->output = "";
こうでした。renderしたら、outputに入るから、それを変数に代入するんだった。
0760nobodyさん
2010/10/07(木) 14:07:00ID:???そんな発想無かったから全然分からなかった
せめてもうちょっと一般的なController名にしてくださいorz
0761nobodyさん
2010/10/07(木) 14:27:24ID:???0762nobodyさん
2010/10/08(金) 02:35:30ID:???Authコンポーネントが勝手にpasswordフィールドをハッシュ化するから
validationが効きませんってのは設計ミス以外の何物でもない気がする
0763nobodyさん
2010/10/08(金) 05:46:47ID:???そうか?別フィールドでやれば良いだけだから困ったことないな
まして設計ミスって
何度か仕様変えた結果今のに落ち着いているわけだが
0764nobodyさん
2010/10/08(金) 07:27:01ID:???Authコンポーネントが勝手にセッション切れを起こすのは
設計ミス以外の何者でもない気がする。security.level変えても同じだし。
0765nobodyさん
2010/10/08(金) 09:24:21ID:???0766nobodyさん
2010/10/08(金) 10:19:03ID:???それをさらにforeachで1つの配列に纏めてるのだけど
これをpaginateに組み込む方法ってないですよね
prev nextが使いたいのですが
0767nobodyさん
2010/10/08(金) 11:15:15ID:???素直に自作したらどうだ?
0768nobodyさん
2010/10/08(金) 14:50:51ID:???0769nobodyさん
2010/10/08(金) 16:08:39ID:???766の目的では、一旦DBから抽出したものを加工して、ってことだけど。
0770nobodyさん
2010/10/08(金) 20:16:14ID:???「別フィールドでやる」ってバッドノウハウとしか言いようがなくね?
それで不自由があるかないかと設計の良し悪しはまるで別の要素だと思う。
0771nobodyさん
2010/10/08(金) 20:46:10ID:???paginate() paginateCount()はquery飛ばさなきゃいけないってわけでもないでしょ
0772nobodyさん
2010/10/08(金) 21:13:20ID:???マニュアルにバッドノウハウ書いてあるとか?
暗号化されてないデータをむやみにcontrollerに渡したくないんでしょ
0773nobodyさん
2010/10/08(金) 21:19:28ID:???それがPHPって言語の文化だろって言われたらそれまでだけど。
0775nobodyさん
2010/10/09(土) 14:58:31ID:???リファレンスじゃなくて完全に関数説明だけだった・・・
0778nobodyさん
2010/10/10(日) 11:37:36ID:???0780nobodyさん
2010/10/10(日) 13:50:41ID:???0781nobodyさん
2010/10/10(日) 14:01:37ID:???逆引きリファレンスっぽいのを期待してたんじゃない?
単純に関数の説明だけならcook bookでいいじゃん!ってことかな
0782nobodyさん
2010/10/10(日) 16:26:14ID:???id, name
- posts
id, name
- posts_tags
id, post_id, tag_id
- アソシエーション
Post hasAndBelongsToMany Tag
Tag hasAndBelongsToMany Post
PostsTag belongsTo Post
PostsTag belongsTo Tag
こんな感じのテーブルとアソシエーションで
記事(post)に複数つけられるタグ(tag)の機能を実装すると期待通りに動作します。
ここで例えばタグのうちひとつを代表タグとして扱いたいとします。
そこで以下のようなテーブル変更とアソシエーション追加を試みたのですが
アソシエーションがぶつかって(?)bakeで焼かれたままのコードでも挙動がおかしくなります。
- 変更されたposts
id, name, tag_id (代表タグ用に追加)
- 追加されたアソシエーション
Post belongsTo Tag
Tag hasMany Post
たぶん発想が良くないんだと思いますが、一般的にこのような場合、
どういうアプローチで代表タグ(複数ひもづくタグのうち一つをメインにしたい)
を実装するのがベターでしょうか。
0783nobodyさん
2010/10/10(日) 17:09:24ID:???そう。そういうこと。
俺がこれまで買ってたリファレンス系は、だいたいその仕組みだったからさ。
あと、amazonで買ったから中身見られなかった。
こういう時に、中身検索があれば・・・
0784nobodyさん
2010/10/10(日) 17:17:29ID:???追加するアソシエーションはPost hasOne Tagじゃないかな?
ただ、どっちにしろアソシエーションを複数指定するのは避けられないので、
main_tagsテーブル(id, post_id, tag_id)を作って、Post hasOne MainTag、MainTag belongsTo Tagにすればいいんでない?
あとはtagsテーブルにmain_tag_flagを指定するとか?
0785nobodyさん
2010/10/10(日) 17:17:35ID:???混みいった質問は、フォーラムでするほうがいいんじゃないかな。
この場合は、『モデル』カテゴリかな…。
http://cakephp.jp/modules/newbb/viewforum.php?forum=6
0786nobodyさん
2010/10/11(月) 02:33:23ID:Gg2rGqpO'ModelA'=>array(
'fields'=>array(・,・)),
'ModelB'=>array(
'fields'=>array(・,・)))
てページネーションに複数モデルセットして出しても、なんか知らないがModelBの方のfieldsが効かないんですよ。
Aは効くんだけど。
誰かご存じの方いらっしゃらない?
0787nobodyさん
2010/10/11(月) 13:42:26ID:???$this->paginate('ModelA');
でデータ抽出してるんでしょ?
だったら、ModelA以下の設定しか使われない。
fieldの指定を、ModelA.field とか ModelB.field にしたらいいじゃないかと。
0788nobodyさん
2010/10/11(月) 17:47:31ID:???0789nobodyさん
2010/10/11(月) 17:54:41ID:???0790nobodyさん
2010/10/11(月) 18:07:16ID:???http://username.example.com/ とかできるの?
0791nobodyさん
2010/10/11(月) 18:16:27ID:???0792nobodyさん
2010/10/11(月) 19:17:19ID:???Windows
PHP5.3
cakephp1.3.4
http://localhost/~cakephp/って感じでapacheにuserdirを設定したのですが
cakephpが動かないためcakephpのトップに入っているhtaccessにrewrite base /~cakephp/って設定しました
そしたら動いたんですがこれで合ってますか?
あとサブディレクトリにhtaccessが2つも入ってますがそこにもrewrite base /~cakephp/を入力して何回かアクセスしたらエラーになりました
htaccessって全部修正するのでしょうか?
0793nobodyさん
2010/10/11(月) 20:01:30ID:???右下にCAKEPHP POWERって画像が表示されるんですけど
自分で一から書いたHTMLを読み込ますのはどうやるのでしょうか?
0795nobodyさん
2010/10/11(月) 20:53:57ID:???http://book.cakephp.org/ja
0796nobodyさん
2010/10/11(月) 20:54:30ID:???おすすめのCakePHPの本を教えてください
0797793
2010/10/11(月) 21:09:47ID:???解決できました
default.ctpっていうファイルを作ってlayoutフォルダに入れたらいいみたいでした
0798nobodyさん
2010/10/11(月) 21:18:50ID:???サブドメインは超余裕
>>792
apacheいじれるのなら/app/webrootをルートにするんだ
ルートに置かないと後々問題出やすい
>>793
チュートリアルやれ
>>796
1.3対応書籍は不作だから公式のbookがいいぞ
どうしても本が欲しいなら、ガイドブックの1.2版がおすすめ
>>797
素晴らしい、その調子だ
0799nobodyさん
2010/10/11(月) 21:27:09ID:???0800nobodyさん
2010/10/11(月) 21:30:01ID:???cakephpの場合はどれが出来るようになればいい雰囲気になれますか?
0801nobodyさん
2010/10/11(月) 21:36:57ID:???0802nobodyさん
2010/10/11(月) 21:43:31ID:???認証、フォーム使った入出力、モデルの読み書きとバリデーション、
複雑なSQLをModelクラスのメソッド使って組み立ててみる、
ぐらいが一通りできればあとは応用でなんとかなるような気がしないでもない。
ただ、単に「できる」のではなく内部的にどういう処理順序で
物事が進んでいくかを把握してないとダメだと思う。
フレームワークって何でもそうだと思うけど。
0803nobodyさん
2010/10/11(月) 21:51:05ID:???フレームワークは初めてなので頑張って覚えます
0804nobodyさん
2010/10/11(月) 22:00:17ID:Y80mjYyFclass HelloController extends AppController{
var $name = 'hello';
var $uses = null;
function index(){$this->set('sample_text', 'Hello World!!');}
}
■app/views/index.ctp
<p><?php echo $sample_text ?>
入門用でHello World!!を表示できる所まで出来ました。
この場合MVCのVCしか使ってないと思うのですが、
データベースを使わない条件の時にMはどうやってファイルに書くのでしょうか?
0805nobodyさん
2010/10/11(月) 22:09:17ID:???モデル内で
var $useTable = false;
データベースを使わないメールフォームの処理などでよくやる処理
0806nobodyさん
2010/10/11(月) 22:25:25ID:???<?php
class hello extends AppModel
{
public $name ='hello';
public $useTable = false;
}
hello_controller.phpの$this->set('sample_text', 'サンプル');というのを↑hello.phpに書くというのは
できないのでしょうか?
ModelなのでデータをModelのファイルに書きたいと思いました。
0808nobodyさん
2010/10/11(月) 23:25:25ID:???0809nobodyさん
2010/10/11(月) 23:29:49ID:???0810nobodyさん
2010/10/12(火) 00:07:31ID:???0813nobodyさん
2010/10/12(火) 11:18:49ID:???フレームワーク初心者でも分かりやすいやつをわかりや
0814nobodyさん
2010/10/12(火) 13:13:16ID:???0815nobodyさん
2010/10/12(火) 13:14:36ID:???0816nobodyさん
2010/10/12(火) 13:28:20ID:???PHP自体はどの程度できるの?関数とクラスはわかってる?
0817nobodyさん
2010/10/12(火) 13:28:59ID:???0818nobodyさん
2010/10/12(火) 13:30:04ID:???0819nobodyさん
2010/10/12(火) 13:42:53ID:???簡単な掲示板とか作れるくらいの最低限の知識がないと触れない
ブログチュートリアルが終わってから何すればいいのかわからないって悩みなら共感できるけどね
0820nobodyさん
2010/10/12(火) 13:43:50ID:???0821nobodyさん
2010/10/12(火) 14:37:20ID:???使ってみて「おっいいね」と思った時だけ使えばいい
0822nobodyさん
2010/10/12(火) 14:48:17ID:???0823nobodyさん
2010/10/12(火) 14:59:31ID:???0824nobodyさん
2010/10/12(火) 15:07:21ID:???CookBookは文字が小さくてつらい。
で、画面を拡大すると、右側にはみ出した文字が
消えてしまう。
Firebugで原因を突き止め、
#content{
overflow: hidden;
}
を
#content{
overflow: visible;
}
に変えてくれるようにMark Storyさんにメールだした。
で、『I'll see what I can do about that.』と返事が来た。
でも、いまだに直っていない。
…待ってる。……ずっと…、待ってる…(つД`)
0825nobodyさん
2010/10/12(火) 15:12:01ID:???0826nobodyさん
2010/10/13(水) 09:37:00ID:???0827nobodyさん
2010/10/13(水) 15:06:31ID:???0828nobodyさん
2010/10/13(水) 16:15:45ID:???0829nobodyさん
2010/10/14(木) 20:47:39ID:???簡単すぎてどこかでバグや不具合が出ないか不安・・・
一応、今まで作ったファイルを元にしたけど
0830nobodyさん
2010/10/14(木) 21:37:08ID:???フレームワークが勝手に余計なことをしていないかどうかだよな
0831nobodyさん
2010/10/14(木) 21:40:50ID:???0832nobodyさん
2010/10/15(金) 11:29:10ID:???エレメントにデータを渡したいんですが、
http://book.cakephp.org/ja/view/560/Passing-Variables-into-an-Element
ここの始めにあるサンプルコードは、どのファイルに書けばいいんですか。
0835nobodyさん
2010/10/15(金) 12:56:11ID:???0836nobodyさん
2010/10/15(金) 18:22:40ID:???更新ボタンを押して繰り返すとログイン出来る時があるのですが、
これってモデルのキャッシュ(app/tmp/cache/models)が影響してるんですかね?
beforeFilterで $this->User->create() を入れてモデルを初期化したら
今のところ、上記のような動作にならないのですが。
(モデルキャッシュを削除するのに、この方法で良いかは分かりませんが・・・
0837nobodyさん
2010/10/15(金) 18:56:44ID:???$html->link
と
$this->Html->link
どっちが推奨なのかな?
後者のほうが、変数名が衝突しなくてよさそうだけど。
0838nobodyさん
2010/10/15(金) 19:47:34ID:???CakePHPのテンプレートの中で$htmlという変数名を見たら
10人中9人がHtml helperのことだと思う。
その変数名を別のことに使おうという発想自体いただけない。
考慮する必要もない。
0840nobodyさん
2010/10/16(土) 10:32:49ID:???0841nobodyさん
2010/10/16(土) 10:47:47ID:???0842nobodyさん
2010/10/16(土) 12:13:21ID:???0843nobodyさん
2010/10/17(日) 16:51:23ID:/5W8QVHNみんなどうしてる?
0844nobodyさん
2010/10/17(日) 17:13:08ID:???0845843
2010/10/17(日) 18:22:28ID:/5W8QVHN(TranzactionもsaveAllの中では自動)
3,4階層はTranzactionはってsaveするしかないですよね。
>>844
なるほど、2階層までですね。
0846nobodyさん
2010/10/18(月) 02:21:51ID:???0847nobodyさん
2010/10/18(月) 08:30:07ID:???なんというかバージョンはあてにならん。
0848nobodyさん
2010/10/18(月) 12:01:33ID:???0849nobodyさん
2010/10/18(月) 13:09:32ID:???0850nobodyさん
2010/10/18(月) 16:26:16ID:???0851nobodyさん
2010/10/18(月) 16:27:39ID:???このリビジョン部分が変わってんじゃないの?
svnで管理されてるんだから気になるならリポジトリ入って見てみろよ
0852nobodyさん
2010/10/18(月) 22:49:35ID:???例えばの話、
elementAで
i++;
elementBで
i++;
と定義しておいて、elementAを2回、elementBを1回呼んだとした場合、
iを参照して3という値を取りだしたいのです。
0853852
2010/10/18(月) 22:53:25ID:???案としてsession変数を使用したのですが、viewからはSessionに書き込めないとのエラーとなりました。
代替の手段ありましたらお教え頂ければと思います。
0854852
2010/10/18(月) 22:59:34ID:???ヘルパー内にpublicな変数を定義しておけば、element間で共有参照できます。
ありがとうございました。
0855nobodyさん
2010/10/19(火) 16:16:01ID:???0856nobodyさん
2010/10/19(火) 20:42:14ID:???0858akiyan
2010/10/20(水) 00:32:48ID:???改めて言うのも照れてしまうけれど花金明け土曜日0時なら俺は言える
「CakePHPこそフレームワークの完成形だと」
The Standard Languageの座を揺るぎないものとしたPHP
20世紀エンジニア達の知の結晶とも言うべきMVC
ここにRuby on Railsというスパイスが加わってCakeは生まれた
全くこれは何だっていうんだい 奇跡なんて陳腐なもんじゃない
おそらくはCOBOLが生まれた時点でPHPの誕生は決定済みであったろうし
Rubyは図らずもCakeの為に作られたと言っていいんじゃないか
RubistやDHH、それに20世紀を生きた全てのエンジニア達が費やした途方もない時間
それらはすべてCakeに繋がった Cakeのために彼らの汗が流された
逆じゃないんだ Cakeは結果じゃない
Cakeが始まりであって、Cakeの生誕のためにRailsがあり、Rubyがあった
20世紀を生き、そして21世紀に歩を進める全てのwebに関わるエンジニアのための心臓、それがCake
俺はCakeの時代に現役でいられたという事を誇りに思うだろう
死ぬ間際に息子と娘と孫と妻、そしてCakeの事を思うだろう
あぁCakeよCake お前は俺の中にあるし、Cake内部にも俺がいる
うまく言葉にできねぇな、とにかくCakeはもう21世紀エンジニアの魂だ
そして最後に
最愛の妻と友人、そしてペニーオークションに幸あれ
0859nobodyさん
2010/10/20(水) 00:56:30ID:???0860nobodyさん
2010/10/20(水) 09:07:36ID:???0861nobodyさん
2010/10/20(水) 11:51:56ID:???0862nobodyさん
2010/10/20(水) 14:17:04ID:???0863nobodyさん
2010/10/20(水) 22:49:55ID:???妻と友人に感謝するのはオライラー
0864nobodyさん
2010/10/20(水) 23:25:38ID:???0865nobodyさん
2010/10/21(木) 13:20:54ID:???0866nobodyさん
2010/10/21(木) 20:28:38ID:???0867nobodyさん
2010/10/21(木) 21:00:33ID:???0868nobodyさん
2010/10/21(木) 21:04:18ID:???0869nobodyさん
2010/10/22(金) 09:27:32ID:???0870nobodyさん
2010/10/22(金) 10:06:25ID:???0871nobodyさん
2010/10/22(金) 13:21:38ID:6ZqFCW+N古本屋じゃ、買取してくれそうもない。
ゴミにするには、もったいない。
だれか欲しい人、いませんか?
http://amanda.cart.fc2.com/
0872nobodyさん
2010/10/22(金) 13:47:09ID:???0873nobodyさん
2010/10/22(金) 14:58:08ID:???0875nobodyさん
2010/10/22(金) 18:10:16ID:???0876nobodyさん
2010/10/23(土) 10:03:30ID:???0878nobodyさん
2010/10/23(土) 17:43:04ID:???0879nobodyさん
2010/10/24(日) 16:19:37ID:???flashというアクションが動かないけど予約語なの?
0880nobodyさん
2010/10/24(日) 16:59:12ID:???の中にflash既にあるよね
0882nobodyさん
2010/10/24(日) 17:09:46ID:???http://api.cakephp.org/classes
0883nobodyさん
2010/10/24(日) 18:16:32ID:???0884nobodyさん
2010/10/25(月) 00:06:25ID:???手抜きもいいところだし著者の曖昧な知識を隠そうとしてる節が見受けられる
CakeどころかPHPですらよくわかってないじゃんと思って著者調べてみたら評判最悪なのな
詐欺オークションに関わってるとか
金返せ つーか発禁にするべきレベル
0885nobodyさん
2010/10/25(月) 10:16:06ID:???そもそも中身は技評で連載してたもののまとめだし
↓これと中身一緒でしょ?
ttp://gihyo.jp/dev/serial/01/cakephp
0886nobodyさん
2010/10/25(月) 10:21:29ID:???まあ書籍にするとまた話は別だよね
0887nobodyさん
2010/10/25(月) 10:48:09ID:???相手したらいかん
0888nobodyさん
2010/10/25(月) 10:50:51ID:???0889nobodyさん
2010/10/25(月) 12:53:16ID:???var $uses = array( 'User' );
などと指定しているモデルは、それを継承した他のコントローラでは使えないの?
子クラスの方でも同じ指定をしないと見つかりませんエラーになった。
そういうもんなの?
0890nobodyさん
2010/10/25(月) 13:39:07ID:???0891nobodyさん
2010/10/25(月) 15:43:32ID:???詐欺オークションに関わってるってどういうことだ?
ペニーオークションなら、むしろ批判記事書いてなかったっけ
0892nobodyさん
2010/10/25(月) 16:19:46ID:???「関わってる」という言葉はいろいろ使えて便利ですね、>>884さん
0893nobodyさん
2010/10/25(月) 18:04:56ID:???これなんなののののの?
なんか怖い・・・
0894nobodyさん
2010/10/25(月) 18:14:20ID:???0895nobodyさん
2010/10/25(月) 23:56:29ID:???0896nobodyさん
2010/10/26(火) 11:40:47ID:???0897nobodyさん
2010/10/26(火) 14:05:25ID:???0899nobodyさん
2010/10/26(火) 20:58:55ID:???0900nobodyさん
2010/10/26(火) 22:33:47ID:???これを読んでペニーオークションに関わってる人物で、マンセーしてるようには見えないな
統合失調症か何かか?
ttp://www.akiyan.com/blog/archives/2010/09/penny-auction.html
0901nobodyさん
2010/10/27(水) 01:31:31ID:???ワラタ
さすがにこれ読んでペニオク始めようと思うやつはいないだろ
0902nobodyさん
2010/10/27(水) 03:10:40ID:???0903nobodyさん
2010/10/27(水) 09:40:24ID:???0904nobodyさん
2010/10/27(水) 10:21:12ID:???0905nobodyさん
2010/10/27(水) 10:28:49ID:???ページネーションを始点と終点でループさせる方法を教えてください
0906nobodyさん
2010/10/27(水) 11:56:14ID:???あらかじめdatabase.phpにDBの設定をしておけば、modelのuseDbConfigを使って
接続先のDBを切り替えることができますが、あくまでも事前に設定された中からの選択です。
動的にDBの接続設定を変更したいのですが・・・。
0907906
2010/10/27(水) 12:48:02ID:???0908nobodyさん
2010/10/27(水) 12:58:36ID:???0909906
2010/10/27(水) 13:30:45ID:???ConnectionManagerのコンストラクタでdatabase.phpの
定義の読み込みが行われるので、この直後に
再定義を行う処理を追加しようと考えてます。
本当はもっとスマートにやりたかったのですが、ちょっと思いつかなかったので・・・。
0910nobodyさん
2010/10/27(水) 13:35:06ID:???ちょっと良くわからないんだが、「事前に設定された中から」と
beforeFilterとか__constructでuseDbConfigを切り替えるのと何がどう違うんだ?
いちいちコントローラーに書くのが嫌だとか?
0911906
2010/10/27(水) 13:55:22ID:???同じ構造のDBがユーザー単位(不定数)に存在していて、ログインユーザー別に
DBを切り替える、ということをしたいのです。
0912906
2010/10/27(水) 14:04:46ID:???まさしくやりたいことが見つかりました。
ちょっとこちらの方法を試してみます。
0914nobodyさん
2010/10/27(水) 15:24:52ID:???0915nobodyさん
2010/10/27(水) 15:58:20ID:???0916nobodyさん
2010/10/27(水) 16:31:16ID:???0917nobodyさん
2010/10/27(水) 16:44:38ID:???0918nobodyさん
2010/10/27(水) 17:12:39ID:???ここは俺みたいな奴しか見ていないことがわかってきた
0919nobodyさん
2010/10/27(水) 17:17:07ID:???0920906
2010/10/27(水) 18:45:23ID:???で書かれているreconnectを使用する方法で切り替えられることは確認しました。
ただ、ここで一つ疑問が。
モデルのキャッシュ機能について、DBの切り替えを行った際に正常に動作するのでしょうか?
>>911で「同じ構造のDB」と書きましたが、正直言うと同じテーブル名で数カラムの差異があります。
例えば下記のような同名のテーブルが別DBに存在していたとして
DB1.table1:カラム数10
DB2.table1:カラム数11
ユーザー1がDB1.table1のデータをfind→tmp/cache/modelsにテーブル構造がキャッシュ
直後にユーザー2がDB2.table1のデータをfind→キャッシュの構造を用いてfind→1カラム足りないとエラー
ということになるんじゃないかと心配しています(検証はまだしてません)。
モデルキャッシュが具体的に何をしているのか調査してみますが、ご存知の方いましたらお教えください。
0921906
2010/10/27(水) 18:49:04ID:???すみません、逆でした。
ユーザー2がDB2.table1のデータをfind→tmp/cache/modelsにテーブル構造がキャッシュ
直後にユーザー1がDB1.table1のデータをfind→キャッシュの構造を用いてfind→1カラム足りないとエラー
0922nobodyさん
2010/10/27(水) 19:44:45ID:???0923906
2010/10/27(水) 20:13:20ID:???ウザイようなので消えます・・・。
0924nobodyさん
2010/10/27(水) 20:43:58ID:???0925nobodyさん
2010/10/27(水) 22:53:02ID:???いまwebアプリケーションを作りたいのですが
PHP導入を考えて折ります。
PHP?っていうのがよくわからず どれをインストールしていいのかよくわかりません
fc2などのレンタルサーバで動くのでしょうか?
ダウンロードの場所など教えてくれたらありがたいです。
どなかた教えてください。
0928nobodyさん
2010/10/28(木) 18:44:48ID:???var $components = array( 'aaaa', 'bbbb', ........
って所がアホみたいに長くなった。これはこれで見辛い。難しいもんだな…。
0929nobodyさん
2010/10/28(木) 22:28:50ID:???0930nobodyさん
2010/10/28(木) 22:36:08ID:???0932nobodyさん
2010/10/29(金) 00:24:49ID:???0933nobodyさん
2010/10/29(金) 00:40:19ID:???0934nobodyさん
2010/10/29(金) 00:42:11ID:???0935nobodyさん
2010/10/29(金) 00:46:36ID:???http://www.amazon.co.jp/dp/4798027456/
これ読んだ人レビュー頼む
読んだ人いないのなら今度立ち読みしてくる
0936nobodyさん
2010/10/29(金) 01:17:18ID:???今あるレビューでも触れられている通り、文字通りのリファレンスマニュアル。
内容はとにかく広く浅くで、CacheクラスやObjectクラスといった
オンラインマニュアルには記載されていないようなところまで網羅してある。
Controllerクラスのプロパティも一通り(30個ちょい)並べた表があるし。
ヘルパーの書式をいちいちマニュアルから探すのが面倒だったので
買ってみたんだが(その用途には普通に役に立ってる)、
初心者以外にはお勧めできると思った。
0937nobodyさん
2010/10/29(金) 11:31:29ID:???「%」を検索文字に入れるとエラーになるんだけど、対処方法教えて
0938nobodyさん
2010/10/29(金) 13:23:37ID:???このスレの上の方で不満を書いた者だけど、
使い続ける事で、結構便利だと悟ったw
結構大きめのアプリや、それこそ”オレオレフレームワーク”
作る時も参考になると思うよ。
0939nobodyさん
2010/10/29(金) 16:42:21ID:???よほど高度な技術+運用を考えられる人がいて、
スタッフの教育もできるようなら、良いかもしれないけど。
0940nobodyさん
2010/10/29(金) 17:02:35ID:???CakePHPだって最初は少人数の開発者が作った「オレオレ」だったわけだし、
ある限定された場面で簡単に利用するためにCakeをカスタムする人だっている。
スクラッチから書くのと本質的には変わらん。
利用実績やweb上のドキュメントがない(or少ない)というデメリットを
上回るメリットがあるかないかでどの選択肢を採るか決めるだけ。
0941nobodyさん
2010/10/29(金) 17:02:45ID:???便利だけれど、公開サーバで使うには標準だと機能がまだ足りないし。
0942nobodyさん
2010/10/29(金) 18:07:13ID:???Cakeってよくソース見ると、自分の使い方で必要ない機能が満載だからね。
xdebugすれば分かるけど、それで処理が遅くなる事がある。
だから、小規模の・ちょっとしたシステムを作りたい時にどうしようかと思って
Cakeの書き方に慣れたから、Cakeっぽいオレオレフレームワークを作ったんだよ。
命名規則だけ参考にして、ソースはかなり簡略化してるけどね。
0943nobodyさん
2010/10/29(金) 18:14:25ID:???0944nobodyさん
2010/10/29(金) 18:23:22ID:???0945nobodyさん
2010/10/29(金) 18:23:22ID:???Cakeのコードを削ったわけではなくて、
あくまで参考にしつつ新しく書き起こした感じ?
こういうの一度やっておくのも勉強になるかも。
0947nobodyさん
2010/10/29(金) 18:32:52ID:???なつかしいなぁ
0948nobodyさん
2010/10/29(金) 18:44:16ID:???なんか自作FWに嫌な思い出がある人でもいるの?
開発期間が短いせいか、PHP界隈はとにかく
「既存のコードを継ぎ合わせて手早く作ることこそ美徳」みたいな
風潮があるような気はしてたけど。
ここまで来るとちょっとアレ。
0949nobodyさん
2010/10/29(金) 18:50:22ID:???0952nobodyさん
2010/10/29(金) 20:59:32ID:???PHP使い始めていきなりフレームワーク覚えたわけじゃあるまいし。
948の言うように暗い過去とかあるんじゃねーの。
0953nobodyさん
2010/10/29(金) 21:02:50ID:???0954nobodyさん
2010/10/29(金) 21:05:34ID:???そうじゃないなら何を話せと。あとスレチでしょうに
0955nobodyさん
2010/10/29(金) 21:29:28ID:???それを突っかかっている奴がいるから荒れる
0956nobodyさん
2010/10/29(金) 21:33:02ID:???それを「評価」とか、本当にいったいどんなトラウマ抱えてるんだよw
それとも>>954は毛根の話も等しく叩くの?
叩くんなら>>950の頭皮にしとけばいいよ。
ちょっとは血行が良くなって感謝されるかもしれない。
0957nobodyさん
2010/10/29(金) 21:38:34ID:???けいくぴーえいちぴーだよね?
けーきぴーえいちぴーって読んでる人いる?
0958nobodyさん
2010/10/30(土) 02:38:04ID:???0959nobodyさん
2010/10/30(土) 02:47:55ID:???0960nobodyさん
2010/10/30(土) 08:04:53ID:???0961nobodyさん
2010/10/30(土) 09:31:42ID:???0962nobodyさん
2010/10/30(土) 10:51:26ID:???Cakeはしーえーけーいーだろ
0963nobodyさん
2010/10/30(土) 11:17:12ID:???0964nobodyさん
2010/10/30(土) 12:49:58ID:0nJMOOka2回Rewriteされて、app/webroot/index.php が呼ばれると考えて良いでしょうか?
またこの時、アクセスしたファイル名はGETパラメータとして扱われると思いますが、
POSTとGETが混在しても問題ないのでしょうか?
0965nobodyさん
2010/10/30(土) 13:53:38ID:???Rubyは簡潔にコードが書けるのは魅力だけど、PHPのほうが何かと
簡単でとにかくWebサービスをガンガン作っていきたい自分にはCakeがいいかなと。
初心者には敷居が高かった。。。var_dump使えないし。。
リチウムはRoRを超えるポテンシャルありそうですかね。本当に期待してます。
0966nobodyさん
2010/10/30(土) 15:41:45ID:???安心した
0967nobodyさん
2010/10/30(土) 16:40:33ID:???どうにかならないの?
0968Perl忍者 ◆M5ZWRnXOj6
2010/10/30(土) 17:50:10ID:qrL+r3Lg「はぁ? cakePHP? なにそれクソゴミカスキエロ」
0969nobodyさん
2010/10/30(土) 18:45:42ID:???∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ <こいつ最高にアホ
彡、 |∪| /
/ __ ヽノ /
(___) /
0970nobodyさん
2010/10/30(土) 18:51:55ID:???http://blog.livedoor.jp/perlninja/
0971nobodyさん
2010/10/30(土) 18:55:52ID:???0972nobodyさん
2010/10/30(土) 23:40:05ID:???0973nobodyさん
2010/10/30(土) 23:51:19ID:???まあ60行のほうはキャッシュ付いてないが
0975nobodyさん
2010/10/31(日) 02:58:23ID:???フレームワークの意味がないやん
0976nobodyさん
2010/10/31(日) 12:47:23ID:???0977nobodyさん
2010/10/31(日) 14:15:40ID:???0978nobodyさん
2010/10/31(日) 14:24:56ID:???大して興奮しないが・・
0979nobodyさん
2010/10/31(日) 16:47:18ID:???0980nobodyさん
2010/11/01(月) 09:32:25ID:???0983nobodyさん
2010/11/01(月) 10:26:59ID:???0984nobodyさん
2010/11/01(月) 10:58:11ID:???話題が一巡したんじゃね?RoRスレもだらけてるし。
0985nobodyさん
2010/11/01(月) 15:16:29ID:???まだ使いがっては悪い感じですかね?
CakePHPに比べて優れているというか、どういった方向で作っているのだろうか。
0986nobodyさん
2010/11/01(月) 15:34:23ID:???0987nobodyさん
2010/11/01(月) 15:56:15ID:???・Cakeの機能に対する話題
・Cakeの使い方に対する話題
どちらも答えてやるから真面目な奴質問してこい
0988nobodyさん
2010/11/01(月) 16:32:51ID:???なぜこうも初心者ホイホイなんだろうな、Cake。
まあ、俺も4年前くらいにかなり初心者に近い状態でCakeをかじったのであまり言えない。
0989nobodyさん
2010/11/01(月) 16:40:03ID:???「cookbookに書いてあるよ」と教えれば、そいつにとって学習になる。
お前の言う上級者・玄人しか使えない・使わないシステムなんて糞だ
0990nobodyさん
2010/11/01(月) 19:11:18ID:???cookbookレベルならまだいいんだけど、
プログラムの基礎とかhttpの基本的な仕組みとかPHPの基礎的な文法とか
そこらへんの話題の範疇が、
Symfony / ZendFW ではなくCakeに圧倒的に多い、気がする。
0991nobodyさん
2010/11/01(月) 19:14:24ID:???0992nobodyさん
2010/11/01(月) 19:16:30ID:???0993nobodyさん
2010/11/01(月) 19:17:50ID:???0994nobodyさん
2010/11/01(月) 19:57:14ID:???初心者ウェルカムで、これに慣れて物足りなくなったら他へどうぞだな
0995nobodyさん
2010/11/01(月) 19:57:17ID:???0996nobodyさん
2010/11/01(月) 20:00:27ID:???0997nobodyさん
2010/11/01(月) 20:09:27ID:???物足りないって判断が出来る奴は。
0998nobodyさん
2010/11/01(月) 20:20:46ID:???どうしたら良いでしょうか
0999nobodyさん
2010/11/01(月) 20:24:38ID:???1000nobodyさん
2010/11/01(月) 20:27:30ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。