[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 07/21 16:39 / Filesize : 152 KB / Number-of Response : 662
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 5ホール目【v1.2】



1 名前:nobodyさん [2008/12/19(金) 15:52:19 ID:ylogT+7c]
■本家
www.cakephp.org/
APIドキュメント
api.cakephp.org/
cookbook(マニュアル)
book.cakephp.org/ja
the Bakery
bakery.cakephp.org/

■日本語フォーラム
cakephp.jp/


■過去スレ
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
pc11.2ch.net/test/read.cgi/php/1163850802/


612 名前:nobodyさん mailto:sage [2009/02/06(金) 16:32:25 ID:???]
さすがにXSSについては、Helper使わない限りは、自分でh()に通すしかないわな

613 名前:nobodyさん mailto:sage [2009/02/06(金) 16:44:06 ID:???]
Ajaxしてると見落とすこともあるかも。

614 名前:nobodyさん [2009/02/06(金) 22:15:58 ID:OIEK7Rhk]
これってDBにロックかけることってできないの?
BEGINでトランザクション開始
SELECT FOR UPDATEで更新用データ取得と同時にロック
UPDATEでデータ更新
COMMITでトランザクション終了

みたいな感じにしたいんだけど、SELECT FOR UPDATEって
どうやって設定してやったらいいんだ?

615 名前:nobodyさん [2009/02/07(土) 09:27:29 ID:u7AiZVmn]
webrootの.phpファイルからcakeのコントローラを読んで
表示したいのですが、
includeでコントローラが読めませんでした。

viewにすれば解決するのはわかるのですが、
外部からcakeの結果を受けとることって無理なんですかね?

616 名前:nobodyさん mailto:sage [2009/02/07(土) 10:22:18 ID:???]
>>615
(今考えている解決方法がどうやったらできるかじゃなくて)
具体的に今抱えている問題を書き込んだほうが、解決につながりやすいと思うよ

webrootにphpファイルを置くというのは、方向性が間違っている可能性が高い

617 名前:nobodyさん mailto:sage [2009/02/07(土) 18:26:40 ID:???]
複数のモデルデータを保存したい時ってどうやってる?
条件としてはどちらもバリデーション通ったら保存。

バリデーションチェックとその表示との両立が上手くできない。

618 名前:nobodyさん mailto:sage [2009/02/07(土) 18:37:09 ID:???]
>>617
'validate' => 'first' でsaveAll()

book.cakephp.org/ja/view/75/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B


619 名前:nobodyさん mailto:sage [2009/02/07(土) 19:28:59 ID:???]
>>618
明確な答えをありがとう。
フォームのバリデーションエラー表示も少してこずりましたが試して見ます。
saveAllをネット上の情報で試したんですが、エラー表示がきちんと出なかったんですよね。
フォームヘルパーの指定方法の問題じゃないかと思っていましたが。

taskモデルと、アソシエーションしたTimelineモデル(hasMany)のフォームはこんな感じで書いてます。
echo $form->input('task');
echo $form->input('Timeline.progress');

ちょっと前見たときはsaveAllの説明なかった気がするのは気のせいかな・・。
履歴を見ると気のせいじゃない気もする、今月に入って誰か訳してくれたんだねありがとう訳者さん。

620 名前:nobodyさん [2009/02/07(土) 23:38:50 ID:K4fXwaLQ]
「マニュアル/開発例/ACLを制御するシンプルなアプリケーション」で
User自身が書いたPostのみ編集できて、他人のPostは編集できないようにしたいのですが、
どうしたらいいのかわかりません。><

isAuthorized()とかbeforeFilter()になんかちまちま書くしかないんでしょうか?

例えば、ACL使ってないけど、

function isAuthorized() {
if ($this->Auth->user('username') == 'admin') {
return true;
}

if (!empty($this->params['pass'][0])){ // ユーザー名
if ($this->Auth->user('username') != $this->params['pass'][0]) {
return false;
}
}

return true;
}

こんな感じとか?




621 名前:nobodyさん mailto:sage [2009/02/07(土) 23:48:49 ID:???]
book.cakephp.org/ja/view/171/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1%E3%83%AA%E3%82%B9%E3%83%88

622 名前:nobodyさん [2009/02/08(日) 00:16:52 ID:XBcxfvCP]
TRPGオタしか喜ばなそうな上記説明を熟読すれば、
「マニュアル/開発例/ACL〜」のサンプルで
id:1のUserのみがuser_id:1のPostを編集できるようにできるんですか?

623 名前:nobodyさん mailto:sage [2009/02/08(日) 01:12:57 ID:???]
>>622
「TRPGオタしか喜ばなそうな上記説明を熟読すれば、」ってことは、
ちゃんと読んでないのか。
マニュアルくらい読めよw

それとも読めないくらい馬鹿なの?ww
もしそうだったらごめんねwww


624 名前:nobodyさん mailto:sage [2009/02/08(日) 02:18:10 ID:???]
>>622
マニュアルの更なる理解のために「指輪物語」を読破するんだw

625 名前:nobodyさん mailto:sage [2009/02/08(日) 02:30:48 ID:???]
formヘルパーで、複数のテキスト入力boxを
1行に並べるのって、どうするの?


626 名前:nobodyさん mailto:sage [2009/02/08(日) 04:45:10 ID:???]
>>625
自分でフォームを書く

627 名前:nobodyさん mailto:sage [2009/02/08(日) 04:56:26 ID:???]
>>626
えっ、マジ?

628 名前:nobodyさん [2009/02/08(日) 11:29:47 ID:XBcxfvCP]
いや、読んだ上で言ってるんだが。。。

これだとテーブル単位では大丈夫だけど、レコード単位での権限の設定が
できないんじゃないかと思うんだが、違うのか?

なんか、ここはレベル低いなぁ。

629 名前:nobodyさん mailto:sage [2009/02/08(日) 11:49:57 ID:???]
その処理は、自分で書くんだよ。
自分が投稿したやつだけ編集できるって。
当たり前だろ。

管理者は全員のものを編集できるかもしれないし、
別に編集者という人を作るかもしれない。

誰が何を編集できるかを決めるのはお前。
よってお前がそういうコードを書く。OK?

レベルが低いのはお前。

630 名前:nobodyさん mailto:sage [2009/02/08(日) 12:03:59 ID:???]
>>625
tableタグ使うと$form->text()を1行に並べること出来るよ。
後は、app/webroot/css/cake.generic.cssの内容を自分の好みに編集するだな。
(でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?)



631 名前:nobodyさん mailto:sage [2009/02/08(日) 12:10:49 ID:???]
'div' => 'false' とかで横に並べられた気もするが・・・

> (でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?)
同意。デフォルトのフォントの大きさとかマージンとか
各ブラウザの間での違いを吸収する程度にしておけばいいのに。


632 名前:nobodyさん [2009/02/08(日) 12:17:33 ID:XBcxfvCP]
>>629

> その処理は、自分で書くんだよ。

いや、書かなきゃならないのは、最初からわかってるよ。
でも、どこに書けばいいのかがわからない。

isAuthorized()やbeforeFilter()に書くのか?

633 名前:nobodyさん mailto:sage [2009/02/08(日) 12:21:23 ID:???]
チケットを投げるんだ。

Summary: "cake.generic.css" looks like hentai
Type: RFC

634 名前:nobodyさん mailto:sage [2009/02/08(日) 12:23:13 ID:???]
>>632
ご飯から食べるか味噌汁から食べるか。
好きにしろw

635 名前:nobodyさん mailto:sage [2009/02/08(日) 13:06:23 ID:???]
>>631
<?php
echo $form->text('hoge0', array('div' => 'false'));
echo $form->text('hoge1', array('div' => 'false'));
echo $form->text('hoge2', array('div' => 'false'));
?>
これでは縦に3つ並んでしまったが、こんな書き方ではないのかな??

636 名前:nobodyさん mailto:sage [2009/02/08(日) 13:29:45 ID:???]
>>628
レベルが低いのはお前の頭

637 名前:622 [2009/02/08(日) 13:32:48 ID:ByGZ6/FB]
>>632
教えてやるから土下座して「自分の頭の程度が悪うございました」とPCの前で言え

単にACOにmodel,foreign_keyを目的のレコードのものに設定して登録して、
AROとACOの関係を定義するだけ
ACO登録位置は種類考えて適宜選べ

関係の定義とチェック関数については>>622に書かれてる

638 名前:621 [2009/02/08(日) 13:33:26 ID:ByGZ6/FB]
622じゃなくて621だった

639 名前:nobodyさん mailto:sage [2009/02/08(日) 14:40:18 ID:???]
CakePHPで掲示板作れます?

640 名前:nobodyさん mailto:sage [2009/02/08(日) 14:43:20 ID:???]
>>639
お前は何を言っているんだ?



641 名前:nobodyさん mailto:sage [2009/02/08(日) 14:45:17 ID:???]
>>640
質問しているのです。

642 名前:nobodyさん mailto:sage [2009/02/08(日) 15:03:43 ID:???]
>>641
はいはい、ソーデスネ。
次のネタが思いつかないので、マジレスする。
作れます。
以上。



643 名前:nobodyさん mailto:sage [2009/02/08(日) 15:04:30 ID:???]
>>639
ベタのPHPで作るより、短時間で、高機能(Ajaxなど)な掲示板が作れますよ。
がんばってください。

644 名前:nobodyさん mailto:sage [2009/02/08(日) 16:07:39 ID:???]
>>642-643
がんばります!

645 名前:nobodyさん mailto:sage [2009/02/08(日) 16:20:11 ID:???]
自分の頭の程度が悪うございました

646 名前:nobodyさん [2009/02/08(日) 16:26:13 ID:SHT1by4H]
バリデーションで、一つのフィールドに対して、
複数のルールを設定していた場合に、
一つのエラーが検知した場合以降の
バリデーションはおこわないことは、出来ますか?

例えば、期間の入力があった場合、入力値が正しく
なかった場合、その後の妥当な期間であるかどうかの
チェックはいらないのですが。

647 名前:nobodyさん mailto:sage [2009/02/08(日) 16:41:27 ID:???]
>>644
これから始めるなら、この本お勧め。
「CakePHP徹底入門」 CakePHP1.2で説明してあるから、とても楽に入門できた。
ttp://www.amazon.co.jp/CakePHP徹底入門-イージーゲート/dp/479811717X
↓このページも入門者にお勧めかな。
ttp://kuri6005.sakura.ne.jp/cake/wiki/

648 名前:nobodyさん mailto:sage [2009/02/08(日) 16:53:37 ID:???]
>>646
book.cakephp.org/ja/view/133/
'last' => true

649 名前:nobodyさん mailto:sage [2009/02/08(日) 17:20:04 ID:???]
>>648
ありがとうございます。
すみません。
しっかりと説明されていますね。
もっとちゃんと読まないといけませんね。

650 名前:nobodyさん [2009/02/08(日) 17:46:55 ID:srWubjja]
携帯対応ページを作ろうと思って、/m/でリクエストされたら携帯ページを表示ってやろうとしていて
表示はうまくできたんですけど、PC用ページのフォームで、
$form->create('post', array('action' => 'view'));
ってやったときに、$this->dataにデータが入っているときは、
action="/post/view/1"とかになるんだけど、データが入ってないと
action="/m/post/view"って/m/が先頭につけられてしまいます。
プログラム中で/m/をつけてるのはroutes.phpで
Router::connect('/m/:controller/:action/*", array('prefix' => 'mobile'));
としているとこだけなんだけど、$form->createってここを見てURLを
自動生成してるんでしょうか?
だとしたらどうやったらうまく解決できるんでしょうか?



651 名前:nobodyさん [2009/02/08(日) 18:01:22 ID:srWubjja]
すんません、Router::Connectをコメントにしたらちゃんとうごきました。
ということは$form->createではこれをみてURLを生成してるんですね。
携帯、PCの両用サイト作ってる人はどうやって解決してるんでしょうか?

652 名前:nobodyさん mailto:sage [2009/02/08(日) 21:16:52 ID:???]
>>647
ご丁寧にありがとうございます。
明日の夜にでも本屋に行ってこようと思います!

653 名前:nobodyさん mailto:sage [2009/02/08(日) 21:59:25 ID:???]
cakephp.jp/

654 名前:nobodyさん mailto:sage [2009/02/08(日) 22:39:55 ID:???]
>>635
うちもそれ試した。3行になっちゃった。
やっぱ、>626の言う通り、自分で
フォームを書かないといけないのか・・・マンドクセ

生年月日を入力させるのに、セレクトメニューでは
不便なので、直接「年」「月」「日」の数字を
入力させたいのね。
何か、簡単な方法ある?

できれば、年号(MTSH)が付いてると西暦に直して
欲しいんだけど・・・(そこまで求めるのは無理か。)


655 名前:nobodyさん mailto:sage [2009/02/08(日) 22:49:40 ID:???]
素のhtmlのタグを、cake流に変換するようなフィルタとかあればいいなー

656 名前:nobodyさん mailto:sage [2009/02/08(日) 23:14:43 ID:???]
>>654
'div' => false にして、出てくるフォームが改行されるのは、FormHelperの問題と違う。
CSSでそう指定してあるから改行される。

input {
clear: both;
}

みたいな感じで。

いっぺん、読み込んでるCSSファイルを移動するなりして、読み込めないようにしてみろ。


657 名前:nobodyさん mailto:sage [2009/02/09(月) 00:07:57 ID:???]
>>656
CakePHP1.2の変態cssをとっぱらったら、'div' => 'false'を付けなくてもtextBoxが1行に
ちゃんと3つ並ぶ。質問者はCakePHP1.2の変態cssを突破してtextBoxを1行に並べる方法を
質問しているのだと思う。
<?php
echo $form->text('hoge0');
echo $form->text('hoge1');
echo $form->text('hoge2');
?>
<br>
<br>
<?php
echo $form->text('hoge0', array('div' => 'false'));
echo $form->text('hoge1', array('div' => 'false'));
echo $form->text('hoge2', array('div' => 'false'));
?>

>>654
自分でフォームを直接書いたとしても、CakePHP1.2の変態cssの壁に阻まれると思う。
敵はCakePHP1.2の変態cssだと思う。変態cssを攻略するのが近道。

tableタグを使うと変態cssの中でもtextBoxを1行で表示できる。が詳細なレイアウトを
調整しようとすると変態cssと戦わざるを得ない。
<table>
<tr>
<td><?php echo $form->text('hoge0'); ?></td>
<td><?php echo $form->text('hoge1'); ?></td>
<td><?php echo $form->text('hoge2'); ?></td>
</tr>
</table>

658 名前:nobodyさん mailto:sage [2009/02/09(月) 00:13:00 ID:???]
何で変態CSSのために
無駄な労力使ってるんだw

659 名前:nobodyさん mailto:sage [2009/02/09(月) 00:18:41 ID:???]
>>658
暇で他にやる事もないので、チョットやってみただけ。

660 名前:nobodyさん mailto:sage [2009/02/09(月) 01:19:15 ID:???]
てことはCSSを、YUIとかのリセットに変えればいいだけか



661 名前:nobodyさん mailto:sage [2009/02/09(月) 02:53:29 ID:???]
>>659
じゃあ僕のサイト作るの手伝ってくれません?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<152KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef