【PHP】フレームワーク CakePHP 9ホール目【v1.3】
■ このスレッドは過去ログ倉庫に格納されています
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
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:???そんな低料金でやるバカが居るから値崩れするんだよ
死んで詫びろ
■ このスレッドは過去ログ倉庫に格納されています