【PHP】フレームワーク CakePHP 10ホール目【v1.3】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/11/01(月) 21:43:26ID:???CakePHPから派生した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/11/01(月) 21:44:22ID:???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/11/01(月) 21:45:16ID:???【PHP】フレームワーク CakePHP 9ホール目【v1.3】
http://hibari.2ch.net/test/read.cgi/php/1279844006/
【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/11/01(月) 21:45:57ID:???【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/11/01(月) 21:46:39ID:???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/11/01(月) 21:48:51ID:???・ver1.3系
Pocket詳解 CakePHP辞典
http://www.amazon.co.jp/gp/product/4798027456
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
0008nobodyさん
2010/11/01(月) 23:29:53ID:vnR/i9a6乙
0009nobodyさん
2010/11/02(火) 06:12:53ID:???APIなどがWebにありますが、調べるたびにインターネットアクセスする
のは大変なので、ローカルに一括でDLできるか、Windowsヘルプファイル
になっているものを探しています。
ご存知の方、所在を教えてください。
0010nobodyさん
2010/11/02(火) 13:20:57ID:???0011nobodyさん
2010/11/02(火) 14:03:23ID:???このページ保存しとけばいい
0012nobodyさん
2010/11/02(火) 14:10:09ID:???で作成したフィールドに、必須入力項目のValidationをかけたいのです。
Validation ruleにnotEmptyを設定したのですが、きちんと入力しているにも関わらず
エラーが発生してしまします。どう書けばよいものでしょうか?
0013nobodyさん
2010/11/02(火) 14:10:41ID:???何か質問があった場合、どこで聞くのが一番解決に近そうでしょうか?
公式の掲示板は過疎ってそうな感じなので
0014nobodyさん
2010/11/02(火) 14:13:48ID:???0015nobodyさん
2010/11/02(火) 14:25:47ID:???datetimeのような連想配列にnotEmptyは出来ない。
beforeValidateで事前に調べて、1つの配列に代入してからチェックしろ。
0016nobodyさん
2010/11/02(火) 16:49:23ID:???0018nobodyさん
2010/11/02(火) 18:22:19ID:???0019nobodyさん
2010/11/02(火) 18:37:52ID:???変な煽りとかは早いけど
0020nobodyさん
2010/11/03(水) 06:30:28ID:4NSD+GsH複合主キーが使えないってどんなカルト宗教だよwwwwwwwwww
そんなんだからいつまでたっても子供のオモチャなんだよwwwwwwwwwwwwwww
0021nobodyさん
2010/11/03(水) 17:58:56ID:???大人のオモチャは複数の主キーが使えるのか・・・
0022nobodyさん
2010/11/03(水) 23:14:10ID:???モデルのバリデーションで、アクションによって分岐したい時に
使いたいと思いますが、マニュアルを見る限り、アクションが取得できません。
0023nobodyさん
2010/11/04(木) 00:09:12ID:???ってテスト用のファイルが入ってるから、
bakeでテストしない場合は必要ないですよね?
0024nobodyさん
2010/11/04(木) 03:21:53ID:???モデルに独自メソッド(action渡してvalidateみたいな)を設けるのが素直でいいよ。
実際は取得できるけどhackじみてる。
0026nobodyさん
2010/11/04(木) 14:05:36ID:???Alertモデル内で、
$this->User->findDataFromDatabase();
このように、Userモデル内に作ったファンクションを呼び出すには
どうすればよいでしょうか?
コントローラに書いているように、 public $uses = 'User'; としてみましたが、
エラーが出てしまいました。
002726
2010/11/04(木) 14:54:17ID:???下記のようにやっても上手くいかないのです。。
(1.3です)
<?php
App::import('Model','User');
$User= new User;
class Alert extends AppModel {
public $name ="Alert";
public function saveAlerts($alert) {
$user = $User->findDataFromDatabase('email',$data);
002826
2010/11/04(木) 15:05:14ID:???public function saveAlerts($alert) {
$this->User = ClassRegistry::init('User');
$user = $this->User->findDataFromDatabase('email',$data);
0029nobodyさん
2010/11/04(木) 23:08:41ID:???Configure::write("debug" , 0);
は書いてるけど。
0030nobodyさん
2010/11/05(金) 09:01:55ID:???0031nobodyさん
2010/11/05(金) 13:04:12ID:???0032nobodyさん
2010/11/05(金) 17:06:29ID:???└/diary
└add.ctp
viewをこういう階層にしてURLが↓みたいにしたいと思います。
http://example.com/user/1/diary/add
(意味は、usersテーブルのIDが1の、日記を追加)
こういう表示の仕方って出来るのでしょうか?
0033nobodyさん
2010/11/05(金) 17:32:18ID:???http://api.cakephp.org/class/controller#method-Controllerrender
render()の引数fileをつかうとか、actionかbeforeRender()で。
やったことないけど。
0034nobodyさん
2010/11/05(金) 17:33:08ID:???cakephp routesで検索してみて
003532
2010/11/05(金) 17:45:48ID:???routes.phpに↓と書いてルーティングして
Router::connect(
'/user/:id/diary',
array('controller' => 'user_diary', 'action' => 'index', 'id'),
array('id' => '[0-9]+')
);
コントローラをディレクトリ分けする場合は、bootstrap.phpに
$controllerPaths = array(
ROOT.DS.APP_DIR.DS.'controllers'.DS.'user'.DS,
ROOT.DS.APP_DIR.DS.'controllers'.DS,
);
と書けば動きました。アドバイスありがとうございます。
0036nobodyさん
2010/11/06(土) 18:34:51ID:???MySQL 5.1.50
モデルを普通に更新してsaveしてもmodifiedが更新されない。
ぐぐって、default NULLにするとかをやっても駄目。modifiedをnullにしてsaveしても駄目。
誰か知恵を貸してくれ。
特に変わったことなどはしてません。
0037nobodyさん
2010/11/06(土) 21:31:47ID:???createdはinsert時にちゃんと入る?
modifiedを適当な日時に指定して更新したらどうよ?
あと更新するSQLを$this->Foo->save('id'=>1);とか適当なシンプルなものにしてみてどうなるか
0038nobodyさん
2010/11/07(日) 02:31:33ID:???0039nobodyさん
2010/11/07(日) 11:04:33ID:???※コントローラ
1 function addAlerts
or
2 function add_alerts
1のやり方はPHPの規約通りですが、URLに大文字が混ざってしまうので
悩んでおります。
0040nobodyさん
2010/11/07(日) 11:25:58ID:???それ以外なら1
0041nobodyさん
2010/11/07(日) 12:05:01ID:???バージョンはApache2.2 + cake1.2.8です。
apache_get_modules()で確認した限りではmod_rewriteは動いており、
cakeで軽くアプリを作ったところ画像も表示されています。
ただ、welcomeページは文字だけのシンプルな表示になります。
mod_rewrite設定以外に何か必要な設定があれば教えてもらえないでしょうか。
0042nobodyさん
2010/11/08(月) 10:55:16ID:???CSS,IMGのパスが間違っているんじゃないかとエスパー。
0043nobodyさん
2010/11/08(月) 21:38:00ID:???form->year使って、それっぽいことはできたんだけど、そもそもyearヘルパーって
挙動がちょっと(値が入る配列とかが)特殊なので、普通にセレクトボックスで出力したいんだけど
0044nobodyさん
2010/11/08(月) 21:50:56ID:???$form->select()
にarray(1=>1,2,3,4,5...................)
って渡しとけよ
あとこのへん読んで自分で決めてくれ
http://api.cakephp.org/class/form-helper
0045nobodyさん
2010/11/08(月) 22:20:54ID:???わかりにくいんだよ!
004643
2010/11/08(月) 22:25:37ID:???値が入る配列とかが特殊って書いてるんだけど…
具体的に言うとUser.ageって名前でセレクトボックス作ると、data['User']['age']['year']に値が入る
他にもIDの付き方とか、最後にYearがついたりして、微妙に使いづらい
(monthとかdayとセットで使う前提で作られてる感じ)
そういう力業の解決方法はあるんだろうけど、標準で用意されてないのかな、と。
0047nobodyさん
2010/11/08(月) 22:31:10ID:???0050nobodyさん
2010/11/09(火) 00:38:40ID:???0051nobodyさん
2010/11/09(火) 00:49:02ID:???$options = array_combine($options, $options);
ってよくやる
0052nobodyさん
2010/11/09(火) 01:42:44ID:???0053nobodyさん
2010/11/09(火) 12:25:52ID:???どうすればよいでしょうか? 1.3です。
マニュアルを読むと、httpステータスコードしか指定できないから、
無理なのかな。。
$this->redirect(array('action' => 'edit', $id));
(この$idに変数をいれたらエラーが。)
http://book.cakephp.org/view/982/redirect
005453
2010/11/09(火) 12:35:03ID:???http://cakephp.1045679.n5.nabble.com/Does-redirect-clear-variables-td1274496.html
0057nobodyさん
2010/11/09(火) 13:55:59ID:???ログインしたままの状態で数時間そのままにし、別のページを閲覧すると
ログインが切れてログインフォームに移動します。
改めてログインしようとログイン情報を入れても失敗します。
しかし、同じ内容をもう一度入力するとログインできます。
おそらくセッションの問題とは思うのですが、
この現象を解決する方法はないでしょうか?
0058nobodyさん
2010/11/09(火) 16:30:27ID:???Auth使ってるあたりのコードを書いてみて
login() , logout() とか beforeFilter() とか
0059nobodyさん
2010/11/09(火) 20:47:00ID:???Cookbookの内容と同じです。
http://book.cakephp.org/ja/view/1250/Authentication
他の人は>>57の症状にならないんですか?
割と頻繁に発生するんですが。
0060nobodyさん
2010/11/09(火) 21:18:33ID:???function get() {
$this->User = ClassRegistry::init('User'); //use User model
$data = $this->User->find($conditions);
}
このように、ファンクションのたびに、 ClassRegistry::init('User') で
他のモデルを呼び出しています。
しかし、一つのモデル内で一括して適用させるには
どうすればよいのでしょうか?
もしくは、一括で適用させると重くなるので、今まで通り毎回使う時だけ
呼び出したほうが件名なのでしょうか?
0061nobodyさん
2010/11/09(火) 21:28:34ID:???>しかし、一つのモデル内で一括して適用させるには
>どうすればよいのでしょうか?
なにいってっかわかんね。
あそしえーしょんされてるなら
$this->Userでもともと呼べるけど、そうじゃないんだよね?
だったらなんか根本的に設計がダメダメだと思うわ
そのモデルでやるべきことじゃない
006260
2010/11/09(火) 21:50:35ID:???質問がややこしくすいません。
サンプルがわかりくいですが、データベースの操作は
まったく関係なしという形の場合ではどうでしょうか?
つまり、
Aのモデル内に function setAlerts() というファンクションがあり、
このファンクションをBのモデル内の操作で利用したいといった形です。
その時、Bのモデル内で
$this->A = ClassRegistry::init('A');
$this->A->setAlerts();
このようにしてます。 でも、毎回 $this->A = ClassRegistry::init('A'); を呼び出すのはめんどくさいなあ、
でも、全体に適用すると重くなるのかなあと悩んでます。
0063nobodyさん
2010/11/09(火) 22:34:45ID:???0064nobodyさん
2010/11/10(水) 14:28:56ID:???FormHelperは積極的に使ってるんですが。
0065nobodyさん
2010/11/10(水) 14:42:58ID:???0066nobodyさん
2010/11/10(水) 15:21:21ID:???linkは重くなるってのはググったら良く出てくるな。
ま、プログラムをかますという事はそれなりの処理を入れているわけで
必然的に、素のHTMLよりも重くなるのは当たり前。
0067nobodyさん
2010/11/10(水) 15:57:05ID:???0072nobodyさん
2010/11/11(木) 03:35:51ID:???usesが長くてウゼー
0073nobodyさん
2010/11/11(木) 11:37:02ID:???適切にアソシエーション貼ればそんなにならなくない?
あとuses使うより、ClassRegistry::init()使った方が良いよ
0074nobodyさん
2010/11/11(木) 11:41:50ID:???0075nobodyさん
2010/11/11(木) 11:57:51ID:???多くなりがちだね
0076nobodyさん
2010/11/11(木) 12:18:59ID:???そこで名前登録したり、試合したり、初期アイテムやお金を与えたり全部入ってるから
モデルをたくさん使うんだが、モデル同士は普段から関連付けるほどでもなかったりする
ユーザーのマイページでも、各種パラメータを表示するため使用モデルがアホみたいに増える
パラメータが多いので、モデルはできるだけ分けないと100カラムぐらいのテーブルができてしまう
>>73
usesだとコントローラが問答無用に全部初期化するけど、各アクション内で使うものだけ自分でinitしろってこと?
0077nobodyさん
2010/11/11(木) 13:00:43ID:???そう、usesよりCR::initのほうが推奨されてるから書いたけど
その使い方でController内に少数のアクションしかないならどっちでも良いかも
0079nobodyさん
2010/11/11(木) 20:33:51ID:???0080nobodyさん
2010/11/11(木) 22:30:25ID:???同一のプログラムで全く弄っておらず、設定も変えておらず、
それなのにMissing Controllerというエラーが出る時と出ない時があるのですが、
これは何故ですか?
バージョンはcakePHP1.35で
プログラムは「cakePHP1.3によるアプリケーション開発」のP49~
フォームの利用というところのコードです。
0081nobodyさん
2010/11/11(木) 22:51:56ID:???http://example.com/user/1/add
というURLでアクセスできるようにしています。
ビューの$paginator->sortでリンクされるURLを
変更する方法って無いですよね?
$paginator->options(array('url'=>"id:1"));
をビューに追加して、リンクパラメーターに付加させる事は出来ますが
URLがhttp://example.com/user/add/id:1/page:1/sort:id/direction:asc
のようになってしまいます。
0082nobodyさん
2010/11/11(木) 23:23:27ID:???でよくなかったっけ?タメシテない
0083nobodyさん
2010/11/11(木) 23:37:16ID:???$this->Auth->allow('index','logout');
//このように一括で設定
$this->account = $this->Auth->user();
$this->set('account', $this->account ); //send account data to view
}
ログイン後のページで、ユーザーのステイタスを画面に
表示させています。
AuthからIDを取って、setでビューに送る
コードをアクション毎に書くより、上記のようにbeforeFilterで
一括してもよいでしょうか?
これは重くなる原因だからやってはいけない方法か不安なので
アドバイスいただければ幸いです。
0085nobodyさん
2010/11/12(金) 00:01:51ID:???慣れてきたらソース読んだほうがいいよ
http://api.cakephp.org/classes
ここからクラス探して読めばいい
0086nobodyさん
2010/11/12(金) 00:03:36ID:???毎回DBに取りに行くわけじゃなく、Session読みに行くだけだから
それほど重くない処理だと思う。
あとはDebugKitなり入れて、負荷確かめながらやってみて
008780
2010/11/12(金) 03:20:40ID:???http://hogehoge/hage
で操作するとMissingContorollerのエラーが出て
http://hogehoge/hage/
だとエラーが出ないです
何故こうなるか意味が分からないんですが、一応、報告まで^^;
0088nobodyさん
2010/11/12(金) 03:52:21ID:???apacheの設定でそういうのあったっけ?どのhttpdかしらんが
0089nobodyさん
2010/11/12(金) 04:01:22ID:???自作CMS作っていた時に同じような症状に出くわした。
0090nobodyさん
2010/11/12(金) 13:49:56ID:???loadModelってのもあるみたいだけどどっちがいいの?
loadModelはコントローラでしか使えないんだっけ?
0092nobodyさん
2010/11/12(金) 14:30:37ID:???0093nobodyさん
2010/11/12(金) 14:40:37ID:???0094nobodyさん
2010/11/12(金) 15:02:03ID:???ClassRegistryって比較的新しいのよ
で、それができていろいろ不要になった感じ
loadModelもそう。というかloadModelが、かな
0095nobodyさん
2010/11/12(金) 20:40:46ID:???App::import('model', 'User');
$User = new User;
よりいいかんじ?
0097nobodyさん
2010/11/12(金) 22:52:31ID:???URL上はhttp://example.com/comment/で表示させたいと思っています。
prefixとは逆の処理のイメージなのですが、その様な事は可能なのでしょうか?
可能な場合、ルーティングの書き方を教えてください。
0099nobodyさん
2010/11/13(土) 13:08:07ID:???調べてみたのですが、コントローラーに文字列を付与して
指定とは別のコントローラーを実行するような設定箇所がありません。
だから↓な感じの指定方法しか思いつかないです・・。
$array = explode('/', $_GET['url']);
$contoroller = 'user_'.$array[0];
Router::connect('/:controller/*',array('controller' => $controller));
0100nobodyさん
2010/11/13(土) 13:32:07ID:???http://book.cakephp.org/ja/view/542/Defining-Routes
これ読んで理解できないって言うなら、諦めた方がいいと思う。
0101nobodyさん
2010/11/13(土) 14:14:22ID:???0103nobodyさん
2010/11/13(土) 14:29:27ID:???いい方法はあるでしょうか?
本来、コントローラで書くものだとは思うのですが、
モデルに書けるとすごくシンプルになるもので、
0108nobodyさん
2010/11/13(土) 18:26:12ID:???まぁこれは人それぞれなところだな。
0109nobodyさん
2010/11/13(土) 19:16:12ID:???0110nobodyさん
2010/11/13(土) 21:06:50ID:???使ってる場合、CSSやJSファイルがページ毎に違うって事が
多々あると思うんですけど、どうしてます?
ifで分岐して読み込むファイル決めるとか。
0112nobodyさん
2010/11/13(土) 21:27:29ID:???0115nobodyさん
2010/11/13(土) 22:48:16ID:???http://bakery.cakephp.org/articles/milesj/2009/07/05/autologin-component-an-auth-remember-me-feature
これ使ってたけど、1.3でちゃんと動いている人いますか?
$this->Cookie->del(), which did not work for me (CakePHP 1.3.2). I changed it to $this->Cookie->destroy(), what worked out.
と書いてるけど、どうもログアウトがうまくいかない。。
0116nobodyさん
2010/11/14(日) 13:19:26ID:???外してたらすまんが、CookieComponent::del()が廃止されて使うべきなのはCookieComponent::delete()だよ。destory()は全部消えちゃうんじゃなかったかな?
0117nobodyさん
2010/11/14(日) 14:34:47ID:???ありがとうございます。
deleteでも試したのですが、どうもクッキーが削除されない。。
しょうがないから、直接ログアウトファンクションに下記のように書いております。
function logout() {
$this->Auth->logout();
//wanna fix it inside auto_login component
if ($this->Cookie->read('autoLogin')) {
$this->Cookie->delete('autoLogin');
}
}
0118nobodyさん
2010/11/14(日) 14:37:01ID:???下記、二つの方法を試しましたが、なぜかパスワードが暗号化されてしまいます。
(1.2では試してないので、自分のやり方が悪いのかもしれないですが。。
以下の方法は1.3では使えないよーとか知っている方、もしいられたら助かります。
http://rewish.org/php_mysql/cakephp_auth_password
http://planetcakephp.org/aggregator/items/1442-cakephpauthcomponent%E3%81%AE%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
0121nobodyさん
2010/11/14(日) 15:12:59ID:???ありがとうございます。
普通のコントローラでbeforeFilter処理をしたところ上手くいきました。
どうも、App_contorllerでの書き方が問題のようです。もうちょっと調べてみます!
0122nobodyさん
2010/11/14(日) 22:13:51ID:???cakephpでオススメのコンポーネントがあれば教えてもらえないでしょうか?
検索対象 : APIで取得した文章 (毎回取得して、データベースに保存はしない)
検索ワード: 「新宿 スポーツ」 など、データベースに登録したキーワード
0123nobodyさん
2010/11/14(日) 22:18:02ID:???しかし、大抵データベース内のものを検索する場合が多くて、
自分のような例があまりイメージできない。。
http://blog.fusic.co.jp/archives/156
0124nobodyさん
2010/11/14(日) 22:56:18ID:???WebAPI?
なんのWebAPIかもわからんのにどうしろと?
アホなの?
0125nobodyさん
2010/11/15(月) 00:49:36ID:???0126nobodyさん
2010/11/15(月) 01:10:23ID:???しねよw
0127nobodyさん
2010/11/15(月) 02:54:57ID:???APIを使って生成されるXMLを取得して、リスト形式にし、
DBに保存してある検索ワードを利用したいって事だろ。
用はアフィサイトのデータを使った検索エンジンみたいな物だ。
0128nobodyさん
2010/11/15(月) 03:17:54ID:???お前が質問者ならもうちょっと勉強しろ
違うならお前が答えてやれ
xmlからデータを引っ張るってのは解った。
xmlを扱うライブラリなんて山ほどある勝手に使いたいもの使え
MVCで考えると本来、モデル・Datasourceでやるべきだな大半を
0130nobodyさん
2010/11/15(月) 14:34:57ID:???定期的に現れるよね
0132nobodyさん
2010/11/15(月) 20:44:12ID:???0133nobodyさん
2010/11/15(月) 20:48:24ID:???0135nobodyさん
2010/11/15(月) 21:07:20ID:???その先の選択肢として「暗号化しない」とか「暗号方式を強化する」とかがあるわけで
0136nobodyさん
2010/11/15(月) 21:09:38ID:???普通にパスワード申請したら、メールで届くし。
0137nobodyさん
2010/11/15(月) 21:11:56ID:???0138nobodyさん
2010/11/15(月) 21:15:56ID:???0139nobodyさん
2010/11/15(月) 21:27:07ID:???0140nobodyさん
2010/11/15(月) 21:28:01ID:???0141nobodyさん
2010/11/15(月) 21:55:22ID:???誰も>>118限定で話してないよ?
用途は分からないけどDB云々のケースならバッドノウハウで解決を図ることはないって話
0143nobodyさん
2010/11/15(月) 22:02:36ID:???そのDB云々のケースのために暗号化方式を変えて、一時的に
「暗号化(正確にはハッシュ化だけど)しない」ようにする、ってのは
一概にバッドノウハウとは言えないんじゃね、って話をしてる。
0144nobodyさん
2010/11/15(月) 22:10:47ID:???0145nobodyさん
2010/11/15(月) 22:14:00ID:???俺が言ってるバッドノウハウはcomponentが用意した方法ではなく、beforeFilterとかで無理矢理やろうとしていることを言ってる
そういうことを覚えても何の得にもならんよと
ま、いずれにせよ必要性を感じたことないけど
0146nobodyさん
2010/11/15(月) 22:20:09ID:???0147nobodyさん
2010/11/15(月) 22:32:58ID:???え、そんなことしたがるアホいるの? ……いるか。。
なんか話がずれてた気がしたが納得した。
0148nobodyさん
2010/11/15(月) 22:40:35ID:???まず、>>118がこう書いてるんだから、なんかしらの必要性があるんだ。
それが良い・悪いじゃないんだよ。
そして、暗号化とハッシュ化があって、それぞれ微妙に意味合いも違うんだ。
だから、まずは>>118が何をしたいか詳しく聞いてから回答を述べようではないか。
0150nobodyさん
2010/11/15(月) 23:08:33ID:???「暗号化」は「復号化」という言葉と対になっていることからも分かるように
・情報が失われず
・アルゴリズムと鍵を知っていれば元の情報を取り出せる
のが基本
とはいえハッシュ値を取り出すことを「暗号化」と呼んだりcrypt()みたいな
関数名を付けることもあるので、
実際上は「暗号化⊃ハッシュ化」ということになるんだろうね
0152nobodyさん
2010/11/15(月) 23:23:26ID:???http://oshiete.goo.ne.jp/qa/3429975.html
0153nobodyさん
2010/11/16(火) 00:07:31ID:???暗号化・ハッシュ化を一緒にして質問していたら。
0154nobodyさん
2010/11/16(火) 03:10:19ID:???0155nobodyさん
2010/11/16(火) 10:55:47ID:???cake使う人ってアホが多いのかな?
0156nobodyさん
2010/11/16(火) 12:14:42ID:???0157nobodyさん
2010/11/16(火) 12:27:50ID:???0158nobodyさん
2010/11/16(火) 13:03:43ID:???>>138 それは暗号化とは言わない
を受けての
>>151 不可逆暗号は暗号ではないのか。
だからな
もうどうしようもないくらいバカ
0159nobodyさん
2010/11/16(火) 14:28:02ID:???0165nobodyさん
2010/11/16(火) 17:40:29ID:???もっと前もいたのかもしれないけど
0166nobodyさん
2010/11/16(火) 19:27:53ID:???カスタマイズしなければ出来ませんかね?
DBやCakeのテンプレート以外のファイルを取得し、
変数に入れて出力したいです。
0167nobodyさん
2010/11/16(火) 19:31:49ID:???変数に入れて出力?なにそれ
0169nobodyさん
2010/11/16(火) 19:51:39ID:???0171nobodyさん
2010/11/16(火) 20:32:28ID:???renderの出力(のために使用するテンプレート)を(ctp)ファイル以外にしたいのですが、
カスタマイズしなければ出来ませんかね?
DB(の格納値)や(、)Cakeのテンプレート以外のファイルを(テンプレートとして)取得し、
変数(をそれ)に入れて出力したいです。
0172166
2010/11/16(火) 20:36:51ID:???1:テンプレート変数(例えば<{OUTPUT}>)が書いたビューを用意
2:↓で変数に保持
$this->autoRender = false;
$this->render('output')
$view_data = $this->output;
3:DBで取得してきたデータを変数に入れる
4:1のテンプレート変数にstr_replaceで置換
$output = str_replace('<{OUTPUT}>', $db_data, $view_data);
5:echoで出力
なのですが、Cakeの機能だけで
>>166のようなことが出来るのかと思い、質問しました。
0174nobodyさん
2010/11/16(火) 20:41:21ID:???よろしい
ならば答えよう
他の形式で出力することは機能として備わっている
呼び出した拡張子に寄って出力フォーマットを切り替えるなんてことも可能
マニュアルでリクエストハンドリングとか調べてみて
0175nobodyさん
2010/11/16(火) 20:57:17ID:???<?php echo $content_for_layout; ?>
だけのlayutファイル、
<?php echo $content?>
だけのviewファイルを用意しておき、コントローラで最終的に
$this->set('content',$data);
を呼びさえすれば、「$data」をどう作るかなんて自由にやりたい放題だと思うが。
0179nobodyさん
2010/11/17(水) 00:08:32ID:???0180nobodyさん
2010/11/17(水) 00:16:05ID:???0181nobodyさん
2010/11/17(水) 00:39:16ID:???/webroot
└/images
└/top
みたいにするか、
/webroot
└/top
└/images
みたいにまとめるか悩みます。
0182nobodyさん
2010/11/17(水) 00:54:51ID:???0183nobodyさん
2010/11/17(水) 01:17:15ID:???普通のWebサイトは後者が多く、自分も今までは後者で作っていました。
とりあえず、Cakeの作法に合わせたいので、前者にします。
0184nobodyさん
2010/11/17(水) 01:30:20ID:???どこ統計?圧倒的に前者が多い印象だけど
0185nobodyさん
2010/11/17(水) 01:53:13ID:???0186nobodyさん
2010/11/17(水) 13:29:15ID:???悩む時あるよな。webrootにprefix用のディレクトリ作成するとエラーになるし。
$html->linkやRouter::urlでの表示とか
0187nobodyさん
2010/11/17(水) 15:15:11ID:???以下のようなformHelperを使った記述を、
「フォームを追加」ボタンを押せばJqueryで同じフォームが増えていくと
いったことがしたいです。
echo '<div class="newForm">';
echo $form->select('Alert',$menuOptions["area"]);
echo '</div>';
グーグルアラートのアラートを追加するボタンみたいな感じでやりたいです。
この場合、formHelperを使っているので、Jqueryと連携するにはどうすればよいものでしょうか?
0188nobodyさん
2010/11/17(水) 15:52:34ID:???手順のヒントを書くと
1)ボタンを押す
2)jQueryのajax機能で、指定コントローラーのアクションにPOST
3)そのアクション内で>>187のビューを出力
4)ajaxで受け取ったデータをページの指定箇所に反映
var add_form_fields = $("addFormFields").html();// 以前のHTMLを保存
$("addFormFields").html(add_form_fields + data);// 3を結合して出力
(試してないからコードはおかしい可能性有り)
0189nobodyさん
2010/11/18(木) 17:15:13ID:???ビューやPHPファイルは全てUTF-8で作成し、
出力時はmb_convert_encodingでSJIS-winに変換しています。
そして、ビューに$html->charset('Shift_JIS')を追加しています。
絵文字を使いたいので過去スレを調べたところ、
「Ktai Library」というツールが良いと聞いたので使っているのですが、
絵文字がどうしても文字化けします。(?という表示になります)
元ファイルはUTF-8なのに、レンダリング時にはShift_JISになるから
なのかもしれませんが、どうやっても解決できません・・。
Ktai Libraryを使用されてて、私と同じように出力をShift_JISにされている方は
設置に対するヒントを教えていただけないでしょうか?よろしくお願いします
0190nobodyさん
2010/11/18(木) 17:24:42ID:???0191nobodyさん
2010/11/18(木) 17:38:13ID:???0193nobodyさん
2010/11/18(木) 17:44:32ID:???このあたり?
0194nobodyさん
2010/11/18(木) 20:33:55ID:???http://libemoji.com/
0195nobodyさん
2010/11/18(木) 22:32:26ID:???これってキャリア分の絵文字を配列に代入して切り替えてるだけですよね?
ちょっと使いましたが、効率悪い気がするんですよね・・。
Ktai Libraryは作者の方が意欲的ですし、利用している人も多いと思って
質問したのですが、文字コードの扱いに難があるようですね。
ググったらそういう注意事項がありました。
何とかしたいのですが、無理なら>>194を使うか自作します。
0197nobodyさん
2010/11/19(金) 12:44:56ID:???http://www.1x1.jp/blog/2010/11/cakephp_security_component_vulnerability.html
0198nobodyさん
2010/11/19(金) 13:06:15ID:+0BO3EaIもしかしてみなさん本家のブログ記事とか読んでいらっしゃらないわけですか?
まさかね。
僕が騒いでいる様子を探せていなかっただけですよね。
0199nobodyさん
2010/11/19(金) 13:35:52ID:???俺もCSRF対策は独自に開発して使ってるし。
0200nobodyさん
2010/11/19(金) 14:10:15ID:???0201nobodyさん
2010/11/19(金) 14:18:35ID:???0202nobodyさん
2010/11/19(金) 15:35:43ID:???0203nobodyさん
2010/11/19(金) 15:49:02ID:???0204nobodyさん
2010/11/19(金) 17:01:49ID:???シリアライズした設定値をrot13変換・・・可逆すぎワロタ
要は自前実装でワンタイムトークン発行しろってことで、たいていの用途にはおk?
0205nobodyさん
2010/11/19(金) 17:15:49ID:???考えてみろ。第三者が可逆されるって、鯖をハッキングされるか
内部流出しかないけど、そうなるとパスワードうんぬんどころじゃねーぞ。
0207底辺
2010/11/19(金) 20:32:33ID:???セキュリティセキュリティって、言ってる人って、ハッキングされた経験でもあるの?俺はさほどセキュリティに気を使ってないけど、この10年何ら問題が起きてない。泥棒に入られるかもと思って家に防犯カメラつけたりするような物だよね。
0208nobodyさん
2010/11/19(金) 20:44:57ID:???0209nobodyさん
2010/11/19(金) 21:21:21ID:???205じゃないけど、前にくだ質の人に質問したら
「ハッキングより内部流出の為にパスワードをハッシュ化する」
て言ってた。正しいかどうかは知らん。
0210nobodyさん
2010/11/19(金) 23:21:14ID:???0211nobodyさん
2010/11/20(土) 00:29:30ID:NISeDnL6これプロジェクトでappフォルダコピーしたがうまく表示されないな
やっぱEclipseぐらいしかないのかね?
0214nobodyさん
2010/11/20(土) 19:22:07ID:???0215nobodyさん
2010/11/20(土) 23:06:30ID:???デザインプレビューはほとんど使わないけど、なんか管理しやすい。
0216211
2010/11/20(土) 23:52:59ID:NISeDnL6DWって何とかドロワーってやつ?少し聞いたぐらいしか無いけど
コード保管とか関数一覧機能有るなら試してみようかな
PHPエディタのスタンドアロン版を今使ってるけどemエディタみたいにタブだったらいいのになー
0217216
2010/11/21(日) 00:01:59ID:???0218nobodyさん
2010/11/21(日) 04:08:48ID:???PGが使うツールとしては使いにくいだろうね。
0219nobodyさん
2010/11/21(日) 08:39:09ID:???0220nobodyさん
2010/11/21(日) 09:07:46ID:???0221nobodyさん
2010/11/21(日) 13:02:29ID:???マニュアルやAPIサイトもタブの中で開けるし、集中して作れる。
0222nobodyさん
2010/11/22(月) 14:13:56ID:???モデル内で動的なテーブルの切り替えを行っていて、どのテーブルを使用するかの判断に
必要なアイテムをコンストラクタで渡そうと考えています。
まったく見当がつかないのですが、なにか良い方法はありますか?
0223nobodyさん
2010/11/22(月) 14:30:28ID:???0225222
2010/11/22(月) 14:42:59ID:???usesで指定するモデルですが、paginatorで使用するモデルとなります。
単にデータの入出力に使うだけのモデルであれば色々策は考え付くのですが、
paginatorで使用するというところがネックで悩んでいる次第です。
usesに記載しないモデルでpaginatorを上手く効かせる方法があればそれでも構いません。
0226nobodyさん
2010/11/22(月) 14:58:16ID:???どう考えても設計見直したほうが幸せだろ
0227nobodyさん
2010/11/22(月) 18:01:25ID:???Factory Methodパターン(的な)構造にするのが良いと思う。
変にCakeの内側に入り込もうとするとメンテナンス不能なものになりそうだ。
てか普通に該当モデルに使用テーブルの切り替えメソッド実装するんじゃダメ?
試してないけど
0228222
2010/11/22(月) 21:38:44ID:???おっしゃる通りで、
>てか普通に該当モデルに使用テーブルの切り替えメソッド実装するんじゃダメ?
を実装して対応しました。
usesに指定するmodelの$useTableにデフォルトでfalseを指定しておき、
paginate()を呼び出す前に、実装したテーブル切替メソッドを呼ぶという感じです。
usesに指定したmodelのロード前に、$useTableにどうやってテーブルを指定しようか、
と悩んでいたのですが、とりあえず何も設定せず、後で再設定するという方法ですね。
0230nobodyさん
2010/11/23(火) 17:17:59ID:???やっとチュートリ終わってCakePHP辞典を眺めているレベルですが、
質問があります。
HtmlHelperの様々なメソッドは、生HTMLを*.CTPに記述すれば足りる事であり、
わざわざ用意された関数を使う必要などない、と思えるのですが、いかがでしょうか?
たとえばHtmlHelper::para()など<P></P>と書けば良いだけな気がします・・・
また、AppModelクラスでは、アソシエーションを定義しfind()やread()などを使うよう
ですが、単にSQLを書いてquery()を使えば良いような気がしています。
AppModelにはquery()とset()さえあれば良いような・・・
こんな質問をするのは私の理解が浅いためだとは思いますが、初心者にも判るよう、
HtmlHelperやAppModelのメソッドの存在意義を教えていただきたいです。
よろしくお願い申し上げます。
0231nobodyさん
2010/11/23(火) 17:21:03ID:BKW+AU3M->linkと->dataCellsは楽だと思うぜ
0232nobodyさん
2010/11/23(火) 21:56:51ID:???linkはroute直したときとかに勝手にリンクも直るので便利
default.ctpのヘッダー部分も基本的にhtmlに直してる
cakeと絡む部分のあるlinkとかはhelper使って、絡まないpとかはhtmlで書くという感じ
tablecellsは最初は使ってたけど、classとか指定してカスタマイズしてたらわけわからなくなったので、
今はforeachで書いてる
0233nobodyさん
2010/11/24(水) 13:59:05ID:???「登録されてないアドレスです」 や 「パスワードが正しくありません」
などのバリデーションはmodelのルールでは定義できないでしょうか?
マニュアルを読んだところ、そういった機能はないようなので、
自分でロジックを書かなければいけないかと思っております。
0234nobodyさん
2010/11/24(水) 14:14:59ID:???はい。オリジナルバリデーションを用意しましょう。
探せば見つかると思う。
ただ
エラーメッセージは
「メールアドレスかパスワードが違います」
と表示しましょうね。セキュリティ的に。
0237nobodyさん
2010/11/24(水) 14:51:07ID:???俺もlinkとかは使っているな。
階層が絡むものとかは開発環境・本番環境で変わってくることもあるし。
あとは、form関連はかならず使う。
HTMLヘルパー系は、実質あんまり使わないな…。
Modelに関しては、シンプルで分かりやすくなるので、生SQLは基本書かない。
0238nobodyさん
2010/11/24(水) 14:57:32ID:???0239230
2010/11/24(水) 19:24:51ID:???AppModelクラスで、アソシエーションを何も定義せずに生SQLを書くことについては
いかがでしょうか?
SQLの知識があっても、アソシエーションを定義してAppModelのメソッドを使ったほうが
よいのでしょうか?
生SQLを書いてAppModel::query()は良くないのでしょうか?
0240nobodyさん
2010/11/24(水) 20:10:39ID:???findでjoinする時はjoin部分をSQLにするけど。
0241nobodyさん
2010/11/24(水) 21:04:53ID:???よくあんな糞みたいな本が世に出せたもんだ
0242nobodyさん
2010/11/24(水) 21:34:35ID:???生SQLでも良いと思う。CakeのActiveRecordの恩恵は半分くらいしか受けないが、
CakeのAcriveRecordの微妙な部分で悩んだりバッドノウハウ積んだりする手間も減る。
でも、現在Cake初心者で、生SQL上等なくらいのスキルを持ってるなら、
Zend Frameworkとかにトライするのもいいんでは?
0243nobodyさん
2010/11/24(水) 23:23:55ID:???他のメンバーに合わせる方向性で決めたほうがいいかと。
0245nobodyさん
2010/11/25(木) 01:03:35ID:???0246nobodyさん
2010/11/25(木) 10:13:58ID:???0247nobodyさん
2010/11/25(木) 11:10:39ID:???初心者の場合だと難しいね。何がしたいか分かって探すリファレンス本だし。
0248nobodyさん
2010/11/25(木) 20:30:07ID:???奴らは街角で拉致られてタコ部屋に押し込まれて強制労働させられてるのか?
自ら希望して派遣会社に登録したんじゃないのか?
まずそこをハッキリして貰いたいんだが。
0251nobodyさん
2010/11/25(木) 22:53:00ID:???0252239
2010/11/26(金) 06:09:25ID:???疑問が少し晴れました。
ありがとうございました。
まだCakePHPのチュートリやったくらいなので、しょぼい自作のフレームワーク
と比べて、あまり恩恵を感じられてないのですが、もう少し学習してみたいと思
います。
0253nobodyさん
2010/11/27(土) 13:38:43ID:???合う合わないがある。色々あるから他のを試してみても良いと思う。
0254252
2010/11/27(土) 18:31:52ID:???DB関連は、SQLを直接書いて、PDO。
出力は、Smartyにお任せ。
CakePHPを使えば、上記のアーキテクチャ(?)に比べて数倍効率UPすると
思っていましたが・・・もしかするとそれは幻想かなぁ・・・
0255nobodyさん
2010/11/27(土) 20:10:38ID:???(Model周りのメソッド含め)
0256nobodyさん
2010/11/28(日) 11:24:00ID:???とりあえず過去の遺産は忘れて、Cakeに染まってみたら?
そこから自分が効率良いと思う手法にしたらいいと思う。
0258nobodyさん
2010/11/28(日) 23:06:55ID:???オレオレフレームワークの方の道も開けるよ。
そしてCakeの流儀がいかに計算されているかに気づく。
0259nobodyさん
2010/11/28(日) 23:51:56ID:???Cakeを使ってみると色々感心させられるところが多い。
いつか良いところを取り入れようと思う。
0260nobodyさん
2010/11/29(月) 11:52:35ID:???0261nobodyさん
2010/11/29(月) 12:42:07ID:???0262nobodyさん
2010/11/29(月) 13:47:13ID:???× if (!empty($timeFormat)) {
○ if ($timeFormat != 'NONE' && !empty($timeFormat)) {
と違うの
0263nobodyさん
2010/11/29(月) 14:14:39ID:???0264nobodyさん
2010/11/29(月) 14:49:11ID:???switch ($timeFormat) {
12, 24, それ以外で場合分けしてるから、動作自体は問題なさそうなんだけど。
具体的にどんな障害があるの?
0265nobodyさん
2010/11/29(月) 15:18:42ID:???いままで1.2系使ってたんだけど、$selectedにY-m-dいれてやってたのもってきたらこうなったの。
0266nobodyさん
2010/11/29(月) 15:32:11ID:???そのとき、cakephpフォルダの.htaccessの記述を
下記のように変えました。
RewriteRule ^$ app/webroot/users [L]
appフォルダの.htaccessは以下
RewriteRule ^$ webroot/users [L]
この時、webroot上の .htaccessはどのように記述すればよいのでしょうか?
0267nobodyさん
2010/11/30(火) 23:54:31ID:yu36gv9uそういうのroutes.phpに書くんじゃないかなと
0268nobodyさん
2010/12/01(水) 14:42:57ID:???ありがとうございます。 Router::connect('/', array('controller' => 'users', 'action' => 'index')); で上手くいきました。
ただ、routerのマニュアルやネットで調べてもできるのかどうかわからない部分が。
現在、controllers に users, homes, alerts があります。
それらのパスを下記のようにするにはどうすればよいかどなたか教えてもらえないでしょうか?
domain/users/login → domain/login
domain/homes/help → domain/help
domain/alerts/edit → domain/edit
なぜこうしたいかというと、 header の リンクパスが現在見てるページによって
固定では上手く動かないのです。
link = > 'help' へジャンプする時、
現在のページが domain/homes/contact ならよいが、
domain/users/login ページなら ちゃんと飛べない。
0269nobodyさん
2010/12/01(水) 14:44:25ID:???上手くいかず。
// Default route
Router::connect('/', array('controller' => 'users', 'action' => 'index'));
Router::connect('/:action', array('controller' => 'users'));
Router::connect('/:action', array('controller' => 'homes'));
0270nobodyさん
2010/12/01(水) 14:44:51ID:???ばかばっか
0272nobodyさん
2010/12/01(水) 17:47:59ID:???こんな感じに。
<a href="http://localhost/cake/app/webroot/img/sample_mail.jpg" class="sampleMailLink">サンプルメール</a>
下のようなコードを試しているのですが、うまくいかず。。
どうすれば可能になるでしょうか?
echo $html->link(
'サンプルメール',
$html->image("sample_mail.jpg"),
array(),
array()
);
参考にしたリンク
http://stackoverflow.com/questions/1878301/cakephp-image-inside-link-want-to-make-link-point-to-image-location
0273nobodyさん
2010/12/01(水) 18:05:01ID:???$html->image("recipes/6.jpg", array("alt" => "Brownies")),
"/recipes/view/6",
array(),
false,
false
); ?>
0274nobodyさん
2010/12/01(水) 18:07:24ID:???ちなみに
$html->image();
の第二引数にurlだったかlinkだったでリンクURLを渡してもできたはず
0275nobodyさん
2010/12/01(水) 18:08:32ID:???ちなみに
$html->image();
の第二引数の配列にurlだったかlinkだったかのキーでリンクURLを渡してもできたはず
0276nobodyさん
2010/12/01(水) 18:11:09ID:???すいません、日本語が分かりづらかったです。
テキストにリンクを貼って、画像に飛びたいという形です。
こんな感じ。
<a href="http://localhost/cake/app/webroot/img/sample_mail.jpg" class="sampleMailLink">サンプルメール</a>
なぜこのようなことをするかというと、
このfancyZoomというプラグインが使いたいからです。リンク先が画像そのものじゃないと有効にならない。。
http://gigazine.net/index.php?/news/comments/20080208_fancyzoom/
0277nobodyさん
2010/12/01(水) 18:14:10ID:???0278nobodyさん
2010/12/01(水) 18:17:10ID:???おおすまん
でもお前馬鹿だろ
html->image()は何を返すんだ?画像のURL返すか?タグを返すだろ?
リンクURLだけ欲しければ
html->url()
これ使え
0279nobodyさん
2010/12/01(水) 18:20:34ID:???マニュアルくらい読んでから質問しような
少なくともHTMLヘルパー使うって解ってるなら↓全部目通せよ
http://book.cakephp.org/ja/view/1435/Inserting-Well-Formatted-elements
0280nobodyさん
2010/12/01(水) 18:24:26ID:???Html->image()で渡されたパスはimgディレクトリを補足してくれるから
webroot/img/sample.jpgだったらsample.jpgだけ書けばいいけど
Html->url()では当然imgなんかつけないからな
/img/sample.jpg
こうかけよ
0281nobodyさん
2010/12/01(水) 18:47:18ID:???ありがとうございます! マニュアルは読んだのですが、コントローラ指定の場合が
書いてあってよくわからず。。。
現状はまだ格闘していまして、こんな感じでいろいろ試しているけど上手くいかず。。
<?php
echo $html->link(
'サンプルメール',
$html->url('/img/sample_mail.jpg'),
array(
'alt'=> 'サンプルメール',
'class'=> 'sampleMailLink',
)
)
?>
<?php
echo $html->url(
'サンプルメール',
array(
'link' => '/img/sample_mail.jpg',
'alt'=> 'サンプルメール',
'class'=> 'sampleMailLink',
)
)
?>
0282nobodyさん
2010/12/01(水) 19:25:47ID:???それぞれ何を吐き出してるの?
最終的に何を吐き出したらOK?
そこまでHtmlヘルパーにしなきゃだめ?Html->url()だけつかってあとは<a.....って書いてもいいんじゃないの?
0283nobodyさん
2010/12/01(水) 19:47:51ID:???echo $html->link(
'サンプルメール',
'/img/sample_mail.jpg',
array(
'alt'=> 'サンプルメール',
'class'=> 'sampleMailLink',
)
)
?>
じゃないの?
HTMLヘルパーいらんでしょ
0284nobodyさん
2010/12/01(水) 19:50:54ID:???とりあえずhttp://localhost/をルートにした方がいいぞ
トップディレクトリ以外をルートにする運用は非推奨なはず
0285nobodyさん
2010/12/01(水) 19:54:26ID:???ごちゃごちゃ抜かすな
cakephpではウェブルート意外にでも何処にでも於いても、
ディレクトリ構成変わっても大丈夫なように
HtmlHelperがあるんだよ
0286nobodyさん
2010/12/01(水) 19:57:28ID:???だからそういう運用は非推奨だって
どーしてもルートを変えられない時じゃなければ、トップディレクトリをルートにした方がいいに決まってるじゃん
0287nobodyさん
2010/12/01(水) 20:00:10ID:???0288nobodyさん
2010/12/01(水) 20:07:58ID:???どこに非推奨とか推奨とか書いてあるのか教えろ
勝手に非推奨にしてんじゃねーぞ
0289nobodyさん
2010/12/01(水) 20:10:29ID:???本当にバカしかいなくなった
0290nobodyさん
2010/12/01(水) 20:43:13ID:???というか、一つ一つ何を返すかを確かめたりしたらすぐ解決すると思うけどな。
結局最終的に何を出力したらいいのかこっちにはわからんけど、
281の上のコードはlink使うならlinkの第二引数はHtml->url()に渡すものでいい。
すなわち、
<?php
echo $html->link(
'サンプルメール',
'/img/sample_mail.jpg',
array(
'alt'=> 'サンプルメール',
'class'=> 'sampleMailLink',
)
)
?>
これでいいんじゃね?
あとはしらね
0291nobodyさん
2010/12/01(水) 22:39:31ID:???わからなかったら普通にHTML書けばいいじゃん。
0292281
2010/12/02(木) 06:35:44ID:???最終的にやりたいのは、
<a href="http://localhost/cake/app/webroot/img/sample_mail.jpg" class="sampleMailLink">サンプルメール</a>
このような形でした。
ヘルパーを使わないとローカルとパブリックでリンク先がずれちゃうのがイヤだったもので。
一応、cakephp辞典やらも購入して試したのですが、途方にくれていました。本当に助かりました。
>>284
cakephp webroot change とかでぐぐって勉強してみます!
0293nobodyさん
2010/12/02(木) 12:08:43ID:???http://d.hatena.ne.jp/cakephper/20101201/1291166566
0294nobodyさん
2010/12/02(木) 12:28:15ID:???0295nobodyさん
2010/12/02(木) 15:11:25ID:???サイトのサイドバーに「カテゴリ」「お知らせ」「最新記事一覧」などの
共通する項目(モデル)があります。
app_controller.phpに $uses = array('News', 'Category', 'Blog')と
必要なモデルを指定して、beforeFilterで毎回findを取得し、setしています。
このやり方だと毎回サイドバーのSQLを実行することになり、
負荷が心配なのですが、設計としていかが思いますか?
ブログのサイドバーみたいなイメージでいただけると分かりやすいかと思います。
0296nobodyさん
2010/12/02(木) 15:15:44ID:wz3Ap8ga記事挿入の時だけ書き換えるとか
0297nobodyさん
2010/12/02(木) 15:15:45ID:???キャッシュ化してサクサク
0298nobodyさん
2010/12/02(木) 16:22:11ID:???以前使った事があったのですが、すっかり忘れてました。
sidebar部分をelementsに入れて、requestActionで必要なモデルを呼び出します。
0299nobodyさん
2010/12/02(木) 17:17:48ID:???この案件で1カ月弱の納期。
CakePHPでの開発効率ってこんなに良いものなの?
0300nobodyさん
2010/12/02(木) 17:33:45ID:???0301nobodyさん
2010/12/02(木) 18:18:31ID:???0302nobodyさん
2010/12/02(木) 18:19:50ID:???0303nobodyさん
2010/12/02(木) 18:40:55ID:???0304nobodyさん
2010/12/02(木) 21:03:22ID:???とあるSOHO案件のページで、12月納品として最近掲載されてた。
俺の感覚では到底無理と思ったんだが、良かった、普通の感覚で。
0305nobodyさん
2010/12/02(木) 22:20:18ID:???別に1ヶ月弱で構築できるレベルだと思うよ。
現に俺は>>299よりもっと機能のあるポータルサイトを作ったし。
デザインはさすがに外注に出したけどね。
0306nobodyさん
2010/12/03(金) 05:44:20ID:???0307nobodyさん
2010/12/03(金) 11:28:20ID:???しかし、そのjsファイルが必要なのは特定のページのみ。
この3つ。
echo $html->script('jquery');
echo $html->script('js-global/FancyZoom.js');
echo $html->script('js-global/FancyZoomHTML.js');
この場合、特定のページのみでjsファイルを読み込ませるようにしないと、
結構速度が変ってくるものでしょうか?気にすることもないぐらい微々たる
ものでしょうか?
変更方法は default.ctpをコピーしてやるのがよさげでした。
http://stackoverflow.com/questions/1425084/adding-page-specific-javascript-to-each-view-in-cakephp
0308nobodyさん
2010/12/03(金) 11:42:25ID:???1.3だと <?php echo $html->script('jquery', array('inline' => false)); ?>
とview内にいれるのがよいのですね。
0309nobodyさん
2010/12/03(金) 12:23:42ID:???やっぱり必要以外のファイルは読み込まない方が良いと思うよ。
あと、重さを気にするならHTMLヘルパーは使わない方が良いと思う。
0310nobodyさん
2010/12/03(金) 12:39:47ID:???浅い知識で語るな
0311nobodyさん
2010/12/03(金) 17:24:12ID:???0312nobodyさん
2010/12/03(金) 18:17:30ID:???>>307は必要ないJSを読むと遅くなるか?と言っていて、それは>>308で解決していると思うのだが
0313nobodyさん
2010/12/03(金) 18:55:55ID:???コンポーネントや定番プラグインでそのまま作れるならありじゃない?
Cakeってはまれば早いけど、ちょっと脇道にそれると逆に時間かかることあるし。
例えばAuthComponent使うつもりがメアドとユーザー名の両対応求められるとか。
0314nobodyさん
2010/12/03(金) 19:05:47ID:???0316nobodyさん
2010/12/03(金) 19:58:24ID:???なにを言いたいのかサッパリ分からん
>>310
通信への負荷だけでなく、ブラウザ側の処理負荷は考えている?
0317nobodyさん
2010/12/03(金) 20:02:20ID:???0318nobodyさん
2010/12/03(金) 20:40:12ID:???http://d.hatena.ne.jp/cakephper/20101201/1291166566 (参考)
echo $html->image(
"logo.png",
array(
'url' => 'http://www.site.jp/',
'class' => 'site_liste_image',
'alt' => 'サイト',
'target' => '_blank',
)
こうだと思ったら、できませんでしで、途方にくれてます。
どうすんの、今日作ったこの大量のリンク。。
0319nobodyさん
2010/12/03(金) 20:48:27ID:???だってimage()はイメタグ吐き出すんだろ?
多分できないだろ素直にlink()使うかタグ書きな
0320nobodyさん
2010/12/03(金) 20:58:12ID:???url は $this->url() を呼んでるだけだから target の指定はできないね
0321nobodyさん
2010/12/03(金) 21:08:29ID:???デザイナーからもらうHTMLはクラス名やらなんやら色々書いてあって、そのたびに書き換えるのめんどうだから
src=""の中とかを$html->url()に正規表現で一括置換してる
0322nobodyさん
2010/12/03(金) 21:25:39ID:???if ($url) {
return sprintf($this->tags['link'], $this->url($url), null, $image);
}
ってところの、nullんところを工夫してゴニョゴニョ
わしはむしろそんなに大量に別窓ひらかせるリンクが散在してる状況のが問題な気がするよ。
画像に別窓リンクを設置するにしても、普通ループのなかでヘルパーを回して出力するもんだと思ってるんだけど。
ループの内部のヘルパーの記述に問題があったとしても、そこを直せば全部のループで修正が反映されるわけだし、
>318は一体どんなコードを書いてしまっているのか気になる。
0323nobodyさん
2010/12/03(金) 23:08:29ID:???あぁ>>310はサーバーのことだけ考えていたのね。
だとしたら、人のことを「浅い知識」だと言う資格はないね。
0324nobodyさん
2010/12/03(金) 23:14:08ID:???Htmlヘルパー使うか使わないかで、
クライアントサイドにどんな差があるのかを説明してみてくれるかw
クライアントが受け取るのはどちらもサーバーサイドが吐き出したHTMLソース
何が違う?w
0325nobodyさん
2010/12/03(金) 23:21:13ID:???>あと、重さを気にするならHTMLヘルパーは使わない方が良いと思う。
に対して答えてるんだろうけど、
その後食い違いが生じててここまでグダグダに
0326310
2010/12/03(金) 23:34:16ID:???勘違いさせたなら謝る。
0327nobodyさん
2010/12/04(土) 02:15:03ID:xozd8d0/というかみんなやってる?
$this->model->query() とかでSQL書いてんの?
0328nobodyさん
2010/12/04(土) 18:42:01ID:???最近、bindModelをよく使うけど。
0329nobodyさん
2010/12/06(月) 16:13:12ID:???0330nobodyさん
2010/12/06(月) 16:47:43ID:???0331nobodyさん
2010/12/06(月) 22:32:51ID:???$object = ClassRegistry::init('Hoge','Component');
ってやってもできなかった・・・。
0332310
2010/12/06(月) 22:46:33ID:???してnew
0333nobodyさん
2010/12/07(火) 01:27:42ID:???一応、こういうのあるけど、この注意文を読むと怖くて組み込みたくなかった。
1.3系は開発中に2つほどマイナーバージョンアップしたしなぁ。
http://wp.serpere.info/archives/1138
> 注意: Cake本来の機能を超える機能を提供するため、Cakeコアのprivateなメソッドやプロパティにアクセスしています。Cakeのバージョンが上がると使用できなくなる可能性があります。十分ご注意ください。
0334nobodyさん
2010/12/07(火) 02:15:05ID:???やっぱ、VMwareにCentOS入れて開発環境作る方が良いのかな
0335nobodyさん
2010/12/07(火) 02:31:26ID:???そんな遅いかな?特に不満ないわ
0336nobodyさん
2010/12/07(火) 02:44:23ID:???0337nobodyさん
2010/12/07(火) 03:06:47ID:???稼働環境に合わせられてスナップショットも使えるし
最初の構築はXAMPPみたいにお手軽じゃないけど、その分以上にメリットのがある。
0338nobodyさん
2010/12/07(火) 03:21:48ID:???VMのメモリが1GBはいるな
0339nobodyさん
2010/12/07(火) 05:49:16ID:???全部まとめて出すコードどっかに転がってないかな?
エラーメッセージを、各入力欄の横や下じゃなくって、
まとめてフォームの上に出す場合って良くあると思うし、
直ぐ見つかると思ったんだが。
探し方が悪いのかそういうヘルパーとか出てこなくってなぁ。
0340nobodyさん
2010/12/07(火) 10:29:17ID:???0341nobodyさん
2010/12/07(火) 15:36:20ID:???0342nobodyさん
2010/12/07(火) 20:00:33ID:???PHP4と5を共有化出来るから1.6.8を使っていますが、
自分も多少重く感じます。(1ページ表示に数秒かかる)
0344nobodyさん
2010/12/08(水) 08:10:12ID:???debugをオフにしたらだいぶ改善するらしいけど
0345nobodyさん
2010/12/08(水) 12:35:17ID:???0346nobodyさん
2010/12/08(水) 14:41:25ID:???VMwareで仮想環境+sambaも良いと思ったけど。
0347nobodyさん
2010/12/08(水) 15:49:33ID:???テスト環境で動いてるけど本番環境でpermissionが云々で動きましぇーんとかいうの?
0348nobodyさん
2010/12/08(水) 16:09:51ID:???画像のアップロードやファイルの読み書きぐらいだろ。
PHPでパーミッション必要な箇所って。
0349nobodyさん
2010/12/08(水) 21:54:15ID:???0350nobodyさん
2010/12/09(木) 11:00:47ID:???0352nobodyさん
2010/12/09(木) 22:41:46ID:???0353nobodyさん
2010/12/09(木) 23:33:34ID:???0354nobodyさん
2010/12/09(木) 23:44:01ID:???0355nobodyさん
2010/12/09(木) 23:53:53ID:???PHPやMySQLのバージョン合わせとかパーミッションの問題とかハイブリッドで解決できる。
0356nobodyさん
2010/12/10(金) 00:01:45ID:???PHP MySQL Apacheだけでキョウビのサービスがなり立つわけなかろ?
本番と同じディストリビューション用意していろいろぶっ込む
ソースコードの更新はrsync使ったシェルスクリプト書いとく(Capistranoは知らん)
RPM系ならRPM玉を用意してソフトウェアの設定ごとアップロードできるし。deb系は知らん。
0357nobodyさん
2010/12/10(金) 03:31:23ID:???XAMPP使ってるって話じゃないのか?
0359nobodyさん
2010/12/10(金) 08:49:23ID:???0360350
2010/12/10(金) 09:29:15ID:???echo $form->create('Radio',array('method'=>'post'));
echo $form->input('gender', array('type' => 'radio', 'options' => $gender));
echo $form->end();
↓
<input name="data[Radio][gender]" id="RadioGender" value="1" type="radio"><label for="RadioGender">male</label>
<input name="data[Radio][gender]" id="RadioGender" value="2" type="radio"><label for="RadioGender">female</label>
cake1.3.6です
idが同じため、femaleの文字をクリックしてもmaleが選択されてしまいます。(femaleが選ばれてほしい)
before after オプションで自前でやるしかないでしょうか
0361350
2010/12/10(金) 09:55:44ID:???もっと良い方法があれば教えてください。
$gender = array(1 => 'male', 2 => 'female');
echo $form->create('Radio',array('method'=>'post', 'inputDefaults' => array('div' => false, 'legend' => false, 'label' => false)));
echo $form->input('gender', array('type' => 'radio', 'options' => $gender, 'hiddenField' => false, 'before' => '<label>', 'after' => '</label>', 'separator' => '</label><label>'));
echo $form->end();
0362nobodyさん
2010/12/10(金) 11:11:18ID:???echo $form->input('User.sex', array('type' => 'radio', 'options' => Configure::read('User.sex'), 'label' => true));
で、各ラベルにはUserSex1とか付く。
createは↓こんな感じ。
echo $form->create(array('action' => 'add', 'inputDefaults' => array('label' => false, 'div' => false, 'legend' => false)));
0363350
2010/12/10(金) 12:06:50ID:???比較してみたところ、1.3.6から、id生成の部分にslugを使うようになっていました。(1.3.4ではunderscore)
$attributes['id'] . '_' . Inflector::slug($optValue)
環境によるslugバグでおかしくなっていたようです。
http://dxd8.com/archives/209/
0364nobodyさん
2010/12/10(金) 12:25:42ID:???バージョンアップも考えものだな
0365350
2010/12/10(金) 12:42:52ID:???PCREの再コンパイルか、cakeコアの修正となるので出来るだけやりたくないですね。。
既にバグとして報告されているようなので、次期バージョンで治ることを願います。
とりあえずブログの情報を元にコアの修正を行いました。(PCRE使う必要ないような・・・)
cake\libs\validation.php(161):
-$_this->regex = '/^[\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]+$/mu';
+$_this->regex = '/^[a-z\d]*$/i';
cake\libs\inflector.php(618):
-'/[^\s\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]/mu' => ' ',
+'/[^\w\s]/' => ' ',
0366350
2010/12/10(金) 12:45:35ID:???cake\libs\inflector.php(618):
-$_this->regex = '/^[\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]+$/mu';
+$_this->regex = '/^[a-z\d]*$/i';
0367nobodyさん
2010/12/11(土) 17:08:25ID:???ミスりやすいよ!何でこんな仕様なんだ?
0369nobodyさん
2010/12/12(日) 23:59:53ID:???0370nobodyさん
2010/12/13(月) 01:41:28ID:???コンポーネントと同じように使えるようにさせろ
0371nobodyさん
2010/12/14(火) 00:26:29ID:???0372nobodyさん
2010/12/14(火) 12:23:01ID:???しかし最近のPHPフレームワークの中では随分とレガシーな作りになってるはずなのに、
バグとかセキュリティホールがぽろぽろと出てくるね。
0373nobodyさん
2010/12/14(火) 12:43:53ID:???インターフェースもまだまだ洗練されてないし、未完成だろ。
0374nobodyさん
2010/12/14(火) 12:52:12ID:???セッションとかリダイレクトなんかは、PHP自体にそれなりのものがあるのに、
自前でゴテゴテしたものを実装して、悪い意味で複雑になってしまった感がある。
0375nobodyさん
2010/12/14(火) 13:06:04ID:???「重いならキャッシュ使えばいいだろ」って言う奴は現実逃避してるだけだな。
0376nobodyさん
2010/12/14(火) 13:09:46ID:???0377nobodyさん
2010/12/14(火) 13:45:17ID:???0378nobodyさん
2010/12/14(火) 13:48:16ID:???よく見て&試してみると古くて使えない情報ばかり
2006〜8年あたりの情報がよく出てくるけど、正直邪魔でしょうがない
2010年の情報はほとんどない
0379nobodyさん
2010/12/14(火) 14:22:28ID:???新規で改めて出すべき情報も最近は無い気がする。
0380nobodyさん
2010/12/14(火) 16:55:12ID:???これには同意だわ。
CakePHPの事調べるときは、まず記事の日付を見るよ。
2009〜2010年ならまだいいけど、2008年より昔だと正直あまり参考にならない。
0381nobodyさん
2010/12/14(火) 17:26:06ID:???0382nobodyさん
2010/12/14(火) 20:03:45ID:???なんとかcookbookを見たり、お前らに罵倒されながら覚えたけどw
0383nobodyさん
2010/12/14(火) 20:48:56ID:???もっと新しい情報増えないもんかね。
Advent Calendarがずっと続けばいいのに。
0384350
2010/12/14(火) 20:54:08ID:???0385nobodyさん
2010/12/14(火) 20:54:49ID:???0386nobodyさん
2010/12/14(火) 21:09:40ID:???0387nobodyさん
2010/12/14(火) 21:11:26ID:???0388nobodyさん
2010/12/14(火) 23:19:50ID:???フリープログラム掲載してるけど、しょっちゅうPHP4で動かないと言われる
0389nobodyさん
2010/12/15(水) 07:10:35ID:???セキュリティホールがあっても修正されないんだよね?
0390nobodyさん
2010/12/15(水) 09:27:53ID:???0391nobodyさん
2010/12/15(水) 12:12:12ID:???これをコントローラーから呼び出して実行したいと思います。
どう書けばよいのでしょうか?
0392nobodyさん
2010/12/15(水) 16:10:21ID:???iis7.5
php5.3.4
cakephp1.3.6
をそろえて
http://sites.google.com/site/kikineria/cakephp/dlandinstall
ここ見ながらやったんだけど
Warning: include() [function.include]: open_basedir restriction in effect. File(D:\Program Files\cakephp-cakephp-f6748d4\cake\bootstrap.php) is not within the allowed path(s):
(C:/inetpub/wwwroot) in D:\Program Files\cakephp-cakephp-f6748d4\app\webroot\index.php on line 76
Warning: include(D:\Program Files\cakephp-cakephp-f6748d4\cake\bootstrap.php) [function.include]:
failed to open stream: Operation not permitted in D:\Program Files\cakephp-cakephp-f6748d4\app\webroot\index.php on line 76
Warning: include() [function.include]: Failed opening 'cake\bootstrap.php' for inclusion (include_path='D:\Program Files\cakephp-cakephp-f6748d4;D:\Program Files\cakephp-cakephp-f6748d4\app\;.;C:\php\pear')
in D:\Program Files\cakephp-cakephp-f6748d4\app\webroot\index.php on line 76
Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php.
It should point to the directory containing your \cake core directory and your \vendors root directory. in D:\Program Files\cakephp-cakephp-f6748d4\app\webroot\index.php on line 77
こんなん出てきて死亡。スタートラインにも立てなかったぜ\(^o^)/
0393nobodyさん
2010/12/15(水) 16:21:33ID:???警告見てググればわかるけど、open_basedirに引っかかってる。
http://www.php.net/manual/ja/ini.core.php#ini.open-basedir
IISでのopen_basedirの解除方法とか知らんけど。
0397nobodyさん
2010/12/15(水) 19:52:30ID:???ディレクトリが違うごとに書き換えんのかよー!?やってらんね!
って思ったら、複数指定できんのね!
open_basedirのヒントくれてありがとー\(^o^)/
open_basedir = "C:/inetpub/wwwroot;C:/Windows/Temp;D:/Program Files/cakephp-cakephp-f6748d4"
ってしたら、いつもの黄色と緑の画面出てきたー!
やったぜい
0398nobodyさん
2010/12/15(水) 21:01:24ID:???ググって解決してるだろうけどいちおー。
http://www.php.net/manual/ja/book.exec.php
0400nobodyさん
2010/12/15(水) 23:21:27ID:???ちょうどLithiumが0.9.9 とかwktk感が出てきたっぽいので、
Lithium / PHP5.3 / MongoDB に挑戦してみたが
(公式)ドキュメントなさ過ぎワロタ状態 & 環境構築だけで一苦労だったでござる
(おまけにPHP5.3系では既存のCakeのコードもうpグレードしないとだし)
やっと見つけたLithium日本語フォーラムも閑古鳥だし
無名関数を使ったフィルタチェインとか面白そうなんだがなー
APIの大変更とか起こりそうな感じではあるので、まだCakeだな
0401nobodyさん
2010/12/15(水) 23:23:30ID:???Cake + MongoDB で実運用してる人いるのかな
0402nobodyさん
2010/12/16(木) 00:08:09ID:???0403nobodyさん
2010/12/16(木) 00:24:36ID:???MongoDBとやら + CakePHPは面白そうだな。
0404nobodyさん
2010/12/16(木) 00:27:46ID:???KVSに対応できるもの?
0405nobodyさん
2010/12/16(木) 02:09:13ID:???公開されてるね(試してない)。JOINがないなら、わざわざActiveRecord通すことも
ないとは思うけど・・・。セッションの保存用としての利用にはMemcachedは
デフォで使えるみたいだね(やっぱり試してない)
>>402
どうせバージョン乗り換え時に相応の学習コストがかかるし、どっちもStableなんだから1.3
>>403
ORM ってRDBの取り回しのために使うもんだと思ってた
0406nobodyさん
2010/12/16(木) 03:13:07ID:???CakeはRDBを前提としすぎてると思った。
俺の思った一番のネックはHelper->setEntity()だな。
0407nobodyさん
2010/12/16(木) 04:26:14ID:???レスどうもです。ちょっとわからなかったので自分なりに考えてみた。
・MongoDBはスキーマレス
・CakeのMongoDBデータソースを使う場合、モデル内にスキーマらしきものを記述する(らしい)
・Cake本体が"Describe"とか発行してテーブル(コレクション)の構造を把握することが出来ないので、
Helper側でModelName.FieldNameを自動設定する時にはまり所が出来る
・フィールドの中にさらにArrayが入ってたりするともう大変
こういう理解でいいのかな・・・cakephp-mongodbのサンプル見る限りはなんとかなりそうな気がしたが、
いろいろでてくるのか〜。
気力と実力と時間が出来ない限りは、CakePHP + MySQL をおとなしく使い続けるしかないのかな・・
そのへんLithiumはイケてるのかと思うと迷う。
0408nobodyさん
2010/12/16(木) 10:13:17ID:???FormHelperで配列をPOSTするようなのが、
type=select multiple=trueじゃないと作れないからね。
同じモデルへの送信を複数に出来るから、
[{'name':'foo'},{'name':'bar'},{'name':'buz'}]見たいなのは出来ても、
['foo','bar','baz']みたいなのは出来なかったよ。
でもcakephp-mongodbのコミッタも増えてるし、
そのうち使えるようになるんじゃないのかな。
0409nobodyさん
2010/12/16(木) 12:33:59ID:???今作ってるあるコントローラが、コンポーネント50個ぐらい使ってて、var componentsが長すぎる
デカいアプリ作るのに向かないのかなCakeって
0410nobodyさん
2010/12/16(木) 12:44:37ID:???ttp://book.cakephp.org/ja/view/933/The-App-Class
Cookbookくらいぜんぶ読んどいて損ないから。
というか、もしチーム開発してたら迷惑だから。
0411nobodyさん
2010/12/17(金) 06:04:07ID:???App::import('Component', 'Foo');
しても、initialize()やstartup()を上手い事呼んでくれる訳じゃないのね。
public function index(){
$Foo = App::import('Component', 'Foo');
$Foo->initialize($this);
$Foo->startup($this);
}
こう書けばいいのかとも思ったけど、
beforeRender()やshutdown()も呼ばれないし、これ使えないんじゃないかな?
なんか勘違いしてるんだろうか。
http://book.cakephp.org/ja/view/933/The-App-Class#コンポーネントの読み込み-939
うわ、ChromeがURLコピーした時URLエンコードしてくれなくなってる・・・
0412nobodyさん
2010/12/17(金) 06:24:46ID:???0413nobodyさん
2010/12/17(金) 09:34:54ID:???$foo = new Foo();
こうするべきじゃないの?
0414nobodyさん
2010/12/17(金) 15:52:56ID:???$foo = new Foo();
$foo->initialize($this);
$foo->startup($this);
こんな感じかね
自前でこういう関数作っとけばいいんじゃね
0415nobodyさん
2010/12/17(金) 15:57:52ID:???0417nobodyさん
2010/12/17(金) 17:05:13ID:???0418nobodyさん
2010/12/17(金) 17:10:48ID:???しかし、この場合、ローカルとサーバ上で画像のリンクをいちいち
書き換えないといけないのはしょうがないのでしょうか?
0419nobodyさん
2010/12/17(金) 17:22:51ID:???なんで?
Cakeも中で同じような処理やってんじゃないの?
設計し直しても作らなければならない機能は減らない
0420nobodyさん
2010/12/17(金) 17:31:16ID:???0421nobodyさん
2010/12/17(金) 17:58:28ID:???貼る時長いなと思って削っちゃった。
で、結局コールバックが呼ばれないなら、
コンポーネントよりもlibsに置いて素のクラスとして呼んだほうがいい気がする。
コールバックが呼ばれるからこそのコンポーネントだと思うし。
>>409 は50個あるコンポーネント、全部AppControllerで設定してるの?
そんだけコンポーネントあれば、部分的に使うやつもあるんじゃないの?
あと10日ほど前に同じ話題出てたよ。
>>331-333
0422nobodyさん
2010/12/19(日) 09:44:23ID:???dateフィールドの日付が一週間以上前のデータを全て消すということはできるでしょうか?
例えば、
bookテーブル (id, name, date)
ここのdateが 2010-11-30 とか 2010-12-10 とかバラバラになり、一週間以上前の
データを全て消したいです。
マニュアルを読んでいると、特定の日付を指定して消すことはできるみたいなのですが、
こういう複雑なことはMySQLで直接書くしかないでしょうか?
0423422
2010/12/19(日) 10:26:17ID:???でも動かなかった。。
$aWeekBefore = strtotime('-1 week');
$my_datetime = date("Y-m-d",$aWeekBefore);
$conditions = array('created' => '< ' . $my_datetime);
$this->deleteAll($conditions);
0424422
2010/12/19(日) 10:36:04ID:???$aWeekBefore = strtotime('-1 week');
$aWeekBefore = date("Y-m-d",$aWeekBefore);
$conditions = array("created < '$aWeekBefore'");
$this->deleteAll($conditions);
0425nobodyさん
2010/12/19(日) 10:51:22ID:???じゃなかったっけ
0427nobodyさん
2010/12/19(日) 16:22:35ID:???「見つからない」って、Cookbookぐらい一通り読んでおけよマジで
0428422
2010/12/19(日) 16:55:25ID:???そして、ありがとうございます。
0429nobodyさん
2010/12/19(日) 16:59:53ID:???0430nobodyさん
2010/12/19(日) 18:41:35ID:???セクションごとに「全てを1ページで読む」で
0431nobodyさん
2010/12/19(日) 21:05:11ID:???0432nobodyさん
2010/12/19(日) 21:22:23ID:???細かいことが全然わからない
0433nobodyさん
2010/12/19(日) 21:31:53ID:???http://api.cakephp.org/classes
これでそれぞれの挙動確認したらいいよ。
あと、もっと深くAPIしるには
coreの中に入ってるtestCase読むのがマジオススメ
こんな昨日あるんだって発見が多い
0434nobodyさん
2010/12/19(日) 23:36:16ID:???testCaseは読んでなかったな。
APIリファレンスは必読っていうか、
最近じゃ疑問が出たらCookbookは読まずにAPIリファレンスに直行だ。
0435nobodyさん
2010/12/19(日) 23:36:44ID:???Webアプリを作る奴らの絶対数って減ってるのかな
0436nobodyさん
2010/12/20(月) 01:44:45ID:???英語版読んだ方がいいよ。
まあ日本語リソースが充実してるのがcakeの利点の一つでもあるから残念な点だけどね。
0437nobodyさん
2010/12/20(月) 07:27:46ID:???Cakeにしろ手のフレ このあたりの意味がよく分からないけど、
webアプリを作る人数は増えてるんじゃないか?
なんとなくだけど。
何で減ってるっておもうん?
0438nobodyさん
2010/12/20(月) 07:54:47ID:???0439nobodyさん
2010/12/20(月) 09:57:33ID:???使いやすい?
0440nobodyさん
2010/12/20(月) 10:13:24ID:DEKQpeb3http://book.cakephp.org/ja/complete/3/The-Manual
0441nobodyさん
2010/12/20(月) 10:23:13ID:???オレオレ → Ethnaをちょっとだけ使ってがっかり → オレオレ → CakePHP
な俺としては、CakePHPは嫌いです。
2回目のオレオレのとき、php4切りしたから、php4を引きずってるしね。
Cookbookも情報不足だし間違いもあるし、引数が連想配列なのに、
使われるキーがCookbookにもAPIリファレンスにも書いて無いから、
結局ソースを見ることになる。
慣れて覚えるまでは結構イライラするよ。
でも、人口は多いから、ユーザーベースの情報量は多いし、
やっぱりオレオレフレームワークを作るコストや、そこで間違えるリスクを考えると、全然あり。
でもZendとか、他のフレームワーク使ってるなら、あえて乗り換える程良いとこ無い気がする。
0442nobodyさん
2010/12/20(月) 11:37:33ID:???Cakeの情報が少ない・古くなったと言うレスを見て
「Cakeやこの手のフレームワークを使う人数も少なくなったのかな?」
ってのが言いたかった。
0443nobodyさん
2010/12/20(月) 11:54:19ID:???0444nobodyさん
2010/12/20(月) 12:38:34ID:???どういう場合にtrueになって、どういう場合はfalseなんだろ?
APIリファレンス見ても、いまいち意図がわからない。
http://api13.cakephp.org/class/model#method-ModelafterFind
Whether this model is being queried directly (vs. being queried as an association)
0445nobodyさん
2010/12/20(月) 15:44:35ID:???新しい情報ほど少ないってことは実は使ってる人減ってたりして?
0446nobodyさん
2010/12/20(月) 16:18:34ID:???ただ、検索結果には古いエントリばっかりって感じだと思う。
俺も、単にこれどうやっていいかわかんねぇってのから、
一応Tipsみたいなのまで、ちょいちょい書いてるけど、
CakePHPで検索されてくるのはかなり少ないよ。
0447nobodyさん
2010/12/20(月) 16:41:04ID:???自分はこんな感じで、もっといい方法あるんじゃないかなあと妄想しています。
$time_start = microtime(true);
for( $i=0; $i<1000; $i++ ){
$str .="$i回";
}
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "$time秒掛かりました。";
0448nobodyさん
2010/12/20(月) 16:50:04ID:???0449nobodyさん
2010/12/20(月) 17:01:09ID:???俺はそんな要件が厳しくないので、めんどくさくてめったに使わないから、
あんま説明はしてやれんが。
xdebugがphp拡張モジュールだから結構準備が面倒だけど、興味があるなら下記でググってくれ。
xdebug プロファイリング
スレに合わせるためにじゃないが、たまたまさっき見かけたのはこれ。
http://blog.restartr.com/2010/10/10/the-xhprofpanel-debugkit-custom-panel-cakephp/
XHProfの出力をDebugKitで見せてくれる、DebugKitのカスタマイズみたいだ。
俺は使ったことは無いから、別にオススメしてるわけじゃないぞ。
XHProfもphp拡張モジュールだから、導入が面倒なのは同じかね。
0450nobodyさん
2010/12/20(月) 17:12:56ID:???どのクラスの呼び出しで時間食ってるのか、とかの視点でみたいんだったらプロファイラ
0451nobodyさん
2010/12/20(月) 17:14:59ID:???ごめんかぶった
0452nobodyさん
2010/12/20(月) 18:06:14ID:???どうもありがとうございます。
cakePHP独自のやり方があるのかなとも思ったのですが、
特にそんなことはないのですね。
0453nobodyさん
2010/12/21(火) 00:26:27ID:???いつまでORMとかキモいことやってんだよ。
0454nobodyさん
2010/12/21(火) 00:47:24ID:???0455nobodyさん
2010/12/21(火) 02:43:02ID:???0456nobodyさん
2010/12/21(火) 15:24:33ID:???やりたいことはビューのテンプレート(アクション)をプログラムで作成して
それにアクセスしたいんです。Pagesを使うとURLが変わるし・・。
0457nobodyさん
2010/12/21(火) 15:30:28ID:???0458nobodyさん
2010/12/21(火) 15:43:01ID:???Pages -> = PagesController
URLが変わるし・・・ -> 同一のURL内で複数の内容を表示させたい
テンプレート(アクション) -> View TemplateなのかController Actionなのかわからん
actionを自動で作る -> ????????
CakePHPにエスパーしてもらうって無理ですよね?と等質が言ってると思われます。
0459nobodyさん
2010/12/21(火) 15:48:10ID:???改造かプラグインか何かを見かけた事あるし、
出来なくはないんじゃない?
なにしたいのかよく分からんから、
勝手に受け取った印象でだけど。
0460nobodyさん
2010/12/21(火) 16:06:49ID:???でも何がしたいのかよく分からないし言ってることが分からないので、
俺も印象でだけど。
0461nobodyさん
2010/12/21(火) 16:49:48ID:???http://example.com/test/index
になりますよね?対象となるビューは/views/test/index.ctpにあるわけです。
では、/views/test/aaa.ctpというファイルを作ったとします。
当然、コントローラーに
function aaa(){}
と書かないと、http://example.com/test/aaa でアクセスできませんよね?
コントローラーにアクションを書かなくてもアクセスできる方法ってないですか?
と言うのが質問です。本気で何したいかわからないレベルの質問で済みません。
0462nobodyさん
2010/12/21(火) 16:52:01ID:???名前変えればいい。
それだけだろ
0463nobodyさん
2010/12/21(火) 16:59:47ID:???いくつかヒントな
> 対象となるビューは/views/test/index.ctpにあるわけです。
コントローラアクションとビューは、必ずしも同じ名前である必要はないよ。
どのビューを使うかはコントローラアクション内で指定できる。だから条件分岐でビューを切り替えることも出来る。
> 当然、コントローラーに
> function aaa(){}
> と書かないと、http://example.com/test/aaa でアクセスできませんよね?
ConfigのRoutes.php の設定方法(ルーティング)をよく調べれ。
URLの操作もそこでできる。
あとはどう実装したいのか次第。
0464nobodyさん
2010/12/21(火) 17:09:24ID:???0465nobodyさん
2010/12/22(水) 01:01:58ID:???CakePHP v 1.3.3
時間のかかる処理(a)のビューかルーティングが、
後から実行した処理(b)に奪われる現象に遭遇して困っております。
aのurlにアクセスすると、bのurlで表示されるべき内容が表示されてしまうと言った具合です。
urlはaのままです。
開発時には、そのような現象は発生せず、公開後、多くのユーザが訪れて発生しました。
複数の処理が実行される状況で発生するようです。
ですので、シングルトンが関わっているのかなと考えておりますが、
このような経験をした方は他にいらっしゃいますか?
または、ルーティングの設定ミスでもこのような現象は発生しますでしょうか?
解決方法をご存知でしたらご教示頂ければありがたいですmm
0466nobodyさん
2010/12/22(水) 03:14:14ID:???そもそもアプリ側にバグはない前提?
ログ見ても見当つかないんなら、応急処置でユーザ毎にある情報
(DBのレコード等)をロックするようにしてからじっくり考えるとか。
遅くなるのを要件が許せばね。
Cake側の機構でありえるのは知らず知らずのうちに
クエリかViewのキャッシュが働いているとかかな。
それもアプリ側の制御ミスだけど。
それとCakeを1.3.3で止めてるのは
最新だとパッチが当たらないくらいにコード改変しまくりなの?
0467nobodyさん
2010/12/22(水) 13:47:23ID:???詳しく書いてはあるといえばあるんだけど、
トラブルが複雑そうなだけに、やっぱりよく分からないな。
まぁurlとも書いてあるからアクションで良いんだと思うんだけど、
その場合、routesの処理のところかdispatcherのとこのソースを見るのが良いんじゃないか?
別アクションが動く可能性のある分岐なのかそうじゃないか。
あと、このトラブルの場合、aとbの関係性が気になる。
同じコントローラーの別メソッドなのか、同じメソッド名だけど別コントローラーなのか、
片方がPrefixルーティングなのか、routesでのaとbの書かれ方などなど。
まぁ複雑そうだから、最終的にはソース嫁になりそうだけど。
0468nobodyさん
2010/12/22(水) 14:31:24ID:???requestActionで、コントローラアクションから別のコントローラアクションを呼びまくったりしてると
もう最悪だな
それと「時間のかかる処理」がなんなのかだろうけど、
>>466 で言及してるキャッシュ周り
>>467 で言及してるルーティング周り
あたりから見ていく感じかな
0469465
2010/12/22(水) 17:59:15ID:???やはり最初はキャッシュを疑いましたが、
キャッシュ機能を無効にしても同様の現象が続いたので、
ルーティングに原因を求めた次第です。
サーバーの問題も疑いましたが、
aのページキャッシュにbの内容が保存されていたので、やはりアプリの問題だなと考えています。
>466
期待を胸に最新にアップデートしましたがダメでした、、。
少し説明が足りず申し訳なかったですが、
一般で言う、フロント,表側での現象なのでユーザ個別の情報をDBに取りに行くという処理はありません。
セッションやクッキーとは無縁のもっと単純なレベルの問題と考えています。
>467
処理と書かせて頂いたのは、リクエストを受けてからレンダリングまでの間で何が原因か不明なのでそう書きました。
ご指摘の通り、もう少し詳しく確認したところ、
同一コントローラで発生しているようで、コントローラ間を跨いで発生することは無いようです。
そして、それらはroutes.php内で独自のルーティング処理を記述しています。
ですので、やはりこの辺りが怪しいですね、、。
>468
"時間のかかる処理"ですが、単にリクエストからレンダリングが少々重たいページなんですよね、、。
ただやはり現象の発生が100%ではないのが、気持ち悪いです。
再現性、トラッキングが難しく、少々頭が痛いですが、やはりルーティング周りを確認していきたいと思います。
でも、ルーティング設定ミスなら100%再現されそうですよね、、。
0470nobodyさん
2010/12/22(水) 18:33:59ID:???> aのページキャッシュにbの内容が保存されていたので、やはりアプリの問題だなと考えています。
ここ、矛盾して無いか?
ただ、キャッシュという事でひとつ思い出した。
http://dxd8.com/archives/209/
これじゃないか?
CentOS5でパッケージリポジトリからのPCRE使ってると、
確かこれにぶち当たるはずだよ。
0471465
2010/12/22(水) 19:19:44ID:???あっすみません。キャッシュを無効にする前の事です、、。
URLありがとうございます。
ルーティングでも何らかの場面でスラッグ変換処理行っている可能性はありますね。
ちょっと確認してみます。
しかし、発生頻度が数%で、アクセス数に比例して頻度が上がるんですよね、、。
ルーティングが別々のプロセス間で共用されている事を考えています。
シングルトンと言えども、
リクエストa,bに対して、プロセスa,bが実行される中、aとbが互いに干渉し合う事ってあるんでしょうか?
0472nobodyさん
2010/12/22(水) 19:42:24ID:???0473465
2010/12/22(水) 21:27:27ID:???今なら新興宗教とか信じられそうです。
年越さないようにがんばります、、。
0474465
2010/12/22(水) 21:28:37ID:???ですよねの間違いでした。
0475nobodyさん
2010/12/22(水) 21:41:28ID:???そうでない場合、少しイヤなバグだな・・・
Cake使ってる高負荷サイトってどの辺だろう
0476nobodyさん
2010/12/22(水) 23:51:19ID:???0477nobodyさん
2010/12/23(木) 08:10:42ID:???もしくはステップ実行。
xdebug使ってみては?
0478nobodyさん
2010/12/23(木) 10:12:06ID:???気にしなくてよいので、Linkは積極的に使っています。
しかし、<base>でURLを切り替えれば、この問題もクリアされ、
簡潔なhtmlコードを書けばよいだけになる気がします。
リンクずれ以外にはhtmlヘルパーを使うメリットって何があるでしょうか?
教えていただければ幸いです。
0479nobodyさん
2010/12/23(木) 10:44:37ID:???ま、相対パスだから当たり前なんだけど。
0480nobodyさん
2010/12/23(木) 10:58:51ID:???Routingを使うならURLの記述はarray()でしたほうが良い
アクション名変えるだけですべてのページ書き直すとか無理
0481478
2010/12/23(木) 12:05:15ID:???hmhm。 そういう利点もあるのですね。
>>480
なるほど、自分はRouting使っているので、やはりLinkは引き続き使ったほうがよい
気がしてきました。
0482nobodyさん
2010/12/23(木) 12:21:57ID:???CakePHP重いからピュアなPHPで書いたほうがいいって言ってるのと同じなんだけど。
速度気にするならビューやDBやらをキャッシュすればいいだけだし。
本末転倒もいいところだわ
0483nobodyさん
2010/12/23(木) 12:47:08ID:???<a href="/test/img/sample_mail.jpg" id="sampleMail">
<img src="/test/img/new/sample_mail.png">
</a>
このスレを参考に、こんな感じで試したけど上手くいかない。。
echo $html->image(
"new/sample_mail.png",
array(
'url' => 'sample_mail.jpg',
'id' => 'sampleMail',
)
);
0484nobodyさん
2010/12/23(木) 13:04:15ID:???<a href="<?php echo $html->url('/img/sample_mail.jpg');?>" id="sampleMail">
<?php echo $html->image('sample_mail.jpg');?>
</a>
一応こういう方法があるんだけど。
echo $html->link(
$html->image("sample_mail.jpg"),
"/img/sample_mail.jpg",
array('escape'=>false)
);
ID変えて入れなきゃなんないなら>>483みたいなimage()でやるのは無理
0485nobodyさん
2010/12/23(木) 13:07:11ID:???echo $html->link(
$html->image("sample_mail.jpg"),
"/img/sample_mail.jpg",
array('escape'=>false, 'id'=>'sampleMail')
);
0486483
2010/12/23(木) 15:03:20ID:???凄い!
urlだけ使う方法があるとは、考えてみればカンタンだけど盲点でした。
>>485 のやり方で、上手くいったのですが、
id変えて入れなきゃとはどういう意味でしょうか?
なんにせよ、素晴らしいリプライをありがとうございます!
0487nobodyさん
2010/12/23(木) 15:12:54ID:???× ID変えて入れなきゃなんないなら
↓
○ ID入れてやんなきゃなんないなら
つまりhtml->image()ではAタグにidやらclassやらを指定できないってことね。
0489nobodyさん
2010/12/23(木) 22:53:41ID:???その方がソースも綺麗で分かりやすいし。
0490nobodyさん
2010/12/27(月) 11:08:36ID:???こんな書き方もあります
<?= $html->tag('a',
$html->image('sample_mail.jpg'),
array(
'id' => 'sampleMail',
'href' => $html->url('/img/sample_mail.jpg')
)
) ?>
タグ書きたくない病なので$html->tag結構使ってる
(1.1系だったら$html->contentTagだったかな)
0491nobodyさん
2010/12/27(月) 11:12:50ID:???0492nobodyさん
2010/12/27(月) 11:25:34ID:???Happy Holiday yule cake - CakePHP 2.0-dev released
0496nobodyさん
2010/12/27(月) 14:44:58ID:???たとえばこんな感じで繰り返し書くときに見通し考えてタグ書きたくないときとか
<?
/* サブメニュー定義(実際はcontrollerからsetしたり) */
$subMenuList = array(
'テスト1' => array('image' => 'test1.jpg', 'url' => '/hoge/test1', 'id' => 'test1'),
'テスト2' => array('image' => 'test2.jpg', 'url' => '/hoge/test2', 'id' => 'test2'),
);
/* 繰り返し処理でli要素作成 */
$subMenu = '';
foreach($subMenuList as $menuName => $menu) {
$subMenu .= $html->tag('li', $html->tag('a',
$html->image($menu['image'], array('alt' => $menuName)),
array(
'id' => $menu['id'],
'href' => $html->url($menu['url'])
)
));
}
?>
<? /* サブメニュー出力 */
echo $html->div('submenu', $html->tag('dl', $subMenu));
?>
ビューの中でこんな感じでサブメニューを出力させたりするのに使ったりしてるよ
自前のヘルパー作ってもいいんだけど
まあこんなやりようもあるということで
0497nobodyさん
2010/12/27(月) 15:16:21ID:???<li>って書いてたほうが他の人も分かりやすいわ
一人でオナニーやってろ
0498nobodyさん
2010/12/27(月) 15:57:22ID:???0499nobodyさん
2010/12/27(月) 16:57:32ID:???俺はそのコードを触りたくないな
0501nobodyさん
2010/12/27(月) 18:16:04ID:???0503nobodyさん
2010/12/27(月) 18:30:13ID:???相当見当違いの事やってたってのはよくあることだな。
その書き方は本末転倒だと言わざるをえない。
0504nobodyさん
2010/12/27(月) 18:50:48ID:???html全く書かないとかやりとげたら真のBakerだwww
0505nobodyさん
2010/12/27(月) 18:55:27ID:???<li>なんちゃらry</li>
<?php endforeach ?>
でよくね?
0506nobodyさん
2010/12/27(月) 20:25:01ID:???胸熱だな
0507nobodyさん
2010/12/27(月) 22:28:01ID:???0508nobodyさん
2010/12/27(月) 23:24:26ID:???サーバのモジュールを切るみたいに、必要じゃない機能を使わないようにして欲しい。
0509nobodyさん
2010/12/28(火) 00:31:21ID:???にあるように、
App::import('Sanitize');
class MyController extends AppController {
むにゃむにゃ
}
とやると、エラーになります。
class MyController extends AppController {
MyFunction()
{
App::import('Sanitize');
むにゃむにゃ
}
}
とやるとエラーは出ません。
App::import()
ってどこに書けばいいのでしょ?
0510nobodyさん
2010/12/28(火) 00:43:55ID:???0511nobodyさん
2010/12/28(火) 01:58:16ID:???>>492 に、Lazy Loading 云々って書いてあるから、期待はしてる。
PHP5.2.6より上のバージョンに最適化するなら速度や何かはどうにかなってくれるといいな(願望)
0513nobodyさん
2010/12/28(火) 09:20:27ID:???現状、おでこは狭いです。
10年後にはおでこと頭頂部が連結される見込みですが…
>>512
Fatal error: Class 'Sanitize' not found in viewのテンプレート on line 65
みたいな感じです。
レンダリングの段階で出てます。
0514nobodyさん
2010/12/28(火) 12:31:58ID:???言われたことしかしないのか?
学校か?
死ねよ努力しろよ
0516nobodyさん
2010/12/28(火) 15:14:10ID:???0517nobodyさん
2010/12/29(水) 18:02:39ID:l8k3UmR3cakephp 1.3 で、AuthComponents, AclComponents を使っているのですが、ログイン後に、
$this->set('user',$this->Auth->user());で、ユーザー情報は取れるのですが、
$this->set('group',$this->Auth->user('group'));
とやってもグループの情報が取れません。
Userのモデルには、
var $belongsTo = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'group_id',
)
);
と記述しているのですが。
どうやったら、Groupのモデルが引っ張ってこれるのでしょうか。
0518nobodyさん
2010/12/30(木) 12:51:41ID:???サブカテゴリの詳細を出したい時、URLってどうしてます?
カテゴリ:/category/details/1 (CategoryコントローラーのID1の詳細)
サブ:/category/sub/1 (カテゴリID1内にあるサブカテゴリ一覧)
サブ詳細:/category/sub_details/1/1 (上記のサブカテゴリID1の詳細)
categoryというのがコントローラーで2つめがアクションです。
「カテゴリ内のサブカテゴリの詳細」を出す時、上記のようなURLにしているのですが、
いまいちURLが分かりづらくも感じてるので、他の人はどうしてるのか質問しました。
0519nobodyさん
2010/12/30(木) 13:40:10ID:???wordpressみたいにプラグインいれてハイ終わりって感じにはならないですよね。
トップページはフラッシュはないけど、動的にフォームを
追加、削除するjavascriptとかも入ってるし。
0520nobodyさん
2010/12/30(木) 15:30:21ID:???Fatal error: Call to a member function deleteAll() on a non-object in /apppath/cake/libs/cake_session.php on line 790
てのが出まくってるんだけど、これは何でどうしろってことなの?
0521nobodyさん
2010/12/31(金) 01:11:49ID:???0522nobodyさん
2010/12/31(金) 13:20:30ID:???0524nobodyさん
2011/01/01(土) 14:23:41ID:???バグあるし重いし、別のフレームワーク使って作り直さなきゃどうにもならん
0525nobodyさん
2011/01/01(土) 16:13:29ID:???0526nobodyさん
2011/01/01(土) 16:59:33ID:???0527nobodyさん
2011/01/01(土) 18:01:25ID:???を改善してくれたら全く文句ない。
0528nobodyさん
2011/01/01(土) 18:20:39ID:???0529nobodyさん
2011/01/01(土) 20:07:37ID:???0530nobodyさん
2011/01/01(土) 23:35:34ID:???0531nobodyさん
2011/01/02(日) 00:46:25ID:???使ったことあるって人は多いだろうけど使い続けてる人が少ないような
0532nobodyさん
2011/01/02(日) 15:48:13ID:???0533nobodyさん
2011/01/02(日) 16:07:37ID:???>/apppath/cake/libs/cake_session.php on line 790
を見れば?
インスタンスされてない変数のメソッド呼び出し
0535nobodyさん
2011/01/02(日) 17:10:40ID:???Cakeのバグってことだよね?
0536nobodyさん
2011/01/04(火) 10:40:40ID:???よく分からんけど、なんかそこで使われてる必要なモデルが無いんじゃないか?
>>519
プラグインってより、layoutの切り替えじゃないか?
スマートフォンも普通にhtmlを解釈するわけだし、
viewやelementを上手く作ってればlayoutの切り替えで何とかなるかもね。
>>518
URLが気に入らなかったらControllerで変な小細工するよりも、
Routesで対処する方がいいんじゃないか?
>>517
AuthComponent::user()の引数はフィールドの指定じゃないか?
ソースコード見てみたけど、アソシエーションを解釈してくれそうには見えない。
User belongsTo Group なら、$this->Auth->user('group_id')は出来そうだけど。
0537nobodyさん
2011/01/04(火) 11:21:02ID:???無いんじゃないか?って俺に言われても。
Cakeのセッション機能使っただけなんだが。Cakeが直せよ。
セッションまわりは他にも不具合があってかなり怪しい。APC入れたら動かなかったりとか。
0538nobodyさん
2011/01/04(火) 11:27:39ID:???セッション管理とキャッシュが食い合わせ悪いのはCakeに限らないだろ
0539nobodyさん
2011/01/04(火) 11:39:09ID:???それこそ俺にそう言われても。
1.3.2なんて古いの使って無いから790行目がどういうコードかわからんし、
どこでどんな原因があるのか分からんよ。
ただ、Coreのコード中でも、そこでModelのメソッドを呼んでるぽいから、
そのModel作り忘れとかもありえるんじゃないかと思っただけだ。
0540nobodyさん
2011/01/04(火) 14:29:06ID:???cookbookを見ながらログインを作ったのですが、
なぜか、
ログイン時間が切れる→ログインフォームに戻る→再ログイン→エラー
になります。
エラー後に同じIDとパスワードでログインすると、ログインできるので
セッションエラーか何かだと思いますが、原因が掴めません。
0541nobodyさん
2011/01/04(火) 20:12:48ID:???あれではだめですかね
0542nobodyさん
2011/01/05(水) 03:42:32ID:???0544nobodyさん
2011/01/06(木) 04:44:02ID:???一旦フッターのリンクから英語に移動して、見たいページ開いてから、
URLに自分で/jaを継ぎ足す事で見れる・・・
0545nobodyさん
2011/01/06(木) 05:04:44ID:???ところで、cookbookはcakephp製みたいですけど、ソース公開されてるんですか?見てみたい
0546nobodyさん
2011/01/06(木) 06:47:11ID:???たぶんこれだと思うけど。
0547nobodyさん
2011/01/06(木) 10:27:47ID:???おお、ありがとうございます。
ローカルで動かしてみようといろいろやってますが、けっこう大変そう
入れろといわれたヘルパーは一通り用意しましたが、Zendのモジュールがどうとか
のエラーで心折れました
0549nobodyさん
2011/01/06(木) 14:42:37ID:???0550nobodyさん
2011/01/06(木) 15:06:26ID:???0551nobodyさん
2011/01/06(木) 17:17:19ID:???そういう細かいはまり所がちらばってそうな気がしてなぁ。
海外じゃMySQLが主流だから、目玉の数も十分じゃないだろうし、
野良プラグイン使う事を考えるとなぁ。
Postgresのほうが好きなんだけど。
0552nobodyさん
2011/01/07(金) 22:34:13ID:???MySQLのライセンスの問題?
0553nobodyさん
2011/01/08(土) 01:34:02ID:???PHPが流行し始めてMySQLと組み合わせて解説本書かれるようになって10年くらいか?
今じゃすっかりPHP+MySQLが主流みたいになってるな
0554nobodyさん
2011/01/09(日) 11:14:02ID:???たとえば「都道府県」→「市区町村」をフォーム上で両方ドロップダウンにして
都道府県で選択した値で市区町村を動的に変えようと思ったとき、
CakePHPならどういう方法をとるのが適切でしょうか?
ざっくりした処理の流れ程度でいいので、みなさんのやりかたをご教授
いただければありがたいです。
0555nobodyさん
2011/01/09(日) 12:23:33ID:???単にXHRで呼ばれるアクションを別に1個用意しましょう、ってんじゃ足りない?
それともJavaScriptが分かってない?
0556nobodyさん
2011/01/09(日) 12:56:06ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=443&forum=12
0557nobodyさん
2011/01/09(日) 20:56:38ID:???バリデーションの定数(やエラーメッセージ)をどこかにまとめたい場合はどこにまとめるのが作法ですか?
http://book.cakephp.org/ja/view/150/
この「独自のバリデーションルール」だとマジックナンバーになってるけど、
実際の開発ではどういう方法があるかを知りたくて。
app/config/bootstrap.phpにまとめるものですか?
0558nobodyさん
2011/01/10(月) 00:55:02ID:???自分はvalidation.phpとか作ってConfigure::load()してる。
bootstrapにゴリゴリ設定詰めてもそりゃ動くけどね。
0559557
2011/01/10(月) 02:26:32ID:???app/config/validation.phpにずらずら定数を書いておいて
app/models/<使いたいmodel>.phpの先頭でConfigure::load('validation');
という意味であってます?
bootstrapだとvalidation.phpが必要ないmodelでも読み込んじゃうから良くないという感じでしょうか?
0560nobodyさん
2011/01/10(月) 04:57:04ID:???0561nobodyさん
2011/01/10(月) 12:16:49ID:???bootstrapで常時読み込むよ。モデルごとに分けたりなんかしない。
配列の階層構造とかデフォルトのメッセージとかは面倒なのでビヘイビアで処理させてる。
0562nobodyさん
2011/01/10(月) 12:31:41ID:???全体の動作が重くならない?
0564nobodyさん
2011/01/10(月) 14:10:59ID:???0565563
2011/01/10(月) 15:22:42ID:???がなー
これが重いと言われるとどうしようもない
0566nobodyさん
2011/01/10(月) 17:30:16ID:???無駄に発行するSQLの処理コストで吹き飛ぶ
誤差程度だと思うよ。0.4msなんて
bootstrapにある設定のコスト気にするより、
recursiveや取得するフィールドをきっちり調整した方がいいと思う。
0567nobodyさん
2011/01/10(月) 17:45:15ID:???Session.startは true
Security.levelは medium
のときに、
ログインページがSSLなんだけど、
非SSLページを遷移してる時は当然セッションIDのCookieは「あらゆる接続・・」で維持され読み取れるんだけど、
SSLのログインページを開いた時点で「セキュリティーで保護された接続・・」に限定されてしまい、
非SSLに移るとセッションは消えるという現象が起きまして。。
Security.levelが medium以下であればSSL・非SSLでのセッションは維持されるとあるのにおかしいなとソースを読みまくり、
一日かけてやっとたどり着いた原因が
SSLページでrequestActionしていると、セキュアのみのセッション(セッションID保存Cookie)に変更されてしまうというものでして、
で、回避するには、
Coreをいじるか、requestActionを使わないしかないように思うんですが、
同じような問題にぶち当たって解決された人いませんか?
0568557
2011/01/10(月) 20:13:38ID:???>>560
モデルってわけでもないからapp_model.phpじゃないのかな?という疑問もあり質問して聞いてみたくて。
作法みたいなのがあればそれに倣おうと。
>>561
常時読み込んでも対して違わないんですね。参考になります。
app_model.phpかbootstrap.phpで常時読み込んでみてパフォーマンスが気になるレベルになったら次を考えてみます。
みなさんありがとうございます。
0569nobodyさん
2011/01/10(月) 20:16:23ID:???実際これってかなり大事だけど忘れがちだよね。
めんどくさいってのもあるもんな。
0570nobodyさん
2011/01/10(月) 20:38:05ID:???0571nobodyさん
2011/01/10(月) 20:39:10ID:???0572nobodyさん
2011/01/10(月) 21:33:48ID:???どこかでparams['requested']を調べてSessionを開始しないようにすればいいと思いつつも
beforeFilterでは時既に遅し、__constructではparams[request]は取得できないとなやんだんですが、
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1847&forum=8
こんなページを見つけて、ConstructClassesってメソッドを初めて知った。
ここに↓でどうやら意図したとおりに動いてる模様。
public function constructClasses(){
if(!empty($this->params['requested'])){
//Sessionを使わない
Configure::write('Session.start', false);
}
parent::constructClasses();
}
汚しましたーさーせん。
0573nobodyさん
2011/01/12(水) 12:17:20ID:???会員数が数万単位でも違和感なく使える。
だから、Cakeが重いと感じるのは
ソースの書き方やキャッシュの使い方が悪いのかな・・。
0574nobodyさん
2011/01/12(水) 16:36:48ID:???cookbookには$this->ModelNameと書いてありますが実際にやってみるとそれでは取れず。
http://book.cakephp.org/ja/view/53
で、thisを覗いた所、
$this->modelNames[0]
$this->modelClass
の2つがあったのでどっちがいいのかなと思って気になりました。
0575nobodyさん
2011/01/12(水) 16:38:52ID:???0576nobodyさん
2011/01/12(水) 18:08:05ID:???そんな簡単にいくことってほとんどなくね?
0577nobodyさん
2011/01/12(水) 18:29:16ID:???複数モデル使うときは明示すればいいだけだし
0578nobodyさん
2011/01/12(水) 22:06:01ID:???配列で複数指定できるんだし、全く問題ないぞ。
0580nobodyさん
2011/01/13(木) 00:09:54ID:???DB:Firebird 2.5
にて、下記を参考にBLOB型のカラムに画像を登録しようとしています。
http://c-brains.jp/blog/wsg/10/06/05-074544.php
viewとcontrollerのソースはこのサイトのままにmodelを自分で追加。
テーブルはcontentsカラムの型をBLOBに変更しています。
(Firebirdにmediumblob型が無いため)
この状態でファイルのアップロードをするとimages_controller.phpの33行目
$this->Image->save($image);
の実行時に下記エラーがでてしまいます。
Dynamic SQL Error SQL error code = -104 Unexpected end of command
SQL:INSERT INTO "image" ("filename","contents") VALUES ("filename.jpg","?????????")
※?????????は画像ファイルのバイナリの文字列(と思われる)が入っています。
contentsの登録部分(30行目)を削除すると成功するため、BLOB型の部分が
うまくいっていないのは確かだと思うのですが、どなたか解決策をご存知の方はいませんでしょうか。
0581nobodyさん
2011/01/13(木) 01:29:47ID:???回答者がそれを設置してみないと答えられないんじゃないか?
そしてあんた、自分の中で答え出てるじゃん。BLOB型の部分がおかしいって。
それなら、元のソースに問題があるんだろ。作者に聞けよ。
0582nobodyさん
2011/01/13(木) 12:11:03ID:???よくわからんがMySQL以外のRDBMSをCakeのDataSourceとして使うには覚悟が必要だな
あとFirebirdは知らんけど画像はDBに格納するよりファイルとして保存するのが一番だな
0583nobodyさん
2011/01/14(金) 14:38:02ID:???触らせるのって無茶だと思うけど、どう思う?
0585nobodyさん
2011/01/14(金) 14:45:30ID:???いやそうじゃなくて、テンプレ内に専用コードが入って複雑にならない?
MVCの考え方から、Viewで処理する物はテンプレート内に書くけど
CakeのコードやらPHPのコードやら入るこむから
テンプレが複雑になって、Cakeに詳しくない人間は編集できないと思う。
0586nobodyさん
2011/01/14(金) 14:45:56ID:???普通何らかのテンプレート使うだろ
0587nobodyさん
2011/01/14(金) 14:47:37ID:???あんたの言う「普通」ってはじめて聞いたな。
みんなctpに処理を書いていると思ってたよ。
0588nobodyさん
2011/01/14(金) 14:51:43ID:???Smarty使ってたら逆に複雑になると思うんだけど。
0589nobodyさん
2011/01/14(金) 14:53:46ID:???0590nobodyさん
2011/01/14(金) 15:00:10ID:???これって設計がおかしいのだろうか
しかしテーブル最適化するとそのくらいに増えてしまうのだよな…とにかくデータが多すぎて
1つのテーブルにまとめるとカラム数が凄いことになるし
0591nobodyさん
2011/01/14(金) 15:00:20ID:???ビューを触るケースというのが想像できない
0592nobodyさん
2011/01/14(金) 15:06:09ID:???知り合いがデザイナーにctpいじらせて不具合起こされまくってた
0594nobodyさん
2011/01/14(金) 15:08:37ID:???html編集まで必要だと厳しくないか?
0595nobodyさん
2011/01/14(金) 15:29:30ID:???デザイナーはいっぱいいるとは思うけど、
でもcakeのviewファイル自体はプログラマーがいじるもんだと思ってる。
0596588
2011/01/14(金) 15:30:13ID:???だからctpで十分じゃないかなって意味だった。
ウチで開発した時はコーダの作ったHTMLをテンプレートに当てはめる係がいたな。
その人はctpもHTMLやCSSやJavaScriptのコーディングもどっちも面倒見れる人
0597nobodyさん
2011/01/14(金) 16:33:54ID:???ああ、あんたは>>586じゃないんだな。それなら俺も同じ意見だな。
>>594
html編集が必要な場面って結構あるからな。
ページ内に説明文追加する時とか。追加じゃなくても変更とか。
その時、どうやったってctpを変更しなくちゃいけないけど、
CakeやPHPの知識がない人間が触るのは厳しい。
「あれ?そうすると、デザインとプログラムの分業って出来ないんじゃねぇ?」
って思ったんだよ。
0598nobodyさん
2011/01/14(金) 16:52:49ID:???0599nobodyさん
2011/01/14(金) 17:14:20ID:???いざデザインを適用してみて動かしてみると色々変えたくなる
1枚ペラで見てたのとページ遷移した流れで見たデザインのイメージって結構違うものだなって感じる
0600nobodyさん
2011/01/14(金) 17:26:57ID:???DBからデータ取得→foreachで該当するデータを処理→ビューに出力
ってやってた。そうすれば極力、ビューにPHPのコードを書かなくて済むし。
でも二度手間だし、コントローラーでビューの内容を変更するのも違和感があって止めた。
0601nobodyさん
2011/01/14(金) 17:49:38ID:???フレームワーク使ってるとそれと同じような事やってるじゃん
モデル、コントローラでぐるぐるデータ回して、
最後にビューでも回してるよ
0602nobodyさん
2011/01/14(金) 18:02:52ID:???説明不足ですまん。
$list = $this->Member->find('all');
$output_list = array();
foreach ($list as $i => $col) {
$output_list[$i] = $col;
$output_list[$i]['Member']['body'] = nl2br($col['Member']['body']);
if ($col['Member']['image'] != "") {
$output_list[$i]['Member']['image_url'] = Router::url('/img/') . $col['Member']['image'];
}
}
みたいなことをコントローラーでやって、
ビューでは最小限のコードでforeachして出力するってこと。
0603nobodyさん
2011/01/14(金) 19:00:07ID:???README見てもさっぱり使い方がわからない。
いい参考ページあったらおしえてください。。。
0604nobodyさん
2011/01/14(金) 19:08:10ID:???それちょっといじりたいときにコントローラ弄らなくちゃダメじゃない?って思ったら>>600に書いてあったw
フレームワーク使ってる場合はどっちみちビューでforeachするから$listの時点で十分扱いやすい形になってるなと思う
0605nobodyさん
2011/01/14(金) 20:10:12ID:???そもそもの話のネタが「デザイナーにテンプレいじらせるのって無理じゃない?」
って事だからね。ビューに手を加えるよりも、コントローラーに手を加える方が
プログラマーとしてはやりやすいし、デザイン変更も対応しやすいから。
ま、MVCに反するから今は>>602みたいに書いてないけどね。
0606nobodyさん
2011/01/17(月) 11:39:15ID:???空白入れて送信される場合があるんだけど、save前に
$this->data['Inquiry']['email'] = trim($this->data['Inquiry']['email']);
ってする以外にお手軽な方法無いですかね?
0607nobodyさん
2011/01/17(月) 11:50:52ID:???function() { $('#email').val($.trim($('#email').val()); }
);
検証してないから動かなかったらごめんね
0608nobodyさん
2011/01/17(月) 13:57:08ID:???Cakeのモデル処理で出来るかな?と思ったのですが、
>>606みたいなやり方以外無さそうですね。
0609nobodyさん
2011/01/17(月) 15:06:42ID:???なんでバリデーションしないの?
アホなの?死ねよ屑が
0610nobodyさん
2011/01/17(月) 15:24:13ID:???0612nobodyさん
2011/01/18(火) 01:57:53ID:???beforeValidate?
普通にバリデーションルール書けばいいだけだろうが
アホしかいないのかよここは。
0614nobodyさん
2011/01/18(火) 07:47:03ID:???0615nobodyさん
2011/01/18(火) 08:17:12ID:???validationで弾いてどうすんだよ
0616nobodyさん
2011/01/18(火) 10:30:08ID:???trim()使ってるところを見ると、半角スペースだけのデータになるのが嫌なのか、
それともメールアドレスのカラムに半角スペースだけで問い合わせされるのがダメなのか、
どっちなんだ。
まぁ、コントローラーのbeforeFilter()でtrim()して、
モデルのバリデートでrule => email, allowEmpty => false を使うのが良いと思うが。
beforeFilter() ではちゃんとアクション名の確認や、$this->data['Inquiry']['email']の有無は調べてからな。
0617nobodyさん
2011/01/18(火) 13:36:46ID:???rule=>emailの時点で半角スペースだけの入力は弾かれるだろ
アホはシネ
答えるな
0618nobodyさん
2011/01/18(火) 14:02:09ID:???素人がスペース認識できずに「なんでエラーになるの!」って
クレーム言ってくる場合があるんだよ。もう少し頭使えよ。
0619nobodyさん
2011/01/18(火) 14:13:29ID:???emailアドレスに半角スペース入れる
rule=>emailのエラー文として「正しいEmailアドレスを入力してください」
なにが問題あるんだ?素人もクソも関係あるかよ
0620nobodyさん
2011/01/18(火) 14:16:26ID:???Email欄に空白だけで登録してくるんだと思ってたわ
だったらbeforeValidateでtrimでいいや
そんなケース聞いたことないわ
それかもう一個ルール追加してemailルール検査前に空白が入ってないか調べてそれ用のエラー文はく
0621nobodyさん
2011/01/18(火) 15:06:02ID:???0622nobodyさん
2011/01/18(火) 15:07:53ID:???まぁ全角スペースもあるからほんとはもう一工夫必要だけど。
0623nobodyさん
2011/01/18(火) 15:57:16ID:???controllerで$this->dataをいじるとユーザーの入力値をいじることになるから
なるべくmodelで対応したほうがトラブりにくい
このケースはどっちでも良いけど
でもなるべくmodelでやるべきことはmodelほうがベターかと
0624nobodyさん
2011/01/18(火) 18:41:15ID:???俺はコントローラーの仕事だと思うけどなぁ。
もしかしたらコントローラーじゃないかもしれないけど、
モデルだと遅いと思うんだが。
コントローラー内でNULLバイト攻撃されないように、
なるべく早い段階で、入力値からNULLなどを削るようにしてるんだ。
trimは実はbeforeValidateと迷ったけど、
まぁ似たような処理なのでついでにやってる感じ。
コントローラーで入力値をいじるとトラブルになるかな?
0625nobodyさん
2011/01/18(火) 20:23:47ID:???ページネーション出来る表示の仕方ってあると思います。
自分はコントローラーのアクション毎に分けて
function top_news() // トップページに表示させるお知らせ。find()で取得
function news_list() // 「お知らせ一覧」ページで表示。paginate()で取得
としているのですが、みなさんはどうしてますか?
findでデータを取得するだけだから、1つの関数内にまとめて、
件数で分岐したりしているのでしょうか?
0626nobodyさん
2011/01/18(火) 20:37:24ID:???一覧は普通にnews/indexで。
0627nobodyさん
2011/01/18(火) 20:58:26ID:???自分もトップページでrequestActionして取得しているのですが、
その時、取得するアクションって>>625に書いたように分けていますよね?
つまり、
■トップページの「お知らせ」箇所のビュー
$list = $this->requestAction('/top/news');
■トップページ一覧
コントローラーのfunction indexでpaginateしてデータを取得して、ビューに出力。
0628nobodyさん
2011/01/18(火) 20:59:47ID:???■トップページの「お知らせ」箇所のビュー
$list = $this->requestAction('/top/news');
■お知らせ一覧
Newsコントローラーのfunction indexでpaginateでデータを取得して、ビューに出力。
0629nobodyさん
2011/01/18(火) 21:21:44ID:???paginateで取得させれば
requestActionのURLにlimit:10とかつければその数取得できるじゃん
0630nobodyさん
2011/01/18(火) 21:24:20ID:???function indexはほぼbakeしたままを
requestAction用には別のメソッドつくってそこでpaginateしてる
てか、本当はindex()アクションで
if ($this->params['requested']) {
return $this->paginate();
}
ってやるのがベストかな
0631nobodyさん
2011/01/18(火) 21:26:37ID:???トップページの一覧では
$list = $this->requestAction('/news/index/limit:3');
みたいにするんですね。fieldの指定を変えたい場合は、ifで分岐させると。
自分はトップページならTopコントローラーですべてをまとめていたのですが、
やり方が間違っていたようです。参考になりました。ありがとうございます。
0632nobodyさん
2011/01/18(火) 21:29:49ID:???あと>>630はたぶんエラーでるな
if ($this->params['requested']) {
↓
if (!empty($this->params['requested'])) {
こうじゃないとrequestActionじゃないときにエラー吐くと思うわ
0633nobodyさん
2011/01/20(木) 02:41:53ID:???findの場合、こんな感じで行けるのですが・・・
$User = ClassRegistry::init('User');
$data = $User->find('all');
0634nobodyさん
2011/01/20(木) 03:38:21ID:???0635nobodyさん
2011/01/20(木) 04:24:58ID:???今みんな1.3使ってるのではないの?
0636nobodyさん
2011/01/20(木) 13:21:05ID:???0637nobodyさん
2011/01/20(木) 14:06:58ID:???の場合のキャッシュってどういう考え方したらいいの?
動的サイトだから定期的に表示される内容が変わるよね?
だからビューキャッシュしても意味ない気がするんだが。
「○○一覧」とか出来るだけ動的ではない箇所をelementキャッシュするとか?
自分の認識が間違っていると思うので、どなたか駄目出ししてください。
0638nobodyさん
2011/01/20(木) 16:24:13ID:???0639nobodyさん
2011/01/20(木) 17:35:30ID:???0640nobodyさん
2011/01/20(木) 17:41:50ID:???0641nobodyさん
2011/01/20(木) 18:17:57ID:???ポータルサイトの場合、ログインして表示・非表示と切り替えることは多いし。
と言うわけでモデルキャッシュのやり方を調べます。
0642nobodyさん
2011/01/20(木) 20:16:03ID:???てかモデルのキャッシュならmysqlのqueryCache有効にしたらほとんど恩恵なくない?
0643nobodyさん
2011/01/21(金) 10:51:57ID:???0644nobodyさん
2011/01/21(金) 11:08:22ID:0or6NBGg$this->paginate['User']
0645nobodyさん
2011/01/21(金) 11:30:38ID:???普通
0646nobodyさん
2011/01/21(金) 13:49:06ID:???モデルのキャッシュとかqueryCacheじゃ不十分。
エレメントをキャッシュせんことには始まらん
0648nobodyさん
2011/01/21(金) 16:05:11ID:???管理画面で更新したら、公開用のキャッシュを削除したり出来る?
やっぱ、普通にulink(キャッシュまでのパス) 書くしかないの?
0650nobodyさん
2011/01/21(金) 22:37:20ID:???cacheClear関数だっけ?で消せるんじゃないの?
つーかやってみろよ
0651nobodyさん
2011/01/21(金) 23:55:41ID:???clearCacheですね。
あと、app分けるとtmpの場所も別ですね。
キャッシュされるファイルも別だから、別の方が良いし。
自分がググった範囲では結局、ulinkでファイル指定して削除する方法を
取っている人が多い印象を受けました。clearCacheは万能でないみたいだし。
0652nobodyさん
2011/01/22(土) 00:02:13ID:???0653nobodyさん
2011/01/22(土) 00:03:28ID:???0654nobodyさん
2011/01/22(土) 00:11:09ID:???0655nobodyさん
2011/01/22(土) 00:25:46ID:???キャッシュディレクトリもわかれてるww
くそ
あほ
0656nobodyさん
2011/01/22(土) 01:00:32ID:???どうでもいいけど
0657nobodyさん
2011/01/22(土) 01:16:48ID:???え?ネタだよね?
0658nobodyさん
2011/01/22(土) 01:21:34ID:???普通にやったら定数共通じゃないってことだろうがw
あほかお前
しねよくず
0659nobodyさん
2011/01/22(土) 01:33:26ID:???0660nobodyさん
2011/01/22(土) 01:43:27ID:???0661nobodyさん
2011/01/22(土) 01:45:37ID:???こいつ、このスレずっと常駐してるよね。前から。
リアルで惨めだからここで吠えるしかないんだろうね。可哀想。
0662nobodyさん
2011/01/22(土) 01:48:31ID:???その整理に問題があるってこと?
0663nobodyさん
2011/01/22(土) 14:04:08ID:???$Form->scure() とか、使ってる?
なんというか、「帯に短したすきに長し」なんだよな
まあ、何の目的を達成するかによるんだろうけど、
・CSRF攻撃対策
・(Cake特有だが)$data['Post']['hoge']フィールドのデータぶち込み攻撃に対する対策
(いちいちwhitelist記述すれば防げるが)
・簡単にワンタイムトークンを発行したい
・機械的なスパムに対するシンプルな防御(完全ではないが)
みたいな話が入り交じってるからややこしいが
みんなそこらへんどうしてる?自前実装?
0664nobodyさん
2011/01/22(土) 14:28:24ID:???業務用には使えないと思うが
よって普通自前でしょ、少なくとも改造
0665nobodyさん
2011/01/22(土) 16:21:41ID:???レスどうもです。
まあ、その辺はみんな自前か。
しかし、
> 基本的にCakeで用意されている機能なんて
> 業務用には使えない
コレ言っちゃうとCake使う意味がかなり希薄になるなw
0666nobodyさん
2011/01/22(土) 16:46:18ID:???業務用に耐えうるものかとかいう議論はそもそもPHPがということになってくるから
ナンセンスじゃないかなー
0667nobodyさん
2011/01/23(日) 00:35:40ID:???0668nobodyさん
2011/01/23(日) 17:28:31ID:???Cakeの機能で便利なのはAuthとFormヘルパーぐらい。
メール送信とかファイルアップロードとか自作してる。
0669nobodyさん
2011/01/23(日) 19:08:19ID:???全てのバリデーションに書くものなの?
http://book.cakephp.org/ja/view/129/required
を見ると、フィールドが1つの例だからrequiredを一つ書けば良いけど、
複数のルールを書く場合の例の
http://book.cakephp.org/ja/view/133/
を見るとそれぞれに
// like on, required, 等、他のキーをここに書く...
と書いてあってrequiredの意味がよくわからなくなった。
0670669
2011/01/23(日) 19:24:17ID:???全部のルールにrequiredを書かなければいけないケースがわからない
0671nobodyさん
2011/01/23(日) 20:57:47ID:???0672nobodyさん
2011/01/23(日) 22:32:32ID:???1.3.2
http://book.cakephp.org/view/999/Using-other-Components-in-your-Component
コンポーネントAから別のコンポーネントBを使っていたのだが動作がおかしいので調べてみたら
Bのstartupが実行されてなかった
Aのstartup内で$this->B->startup($controller);としたら期待通り動いた
こういうもんなの?
なんでこうなの?
なんでマニュアルにこういうこと書いてないの?
なんで誰も文句言わないの?
0673nobodyさん
2011/01/23(日) 23:48:08ID:???どうなるんだろうと思ってしまった。
0674nobodyさん
2011/01/24(月) 01:56:53ID:???ログイン後に、$this->Auth->user()でログイン情報を取得しようとしたのですが、
Profileの内容が返り値に含まれていません。
アソシエーションをしている情報は取得できないのでしょうか?
0675nobodyさん
2011/01/24(月) 15:47:44ID:???0676nobodyさん
2011/01/24(月) 22:02:29ID:???日本語の方は更新されてないけど
0678nobodyさん
2011/01/25(火) 14:23:31ID:???0679nobodyさん
2011/01/25(火) 15:27:57ID:???<meta http-equiv="REFRESH" content="5;url=http://google.co.jp/">
を置き換えたいのですが、どういう書き方をすればいいのでしょうか?
0680nobodyさん
2011/01/25(火) 16:49:55ID:???質問の答えになっていないけど、直接タグ打ちじゃいけないの?
URLの部分だけを動的にしたい場合は $html->url() を使えばいいわけだし
0681nobodyさん
2011/01/25(火) 16:59:59ID:???とかでいいんじゃないの?
0682nobodyさん
2011/01/25(火) 19:32:08ID:???ビューからレイアウトに挿入したいと思いまして、
$html->meta使うのかと思っていました。
調べたところ、$html->addScriptを使うようですね。こちらを使用します。
0683nobodyさん
2011/01/26(水) 15:13:15ID:???if (empty($data)) {
Configure::write('debug', 0);
$this->autoLayout = false;
$this->layout = "";
$this->cakeError('error404');
}
と言うコードを書いて、Userモデルに$idの値が無いと、
404のエラーページを出したいと思っています。
上記のコードをapp_controllerのbeforeFilterに書いてるのですが、
404にはなるものの、レイアウトが維持されています。
単なるブラウザが吐き出す404の表示にするにはどうすればいいのでしょうか?
0684nobodyさん
2011/01/26(水) 16:19:14ID:???0685nobodyさん
2011/01/26(水) 18:10:59ID:???$this->redirect($this->cakeError('error404'));
$this->_stop();
こうでしょうか?特に>>683の状態と変化ありません。
0686nobodyさん
2011/01/26(水) 18:42:15ID:???0687nobodyさん
2011/01/26(水) 18:46:08ID:???単なるブラウザがはき出す404というのが、よくわからん。
404 Not Found でも、サーバーから 404 Not Found のページをはき出すと思うが
0688nobodyさん
2011/01/26(水) 23:08:01ID:???しばらくは、これで食っていけますか?
0689nobodyさん
2011/01/27(木) 01:08:25ID:???0690nobodyさん
2011/01/27(木) 13:53:36ID:???0691nobodyさん
2011/01/27(木) 14:03:44ID:???0692nobodyさん
2011/01/27(木) 18:20:00ID:???以外と使いこなしている人少ないから、
勉強して覚えれば講師業が出来るかも??
0693nobodyさん
2011/01/27(木) 21:42:07ID:???CakePHPで儲かるシステム作れますか?
0694nobodyさん
2011/01/27(木) 21:48:50ID:???作れます
0695nobodyさん
2011/01/27(木) 22:29:11ID:???有名な大手サービスってどこ?
0696nobodyさん
2011/01/27(木) 23:01:46ID:???これはCakePHPの使えなさを表していると見てOK?
0697nobodyさん
2011/01/27(木) 23:07:24ID:???0699nobodyさん
2011/01/28(金) 00:44:07ID:???0700nobodyさん
2011/01/28(金) 00:56:22ID:???運営の意味も分からないの?氏ねばいいのに
0701nobodyさん
2011/01/28(金) 01:49:29ID:???他には何かあるのかな?
そもそもCakePHPって世界で盛り上げて行こう!って動きなのかな?
セキュリティー関連とかの対策プラグインとかも次々更新されてたり、新しいプラグインも作られてるのかな?
世界で有名なサイトとか、これで構築されてたら感動する。
0702nobodyさん
2011/01/28(金) 01:52:03ID:???0703nobodyさん
2011/01/28(金) 02:01:22ID:???0704nobodyさん
2011/01/28(金) 02:50:50ID:???動的な部分は素のPHPや別のシステムを使ってるっぽかった。
キャッシュもmemcacheを使ったり。
ま、それが普通だよな。Cakeだけでこなすにも重いもんな。
0705nobodyさん
2011/01/28(金) 03:17:15ID:???0706nobodyさん
2011/01/28(金) 12:33:42ID:???モデル内で
function getTime(){
return $this->data['Shop']['open_time']['hour'].':'.$this->data['Shop']['open_time']['min'].':00';
}
としたら、配列hour内に格納されている値は10なのに
1に変更されてしまうのは仕様?
0709nobodyさん
2011/01/28(金) 15:22:25ID:???表示されてなきゃわからないよね?
0710nobodyさん
2011/01/28(金) 16:21:34ID:???(サイト内での表示や言及を含めて)
まあ食わされるCookieのキーがデフォルト"CakePHP"だったりとか
Routingがあきらかに(Railsではなく)Cake風それだったりとか
DOMの構造があからさまにBakeした「それ」だったりとか
そういうことはあるかもしれんが、ちゃんと作ってあるものからは分からない
0711nobodyさん
2011/01/28(金) 17:09:30ID:???0712nobodyさん
2011/01/28(金) 17:39:44ID:???とかだったら一発で分かるんだけどな
0713nobodyさん
2011/01/28(金) 17:41:06ID:???ソース見ると大体分かるパターンが多い気がする。
0714nobodyさん
2011/01/28(金) 18:34:31ID:???http://www.world-auctions.org/
0715nobodyさん
2011/01/28(金) 18:41:16ID:???どこだったか忘れたけど。
0716nobodyさん
2011/01/28(金) 19:00:34ID:???去年のadvent calenderかな。そういうのあったね。
つか、〜というフレームワークだから大規模サイトが作れないっていうのはほとんどありえないと思うけどな
大抵のフレームワークは拡張できるようになってるからそこに自分らの手を加えるでしょ。
0717nobodyさん
2011/01/28(金) 19:27:25ID:???http://d.hatena.ne.jp/k1LoW/20101202/1291262612
これか
良エントリだな
0718nobodyさん
2011/01/28(金) 19:48:17ID:???ってどうしようもない?
index.phpかどこか書き換えればよさそうだが
0719nobodyさん
2011/01/28(金) 20:02:02ID:???0720nobodyさん
2011/01/28(金) 20:13:08ID:???0721nobodyさん
2011/01/28(金) 20:19:51ID:???0722nobodyさん
2011/01/28(金) 20:27:10ID:???ふんだんに盛り込めば、フレームワークが特定されにくくね?
0723nobodyさん
2011/01/28(金) 20:35:27ID:???0724nobodyさん
2011/01/28(金) 20:50:26ID:???0725nobodyさん
2011/01/28(金) 21:21:01ID:???0726nobodyさん
2011/01/28(金) 21:41:35ID:???0727nobodyさん
2011/01/28(金) 23:17:34ID:???0728nobodyさん
2011/01/29(土) 00:32:20ID:???ローカルホストから、メール発信しようとしてもメールが送られません。
一応画面遷移などは行って、正常にうごいてる様には見えるのですが
肝心のメールが送られていないようです。
環境はcakephp1.3. qdmail1.2.6です。
どなたか分かる方いらっしゃいませんでしょうか?
0729nobodyさん
2011/01/29(土) 00:37:11ID:???0730nobodyさん
2011/01/29(土) 02:43:01ID:???もろCakeだな
しかし、リアルタイムに入札状況を(1秒毎とかに)取得する際に、
サーバ側でレスポンスする部分はCakeじゃないんだろうな。
入札状況一覧の静的ファイルを置いて読みに行ってるとかかな
ま、どう考えてもシステムがユーザの名を騙って入札してるな
そんで屍の山を築いた後落札するのはシステム側のユーザと・・・よくできてるな
0731nobodyさん
2011/01/29(土) 02:59:12ID:???どうりでアホばっかだ
0733nobodyさん
2011/01/29(土) 03:18:19ID:???0734nobodyさん
2011/01/29(土) 04:08:26ID:???0735nobodyさん
2011/01/29(土) 12:12:46ID:???頑張りは認めるんだけど、「攻撃者への攻撃の糸口として利用されてしまう」から
Webサーバやフレームワークに何使ってるか隠蔽しましょうって言われても
お前アホかとしか思えない。
労力注ぎ込む方向性が間違ってるだろ。
0736730
2011/01/29(土) 12:51:51ID:???>>731
レスありがとう。
ペニオク自体は知ってたが、正直胡散臭いし、
俺の興味の方向性(お金を儲けるより面白い物を作る)と違ったので、
いままで完全スルーで来ていました。
ペニオクみたいなリアルタイム性の高いシステムにCakeのような重めのレスポンスの
システムが(一部であれ)使われているという一点に興味を持って、
しばらく入札の傾向とか出てくるユーザ名とか眺めてみたり、
無料コインで入札してみたり、ソース眺めて静的ファイルと思われる入札状況のXMLを見てみたり
してみた。まあ、自分でやる気はないが、少しは勉強になったよ。
akiyanもググってみたが、まあこういう人もいるだろうよ。ネットには。
コレに関してはほぼスレ違いだろ。
0737nobodyさん
2011/01/29(土) 13:01:07ID:???メールを表示した時に、目次からページ内にジャンプするように
<a href="#hereis">ABCの位置へジャンプ</a>
<br><br><br><br><br><br><br><br>
<span id="hereis">ここがABC</span>
このように書いたのですが、なぜかメール内では
<a href="#12dcfd6116a82cf6_hereis">ABCの位置へジャンプ</a>
と#の後に変な文字列が追加され上手くいきません。
もし原因が分かる方いましたら教えてもらえないでしょうか?
ちなみに、上記のコードはすべてmodel内で書いています。
0738nobodyさん
2011/01/29(土) 16:27:24ID:???前にもこのスレで話題になってた気がするけど、>>731はこれかなあ?
>定価7万の商品に対して、最終的に参加者全員が投入した合計手数料は35万
とか書いてるし、ペニオク推奨しているとも思えないんだが
0739nobodyさん
2011/01/29(土) 16:54:25ID:???0740nobodyさん
2011/01/29(土) 17:28:00ID:???0741nobodyさん
2011/01/29(土) 17:58:51ID:???クーポンサイトにしてもソーシャルゲームにしてもそんな感じで遊びで作ってれば
後々で応用が利くよ。
0742nobodyさん
2011/01/29(土) 18:20:26ID:???0743nobodyさん
2011/01/29(土) 18:38:06ID:???作れますっつうのと運営できますつうのはまた別の話。
法律家だのコネだのをちゃんと付けておくべし。
大手の激ヤスなんかはその辺しっかりしてる。
早々と拠点を香港に移し、世間の風あたりが強くなってきたと思ったらとっとと閉鎖。
逃げ足の速さはさすがだわ。
0744nobodyさん
2011/01/29(土) 19:46:41ID:???0745nobodyさん
2011/01/29(土) 20:03:31ID:???0746730
2011/01/29(土) 21:22:36ID:???0747nobodyさん
2011/01/29(土) 21:47:07ID:???BOT拡張パッケージ \500,0000
0748nobodyさん
2011/01/30(日) 13:49:39ID:???0749nobodyさん
2011/01/30(日) 15:05:51ID:???0750nobodyさん
2011/01/30(日) 16:44:06ID:???0751nobodyさん
2011/01/30(日) 17:09:03ID:???X a.user_cd = b.user_cd
○ a.id = b.a_id
まったくだめだね
0752nobodyさん
2011/01/30(日) 17:15:25ID:???0756nobodyさん
2011/01/30(日) 18:20:56ID:???0759nobodyさん
2011/01/31(月) 00:12:36ID:???0760nobodyさん
2011/01/31(月) 01:31:57ID:???0761nobodyさん
2011/01/31(月) 10:56:41ID:???0762nobodyさん
2011/01/31(月) 10:58:06ID:???0763nobodyさん
2011/01/31(月) 11:04:27ID:???0764nobodyさん
2011/01/31(月) 14:08:21ID:???// app/controllers/test_controller.php
class TestController extends AppController{
var $name = 'Test';
var $uses = array();
function index(){
$this->set('message', 'Hellow world');
}
}
// app/views/test/index.ctp
<?php echo $message; ?>
教えたから1000円くれよ。マジで。
0765nobodyさん
2011/01/31(月) 14:49:03ID:???0766nobodyさん
2011/01/31(月) 15:05:54ID:???$html->link('https', 'https://example.com/');
0768nobodyさん
2011/01/31(月) 19:45:54ID:???既存DBとの接続には同じテーブルであっても取得したいデータに応じて
primaryKeyだけを変更したモデルを必要数つくればいいよ。
0770nobodyさん
2011/01/31(月) 22:47:22ID:???0771nobodyさん
2011/01/31(月) 23:05:12ID:???じゃだめ?
0772nobodyさん
2011/01/31(月) 23:26:01ID:???0773nobodyさん
2011/02/01(火) 00:12:31ID:???おまいらはブログ書いたりしてないの?
0774nobodyさん
2011/02/01(火) 00:13:33ID:???使ってないのか?
0775nobodyさん
2011/02/01(火) 00:21:29ID:???・書こうと思った記事がすでに書かれていた
・cakeが安定してきたので書くことが無くなった
・書いてもあんまり反応が無いので寂しい
という感じで、1年くらいは書いてないな
古い記事ばかりだというのなら、それを1.3で検証する企画とかやればウケるかな?
でも、最近ならアドベントカレンダーやってたし、知的好奇心をくすぐられるような記事もあったんでは?
0776nobodyさん
2011/02/01(火) 01:42:48ID:???0777nobodyさん
2011/02/01(火) 01:52:28ID:???使いこなしちゃうと面倒で書かなくなっちゃったごめんね。
0778nobodyさん
2011/02/01(火) 09:41:14ID:???そのうち表現したい事が140文字で書けなくて止めた。
かといってブログ書くのは怠いし、面倒だから断念した。
0779nobodyさん
2011/02/01(火) 12:06:37ID:???ビューに
if ($paginator->prev()) {
echo $paginator->prev('戻る');
}
と書いて、戻り先がある場合はリンクが貼られる事を想定していたのですが、
実際は上記のようなコードの場合、リンク無しの「戻る」が表示されます。
true/falseだけ返り値を受け取る事は出来ないのでしょうか?
0780nobodyさん
2011/02/01(火) 12:32:52ID:???hasPrev($model = null) hasNext($model = null) hasPage($model = null, $page = 1)
があるぞ。
https://github.com/cakephp/cakephp/blob/1.3.7/cake/libs/view/helpers/paginator.php#L435
0782nobodyさん
2011/02/02(水) 16:07:14ID:???0783nobodyさん
2011/02/02(水) 16:21:15ID:???zipはココttp://basercms.net/packages/download/basercms/latest
0784nobodyさん
2011/02/02(水) 18:15:26ID:???0785nobodyさん
2011/02/02(水) 19:33:43ID:???俺にとって簡単な企業サイトには、CakePHPは出番がないな。
0786nobodyさん
2011/02/02(水) 19:58:41ID:???0787nobodyさん
2011/02/02(水) 20:00:59ID:???というわけで>>783を使うか、それを参考にして構築するのがいいと思う
0788nobodyさん
2011/02/02(水) 20:09:42ID:???CakePHP 1.3.6なんですが、
formで送信するときにSanitizeを使わなくてもSanitizeされているんですが、
これってformで送信するときに自動的にSanitizeされているという解釈で良いのでしょうか?
0789nobodyさん
2011/02/02(水) 20:14:19ID:???設置してみたけど、内部処理が多すぎ。もう少し分けられるのに。
0790nobodyさん
2011/02/02(水) 21:01:51ID:???0791nobodyさん
2011/02/02(水) 21:27:03ID:???0792nobodyさん
2011/02/02(水) 21:38:40ID:???0793nobodyさん
2011/02/02(水) 23:05:43ID:???0794nobodyさん
2011/02/02(水) 23:38:51ID:???ちょっとなにを言ってるのかよくわからない。
HTMLで構成するフォームの事だったら、そこはCakePHPの領域じゃないな。
0796nobodyさん
2011/02/03(木) 00:21:49ID:???お前>>788の日本語でよく断言できたな
わからないってほどじゃないけどサニタイズの意味が曖昧過ぎるから
>>794の皮肉もわかるわと思いながらスルーしてた
サニタイズがSanitizeクラスのこと言ってんのか入出力のエスケープを言ってんのか
とか色々考えてしまったわ
0797nobodyさん
2011/02/03(木) 00:26:10ID:???エスケープとサニタイズは違う。
>>788の文章の中には
消毒するクラスであるSanitizeクラスのことも、
消毒するっていう意味でのサニタイズという単語も混在してる
0798nobodyさん
2011/02/03(木) 01:04:19ID:???>>788
については、Formヘルパーから自動生成されたHTMLを利用してPOST送信された、
$this->data[Hoge][hage] に渡ったデータが
・文字列の先頭やケツの空白文字を「勝手に」trimしてくれてるのかどうか
・htmlエンティティのエスケープを「勝手に」してくれてるのかどうか
という意味なのではないかと俺は解釈してた
で、めんどくせえからスルーしてた。
どちらにしろ、
> これってformで送信するときに自動的にSanitizeされているという解釈
というのは質問として違うよな・・・と思っていたが、
>>795 がエスパー回答してるんで、いいんじゃね?と思ってた。
要するに>>794 も >>795 も悪くない。
みんな仲良くしようぜってことで。
あと、言ってることがよく分からん質問はスルーでいいんじゃね?
0799nobodyさん
2011/02/03(木) 01:15:15ID:???分かる奴だけが教えればいい。
質問者が可哀想に思っても、それは自身の伝え方が悪いと言う事を
自覚させる意味でも、わざわざ教えてやる必要はない。
0800nobodyさん
2011/02/03(木) 01:20:33ID:???0801nobodyさん
2011/02/03(木) 11:10:23ID:???>>365 を使うと、日本語をごっそり削られてしまいます。
0802nobodyさん
2011/02/03(木) 12:41:38ID:???元カノの実家へはじめて泊まった時に
いつもどおりエッチした(その時は測位)
そのまま精液の入ったゴムごとティッシュにくるみ、元カノの部屋にかけたジャンパーのポケットに入れてたのを忘れてて、
元カノに
部屋のゴミ箱にそのままポイしちゃってたかも。。。と言ったらこっぴどく怒られたな。。。
そんな彼女に今mixiでメッセージしても
足跡だけ残されて返信なしという有様。
今は今で彼女いるけど
昔はもっと幸せだったのかもしれない
0803nobodyさん
2011/02/03(木) 12:43:36ID:???cakephp
symfony
ruby on rails
のいずれかに変えたいのですが
どれが一番いい?開発していくのも自分でやることになります。
0804nobodyさん
2011/02/03(木) 12:45:39ID:???>>798
横だけど、CakePHPってPOST送信されたデータのサニタイズってする?
前コード読んだとき、そういう記述見当たらなくって、
Cakeはそういう事しないんだって思ってたんだけど。
>>797
あと、この用語っておれよくわかんなくってさ。
POST送信されたデータをサニタイズする方法として、
trimやエスケープがあるって理解で良いのかな?
0806nobodyさん
2011/02/03(木) 13:20:42ID:???0807nobodyさん
2011/02/03(木) 13:33:16ID:???例えば2つのモデルがあって、その2つで使いたいような共通のメソッド(バリデーションとかでも何でも)があったとして、
その場合ってどういう風に作るのがベターですか?
2つのモデルの親になるようなモデルを作ってそこから継承しようかなと思ったのだけど、
ググってもAppModel以外から継承するってモデルってみんな作ってないような感じ。
そういう作り方はしないものですか?
AppModelに書くのは影響範囲でかすぎるし、2つのモデルに依存した機能だからビヘイビアもおかしい気がする。
あと考えたのがApp::import('Model', '2つの共通する機能をまとめたモデル');という書き方くらい。
0808nobodyさん
2011/02/03(木) 13:59:33ID:???汎用じゃない処理でも複数のモデルで使いまわしたい場合はビヘイビア。
コントローラやビューやシェルでも使いたいならlibsでライブラリクラス作って使いまわせば
いい。
0809nobodyさん
2011/02/03(木) 14:02:31ID:???よくわからないのは、モデルとコントローラー共通に必要な処理はどこに置くかということ。
今の所ビヘイビアとコンポーネントに同じコード書いてる。もっと良い方法ない?
0810nobodyさん
2011/02/03(木) 14:11:10ID:???0811nobodyさん
2011/02/03(木) 14:24:25ID:???仮にそう言うのがあれば普通にクラス書いてVender
0812nobodyさん
2011/02/03(木) 14:37:48ID:???最近あったのは、携帯サイトで、絵文字の変換処理とか。
DB前後で変換かますからモデルでやるんだけど、DBに入れなくて良い時はコントローラーでやる必要があったり。
全部コントローラーで処理することもできるがそれだとあちこちのコントローラーに同じコードが要るので、モデルでやりたい。
0813nobodyさん
2011/02/03(木) 14:41:13ID:???ありがとうございます。
なるほど、ビヘイビアってそういうものなのか。
振る舞いって言葉の通り、どのモデルでも使えるような、特定のモデルとは切り離された抽象的な「振る舞いを変えてくれるもの」と思ってた。
0814nobodyさん
2011/02/03(木) 14:46:21ID:???>DBに入れなくて良い時はコントローラーでやる必要があったり。
ここが良くわからないんだけど、
DBに入れる入れない関係なく、ロジックならモデルでやっちゃわない?
もしかしてモデルでやらない方がいい理由があったりする?
0815nobodyさん
2011/02/03(木) 14:48:18ID:???MVCを厳密に守るとコード最適化に反してしまう例の一つに見えるな
MVCを守るなら、コントローラーだけでやるのが正解ぽい
0816nobodyさん
2011/02/03(木) 14:52:35ID:???そのモデルを使わないコントローラーもあるんだけど、
そのためにモデルをusesに追加すべき?
違和感があるんだけど、モデルをDBと結びつけて考え杉なのかな
0817nobodyさん
2011/02/03(木) 15:01:28ID:???コンポーネントでやればいいじゃん
helperのbiforeVenderとかでもいいか
0818nobodyさん
2011/02/03(木) 15:07:08ID:???表示の際にPCなら画像に変えるとか、SBは変換かけるとかする。
あとformから入力があるサイトなら入力データの絵文字も考慮しなきゃならん。
なんかライブラリでも使ったほうが速い
0819nobodyさん
2011/02/03(木) 15:26:07ID:???絵文字を扱うモデルを使わないってどういうこっちゃ
0820nobodyさん
2011/02/03(木) 16:34:24ID:???ブログの記事内に絵文字埋め込んでるから、
findで受け取る際にキャリア毎に変換したいとかか?
いずれにせよ、コントローラで俺は書くな。
<select>のoptionsをDBから生成したい時はモデルに書いてるけど
0821nobodyさん
2011/02/03(木) 16:44:54ID:???外部ライブラリならvendorでいいけど。
0822nobodyさん
2011/02/03(木) 18:08:13ID:???きれいになったのはいいけどやたら重いな。
0823nobodyさん
2011/02/03(木) 23:26:56ID:???文脈(どこに出力するか)が決まらなきゃその内容も決まらないんじゃないのか
0824nobodyさん
2011/02/03(木) 23:39:37ID:???0825nobodyさん
2011/02/03(木) 23:46:43ID:???0827nobodyさん
2011/02/04(金) 01:25:00ID:???この囲みの文も日本語訳の方に載せといてくれればいいのにね。
一応cake使う上では基本なんだから。
0828nobodyさん
2011/02/04(金) 03:21:44ID:???CakeのActiveRecordに投げっぱなしだったから存在を忘れてた
XSSについては出力段階でエスケープって言うのはCake以外でも基本じゃね?
0829nobodyさん
2011/02/04(金) 10:18:51ID:???0830nobodyさん
2011/02/04(金) 10:42:48ID:???俺は何度もこのスレに助けられた
0831nobodyさん
2011/02/04(金) 11:06:21ID:???0832nobodyさん
2011/02/04(金) 11:35:40ID:???0833nobodyさん
2011/02/04(金) 15:12:57ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2021&forum=3
と同じ部分で詰まっているのですが、
誰も回答していない事を見ると、argSeparatorを指定したら
逆ルーティング出来ないのでしょうか?
0834nobodyさん
2011/02/04(金) 17:33:25ID:???Cakeであることがバレてしまうのですが、エラー用の特定のページを表示させるには
どうするのが一番良いでしょうか?
dispatcher.phpを書き換えるという手段を思いつきましたがもっと良い方法ないでしょうか
0835nobodyさん
2011/02/04(金) 17:37:36ID:???0836nobodyさん
2011/02/04(金) 17:43:17ID:???missing controllerとかmissing viewとか書いてない?
このページを編集するにはこういうファイルをAPPに作れって書いてない?
0838nobodyさん
2011/02/04(金) 17:51:13ID:???書いてないです
layoutsが中途半端に反映されたページの残骸みたいなものが出てきて、
ソースを見るとCakeのクレジットのコメント部分が出ていて、Cakeだとわかります
cake/libs/error.php内でvar_dumpするとmissingControllerと出てきます
>>837
それでやってみます
0840nobodyさん
2011/02/04(金) 22:39:54ID:???クエリがあるんだけど、インデックスも指定してあるし、特におかしなSQLでもない。
体感的にもそれほど長い時間待たされている感じはないんだけど、
クエリ情報が間違っているのかな?
0841nobodyさん
2011/02/04(金) 22:46:59ID:???0842nobodyさん
2011/02/04(金) 23:00:23ID:???スレチなんですね。わかりました。
0843nobodyさん
2011/02/04(金) 23:14:40ID:???自分で発行されたクエリ調べて、正しいか読んでろ
質問あるならそのクエリもってSQLの質問受け付けてるようなところ行って来いよ
嫌ならすぐ死ね
0844nobodyさん
2011/02/04(金) 23:18:30ID:???0845nobodyさん
2011/02/04(金) 23:40:18ID:???1000msとかならともかく259msなら、体感差はそこまではっきりとは出ないだろうし
0846nobodyさん
2011/02/05(土) 00:22:01ID:???phpMyAdminとかで実行しても259msもかかんないんだし。
それよりも、「Cakeのクエリ情報は正しいのか?」という
ただ1点のみの問いかけなんです。
0847nobodyさん
2011/02/05(土) 00:25:25ID:???ソース嫁
0849nobodyさん
2011/02/05(土) 05:01:31ID:???直近のSQLの結果は、キャッシュされる可能性があるね
0850akiyan
2011/02/05(土) 10:50:42ID:???いい加減なこと書いて初心者を惑わせるのはどうかと
0852nobodyさん
2011/02/05(土) 12:13:48ID:???リダイレクトされるのを防ぐにはどうしたらいいですか?
非ログイン状態だと右上にずっとログイン用のフォームが出てる
イメージです
0853nobodyさん
2011/02/05(土) 12:53:42ID:???てか根本的に理解が足らんと思うわ
マニュアルやチュート何度も読み返してこい
0854nobodyさん
2011/02/05(土) 13:01:50ID:???でいけたわ
必要なアクションのみdenyで登録ってことか
0855nobodyさん
2011/02/05(土) 13:20:32ID:???0856nobodyさん
2011/02/05(土) 13:58:50ID:???0857nobodyさん
2011/02/05(土) 14:29:17ID:???0858akiyan
2011/02/05(土) 15:24:41ID:???RDBMSが優秀だからクエリキャッシュするなんて見当違いも甚だしいレスをつけておいて責任転嫁はいかがなものかと
0859akiyan
2011/02/05(土) 15:30:22ID:???0860nobodyさん
2011/02/05(土) 15:40:40ID:???0861nobodyさん
2011/02/05(土) 16:37:26ID:???0862nobodyさん
2011/02/05(土) 16:43:50ID:???分かっている人はきちんと答えてるし。
0863nobodyさん
2011/02/06(日) 04:12:11ID:???0864nobodyさん
2011/02/06(日) 07:22:03ID:???0866nobodyさん
2011/02/06(日) 16:41:08ID:???0867nobodyさん
2011/02/06(日) 17:11:49ID:???0868akiyan
2011/02/06(日) 17:18:07ID:???0869nobodyさん
2011/02/06(日) 20:49:55ID:???0870nobodyさん
2011/02/06(日) 21:39:44ID:???APP::import('Vender','Thumbnail');
$Thumbnail = new Thumbnail();
最新版です。
なぜ読み込めないのでしょうか?
0871nobodyさん
2011/02/06(日) 21:47:28ID:???APP::import('Vender','thumbnail');
$Thumbnail = new Thumbnail();
なんだ小文字にするのか、、、、
こういう所が腐ってるところ
複数形とかウザすぎ
0872nobodyさん
2011/02/06(日) 21:51:21ID:???0873nobodyさん
2011/02/06(日) 21:58:42ID:???Vender
お前酷いな
0874akiyan
2011/02/06(日) 23:25:34ID:???webフレームワークの潮流も知らないでよくそんな偉そうな事言えますね
Railsとか勉強されてはどうですか?
自分の知識の無さを棚に上げてフレームワークのせいにするなんて幼稚園児の発想ですよ
どうせ自分の年収が低いのは日本経済の責任だとか愚痴ってるんでしょ新橋の立ち飲みやで
どうしようもない人間ですね カス クズ 人間のゴミ
0875nobodyさん
2011/02/06(日) 23:28:07ID:???できないやつは文句ばっかりなのは実感するところだけどさ。
0877nobodyさん
2011/02/06(日) 23:51:46ID:???いやホントに
改めて言うのも照れてしまうけれど花金明け土曜日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世紀エンジニアの魂だ
そして最後に
最愛の妻と友人、そしてペニーオークションに幸あれ
0878nobodyさん
2011/02/07(月) 00:19:49ID:Y103Gns6気にするなよ、Webの仕事では、
PHPを使う仕事ではPHP(CakePHP)を使うし、
Ruby使う仕事ではRuby(Rails)を使うでいいんじゃね。
書き方の細かなことはいいじゃねか、普通はCakePHPもRailsもどっちも使えるだろ。
0879nobodyさん
2011/02/07(月) 00:32:57ID:???0880nobodyさん
2011/02/07(月) 01:17:13ID:???好みの問題もあるけど、誰もが首をかしげるものもある。
Cakeは万能じゃない。
作りたい物が小規模で、Cakeを使ってて回りくどいと感じてるなら、
CodeIgnighterは良い選択肢かもしれない。
Cakeよりもっと厳格なスタイルで開発がしたいなら、
Symfonyを試してみると良いかもしれないぞ。
ZendFrameworkはシラネ
0881nobodyさん
2011/02/07(月) 10:55:24ID:???オレオレフレームワークを作ったのだった
0882nobodyさん
2011/02/07(月) 15:01:26ID:???0883nobodyさん
2011/02/07(月) 15:32:20ID:???そこの判断基準を教えてください
0884nobodyさん
2011/02/07(月) 16:13:13ID:???オーダーメードのときはCake
0885nobodyさん
2011/02/07(月) 16:24:23ID:???依頼時は「オープンソースでも結構です」とか言いつつ、
結局は、あれして・これしてってなるのが目に見えてるし。
0886nobodyさん
2011/02/07(月) 18:15:12ID:???0887nobodyさん
2011/02/07(月) 18:37:23ID:???プラグイン・モジュールで対応できないなら、Cakeかな。
0888nobodyさん
2011/02/07(月) 18:47:22ID:???CIはセッションがなんちゃらとPHP4とPHP5をサポートしているのが気に食わなくなりZend Frameworkの勉強を始めました
なんかやっぱりCakePHPってやっぱり難しいですね
0889nobodyさん
2011/02/07(月) 19:31:03ID:???0890nobodyさん
2011/02/07(月) 19:32:01ID:???URLがなにかイマイチな感じになる。
/items/
とか日本語の感覚だったら
/item/
になると思うんだけど
命名規則に従って作ってますか?
0891nobodyさん
2011/02/07(月) 19:36:03ID:???0892nobodyさん
2011/02/07(月) 19:42:35ID:???0894nobodyさん
2011/02/07(月) 22:25:53ID:???1.3.x系ですでに出来上がっているECサイトの礎になるようなものは無いでしょうか?
分類マスタやアイテムの登録ができ、お買い物カート等のコンポーネントや二重登録防止
ajax時と通常時での認証やエラー出力が合理的に分離されているソースコードが見たいです。
BakeSaleはバージョンが古いようでした。
大変お手数ですが、どなたかご教示願います☆
0895nobodyさん
2011/02/08(火) 01:35:20ID:???historiesとかchildrenとか
0896nobodyさん
2011/02/08(火) 03:15:55ID:???0897nobodyさん
2011/02/08(火) 03:27:28ID:???正直そこまでやらんでもって思うが、特殊な複数形のやつとかは、
Inflectorクラスのプロパティに色々書いてあるぞ。
https://github.com/cakephp/cakephp/blob/master/cake/libs/inflector.php#L40
0898nobodyさん
2011/02/08(火) 13:21:05ID:???personsでもいいじゃん!
とか思ってるから全然英語が上達しないんだろうか・・・
0899nobodyさん
2011/02/08(火) 13:42:54ID:???0900nobodyさん
2011/02/08(火) 13:56:14ID:???0901nobodyさん
2011/02/08(火) 15:10:54ID:???更新時に外部キーに設定したフィールドのレコードに空の値が送られてしまいます。
それ以外は正常に更新されています。
$form->hiddenで値を渡そうとしても、発行されているSQLの値は空になり、リレーションが壊れてしまいます。
どなたか回避策をご教授願います。
0904nobodyさん
2011/02/08(火) 16:52:25ID:???0905nobodyさん
2011/02/08(火) 17:38:00ID:???0907nobodyさん
2011/02/08(火) 18:52:39ID:???CakePHPで組み直してやれよ
0908nobodyさん
2011/02/08(火) 19:15:53ID:???Cakeはローカルで使えるヘルプを用意するべき。
ヘルプをオンラインでしか提供しないのは、googleの広告収入目当てなのかね。
せこいな・・・
>>906
本家のサイトが重いと「駄目なフレームワークなんだな」という印象を与える。
>>904
特定のサイトを明示的に永久キャッシュさせるのってどうやるの?
普通はキャッシュはいつの間にか消えちゃうと思うけど
0909nobodyさん
2011/02/08(火) 19:46:17ID:???0910nobodyさん
2011/02/08(火) 19:50:16ID:???0911nobodyさん
2011/02/08(火) 20:15:12ID:???まえはページ切り替えるとそこそこ反応遅かったけど、
今は即切り替わる。
キャッシュされてないページはちょっともたつくけど、
2回目以降はほんとはやいぞ。
0912nobodyさん
2011/02/08(火) 20:19:56ID:???0915nobodyさん
2011/02/09(水) 11:03:49ID:???0916nobodyさん
2011/02/09(水) 11:50:06ID:???0917nobodyさん
2011/02/09(水) 12:46:52ID:???15ページくらいかな
皆さんに質問です
cakephpをものにしたら仕事に困らないですか?月給30万円も夢じゃない??
0918nobodyさん
2011/02/09(水) 12:56:20ID:???0919nobodyさん
2011/02/09(水) 12:57:27ID:???0920nobodyさん
2011/02/09(水) 13:34:19ID:???15ページでもシステム使わないかしょなら面倒じゃないか?
なにせアップロードする時はCakeのファイル数が多いから、
会社概要的な小規模サイトの場合、Cake使うのが煩わしいんだよな
0921nobodyさん
2011/02/09(水) 13:59:41ID:???0922nobodyさん
2011/02/09(水) 19:27:04ID:???月給50マンは可能なはず
0923nobodyさん
2011/02/09(水) 19:28:04ID:???ほれ自信が付いたらやってごらん
ttp://hp.submit.ne.jp/request/detail/20329
0925nobodyさん
2011/02/09(水) 20:53:26ID:???CakePHPより、MySQLの方にかなり精通してるなら、
高給もありえると思うが。
0926nobodyさん
2011/02/09(水) 21:04:54ID:???0927nobodyさん
2011/02/09(水) 21:27:15ID:???0928nobodyさん
2011/02/09(水) 21:32:26ID:???0929nobodyさん
2011/02/09(水) 22:51:31ID:???controller側
<?php
class hoge extends AppController{
function piyo(){
$this->layout = null;
$img = APP . DS . "data/image1.png";
header("Content-Type: image/png");
echo file_get_contents($img);
}
}
?>
view側
<?php
echo $html->image('/hoge/piyo', array(
class' => 'class_icon',
'alt'=>'noImage',
'name'=>'profile_image'
)
);
?>
実行をすると、
画像ファイル "http://xxxx/hoge/piyoは" は壊れているため、表示できませんでした。
とでます。
解決方法を知っている方は、教えてください。
ちなみに、.php,.ctpはutf-8で保存されてます。BOMなしです。
0930nobodyさん
2011/02/09(水) 22:52:34ID:???0931nobodyさん
2011/02/09(水) 22:58:39ID:???0932nobodyさん
2011/02/09(水) 23:31:22ID:???アクセスしたらApacheが/var/www/errorにファイル取りにいって404になる
0935nobodyさん
2011/02/10(木) 00:54:08ID:eN2QEGlj間違っているなら、そこを指摘してあげないと。
0936nobodyさん
2011/02/10(木) 01:07:36ID:???それくらいだとMySQL触ったばっかでもやるからダメじゃないかな?
サービス担当したときにSQL全然わからないままググりながらやった覚えがある
0937nobodyさん
2011/02/10(木) 01:19:17ID:???高卒未経験の俺でもCakePHPをモノにして
大器晩成なるかな?
0939nobodyさん
2011/02/10(木) 01:36:11ID:???仮に僕がペニーオークションみたいなのをやって成功したらGoogleは雇ってくれますか?
ペニーオークションみたいな運営方法って違法にはなりませんか?
0940nobodyさん
2011/02/10(木) 01:58:44ID:???この脆弱性の問題はクリアしてんのかな?
http://co3k.org/diary/12
0942nobodyさん
2011/02/10(木) 02:46:38ID:???まず私についてですが、プログラム歴1年 php歴3ヶ月です。
cakephpを始めて1週間になります。
今回お尋ねしたいことは既存DBとの結合についてです。
グーグル検索いたしましたし、過去スレもひと通り目を通しました。
自身でもいろいろと試してみたのですが、未熟故にどうしてもできないため
質問させて頂きます。
モデル「User」はDB「既存 」にあるTABLE「users」に接続するようdbconfigを設定しています。
primaryKeyは「user_cd」で「group_cd」がフィールドにあります。
モデル「Group」はDB「既存」にあるTABLE「groups」に接続するようdbconfigを設定しています。
primaryKeyは「group_cd」です。
モデル「Auth」はDB「新規」にあるTABLE「auth」に接続するようdbconfigを設定しています。
primaryKeyは「id」で「user_cd」がフィールドにあります。
私が実現したい事はモデル「Auth」のメソッド「find」で
hasOne形式で「User」を結びつけさらにその結び付いた「User」に対して
hasMany形式で「Group」を結びつける事です。
「User」と「Group」を結びつける際には、
一時的に「User」のprimaryKeyを「group_cd」へ変更する事でできました。
「Auth」「User」と「Group」を結びつける事ができなかったので
「users」と「groups」を結合したビュー用のモデル「Usergroup」を作成し、
「User」のprimaryKeyを「group_cd」へ変更する事でできました。
※ただし、同一「auth」&「users」が複数取得されてしまう。
Auth →[hasOne]→User→[hasMany]→Group
primaryKeyを変更せず、ビューを作る等余分な事をせずに結合する方法を
ご教示ください。お願いします。
0943942
2011/02/10(木) 02:49:13ID:???>「Auth」「User」と「Group」を結びつける事ができなかったので
>「users」と「groups」を結合したビュー用のモデル「Usergroup」を作成し、
>「User」のprimaryKeyを「group_cd」へ変更する事でできました。
「Auth」からfindメソッドで「User」と「Group」を結びつける事ができなかったので
「users」と「groups」を結合したビュー用のモデル「Usergroup」を作成し、
「Auth」のprimaryKeyを「user_cd」へ変更する事でできました。
0944nobodyさん
2011/02/10(木) 04:12:27ID:???0945nobodyさん
2011/02/10(木) 11:14:08ID:???$scaffold で見てみると
sqlite3で直接入れたデータは読み込めたが、
$scaffold上でデータ追加しようとしたら Please correct errors below. 出て追加されませんでした。
なぜでしょうか?
cakephpのバージョンは1.3.6です
Nr Query Error Affected Num. rows Took (ms)
1 INSERT INTO "hoges" ("data", "modified", "created") VALUES ('aaaa', '1297303126', '1297303126')
0946945
2011/02/10(木) 12:09:02ID:???データベースファイルだけじゃなくてディレクトリにも書き込み権限を与えないとだめだったようです
失礼しました
0947nobodyさん
2011/02/10(木) 18:33:29ID:???それだけ
0948nobodyさん
2011/02/11(金) 16:09:07ID:???0949nobodyさん
2011/02/11(金) 16:51:08ID:???0950nobodyさん
2011/02/11(金) 17:11:28ID:???0951nobodyさん
2011/02/11(金) 18:01:22ID:???0953nobodyさん
2011/02/11(金) 18:40:48ID:???0954nobodyさん
2011/02/11(金) 20:05:15ID:???俺もそう感じるけど、Cakeは命名規則が決まってるから
無駄な部分(名前の付け方に悩む)が省けて精神的には良い
0955akiyan
2011/02/11(金) 23:05:43ID:???本質を学び直すことをお勧めします
0956akiyan
2011/02/12(土) 03:15:14ID:???フレームワークの制約を受け入れ、なぜ制約があるのかその意味を考えて見てください
制約こそがフレームワークの価値でもあるのです
0957akiyan
2011/02/12(土) 04:34:43ID:???0958nobodyさん
2011/02/12(土) 05:11:03ID:???太陽が眩しい世界だ
0959nobodyさん
2011/02/12(土) 11:03:40ID:???0960nobodyさん
2011/02/12(土) 12:06:14ID:???0961nobodyさん
2011/02/12(土) 15:07:18ID:???佐川急便、ペニオク、他に何かある?
0962nobodyさん
2011/02/12(土) 15:30:18ID:???Mozilla Addons。
ソーシャルゲームでも、CakePHP使ってるところはあったな。
普通のサイトとは桁違いのPV数を捌いている。
CakePHPがそこに貢献してるかどうかはわからんけど。
あとここにいくつか書かれてる。超大手に入るのかしらんけど。
http://d.hatena.ne.jp/otome_pw/20110104/1294098484
0963nobodyさん
2011/02/12(土) 15:34:17ID:???そして、どうして松田聖子は未だにあんなに可愛いの?ヤりたくなる可愛さ!
0965nobodyさん
2011/02/12(土) 16:53:57ID:???0966akiyan
2011/02/12(土) 17:58:59ID:???0967nobodyさん
2011/02/12(土) 18:24:28ID:???0968akiyan
2011/02/12(土) 21:12:13ID:???0969nobodyさん
2011/02/12(土) 22:55:35ID:???hoge[Model名][Field名]って出てるから一目瞭然なんだけど?
0970nobodyさん
2011/02/12(土) 22:59:51ID:???たけど、CakePHPは隠しにくいものだから諦めろ。
あと標準のfaviconも消せよ。
0971nobodyさん
2011/02/13(日) 00:03:08ID:???無知で申し訳ないんだけど、>>969を簡単に変えられるの?
フォームヘルパーやバリデーション使うの止めるとかじゃなくて?
0973nobodyさん
2011/02/13(日) 00:24:31ID:???を
CakePHPは簡単に変えられるんだから変えとけ
に読み違えていた・・・勘違いすまん
0974nobodyさん
2011/02/13(日) 01:11:26ID:???とかになってるから一発で分かるw
0975nobodyさん
2011/02/13(日) 01:14:43ID:???0976nobodyさん
2011/02/13(日) 01:16:31ID:???0977nobodyさん
2011/02/13(日) 01:31:44ID:???0978nobodyさん
2011/02/13(日) 01:49:17ID:???hoge/list/page:1/sort:id/direction:asc
とかなるから、CakePHP坊やだと、すぐ分かるw
0979akiyan
2011/02/13(日) 04:18:40ID:???たまにご丁寧にフッターにバージョンまで書いてるサイトがあって失笑しちゃう
0981nobodyさん
2011/02/13(日) 18:18:43ID:???public $belongsTo = array(
"User" => array(
'className' => 'User',
'conditions' => '',
'order' => '',
'dependent' => false,
'foreignKey' => 'user_id'
)
);
-------------------------------------boards_controller.php-------------------------------------
$res = $this->User->find('all')
echo $res;
↓↓↓↓↓↓↓↓↓↓↓↓↓
Userテーブルにはレコードが入っているはずなのに
$resは空っぽ
0982akiyan
2011/02/13(日) 18:24:34ID:???0983nobodyさん
2011/02/13(日) 18:27:40ID:???<?php
if(@$this->passedArgs['sort'] === 'id' && @$this->passedArgs['direction'] === 'desc') {
// urlのオプションを変える
$paginator->options(array('url' => array('page' => '1')));
echo $paginator->sort('IDで並び替え▼', 'id');
} else {
// urlのオプションを変える
$paginator->options(array('url' => array('page' => '1')));
echo $paginator->sort('IDで並び替え▲', 'id');
}
?>
0984nobodyさん
2011/02/13(日) 18:48:12ID:???debugしてればページにSQLの結果出てると思うけどそれは行数0ではないわけ?
>>983
その部分だけ見たら最後の2行をif文の外に出せばいい気がするけどそれじゃダメなの?
0985nobodyさん
2011/02/13(日) 18:50:16ID:???推奨されないってのを見て今まで使ったことなかったから一瞬perlのスレ見てたのかと勘違いした
0986nobodyさん
2011/02/13(日) 21:11:41ID:???$res[0]['User']['username']には「9」が入っており、
下記を実行したところboardsテーブルにレコードが出来るのに
なぜかuser_idには「0」が入ってしまいます
$this->data['Board']['user_id'] = $res[0]['User']['username'];
$this->Board->save($this->data);
if($this->Board->validates()){
$this->redirect('.');
}
0987nobodyさん
2011/02/13(日) 21:16:17ID:???kcaptchaの導入方法を懇切丁寧に教えてください。
コンポネントの作り方さえ、ままならないので手取り足取りでお願いします
0988akiyan
2011/02/13(日) 22:55:32ID:???0989nobodyさん
2011/02/13(日) 23:02:37ID:???zfがpythonならcakephpはperlみたいな
0990nobodyさん
2011/02/13(日) 23:42:01ID:???messagesというテーブルとモデルがあって
フィールドは
id
user_id(送信元のユーザーID)
title
body
idto(送信先のユーザーID)
があります。user_idだけでなく
idtoもusersという会員データのテーブルを参照します。
アソシエーション利用時の命名規則として
どういった名前にするのが、それぞれ適切でしょうか?
また
http://hoge.com/cake/users/mailsend/1536
というusers_controller.php のmailsendというアクションからメール入力フォームにデータを渡す時、
上のuser_idとidtoは、どのようにしてviewへ渡せばいいでしょうか?ちなみに ID:1536が送信先になります。
Authでログインしているものとして、教えていただければ幸いです。
0991nobodyさん
2011/02/14(月) 00:05:47ID:???UserMessage じゃないかな。
一旦、findでUserデータを取得してそのIDが正しいか検査し、
問題なければ、setで渡せばいいんじゃないかな。
0992nobodyさん
2011/02/14(月) 00:46:01ID:???http://book.cakephp.org/ja/view/1046/Multiple-relations-to-the-same-model
以前は日本語訳があった気がするけど、なぜか英語になってた。
0993nobodyさん
2011/02/14(月) 00:52:23ID:???レスありがとうございます。
UserMessageへテーブル名を変更ということですか?user_idとidtoの二つのフィールド名は変更なしということでしょうか?
それとコントローラーからビューへのデータの受け渡しの件で、
user_idについてはビューで$dataで取り出せますが、
idtoにあたる1536(urlのパラメータ部分)を
取り出す方法ってありますか?
メッセージ送信時に渡すので、このidtoやuser_idはおそらくhiddenにするのでしょうか?(メール入力フォームではタイトルと本文だけ入力するものとして)
idtoの部分をphpの$_GET()を使わないで、cakephp独自の方法がありますでしょうか?
0995nobodyさん
2011/02/14(月) 00:59:42ID:???0996nobodyさん
2011/02/14(月) 01:37:32ID:???0997nobodyさん
2011/02/14(月) 01:43:36ID:???0998nobodyさん
2011/02/14(月) 02:07:22ID:???試す前にどう書けば良いのか分からないって話もあるみたいだが?
0999nobodyさん
2011/02/14(月) 02:18:17ID:???1000nobodyさん
2011/02/14(月) 02:30:16ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。