【PHP】フレームワーク CakePHP 13ホール目【v2.0】at PHP
【PHP】フレームワーク CakePHP 13ホール目【v2.0】 - 暇つぶし2ch927:nobodyさん
12/04/14 13:43:48.92
Error: SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Testxxx' at line 1


928:nobodyさん
12/04/14 13:50:12.49
エラーメッセージを繰り返したら誰かが答えるとでも?

929:nobodyさん
12/04/14 14:11:27.02
>>926>>927 は別人だろうが。
>>928お前はミサイルで頭を破壊した方がいいよ。どうせまともなルックスしていない下種野郎だろうしな。

930:nobodyさん
12/04/14 15:09:22.75
で?それが質問者の態度?

931:nobodyさん
12/04/14 18:06:38.12
cakePHP で特定のコントローラ

例)
denyController.php


へのアクセスを禁止するには一般的にどうしますか?

.htaccess or cakePHPでなにがしかの設定が可能?



932:nobodyさん
12/04/14 18:42:11.68
cakePHPでdeleteAllに削除条件を指定しても無効なのでしょうか?
下記コードを実行すると、全レコードが削除されてしまいます><;

$deleteCondition = array("hoge_id" => 3333);
$this->Hoge->deleteAll( $deleteCondition );

933:nobodyさん
12/04/14 18:52:06.84
>>932
条件の与え方はfindと同じだよ。
その条件でfindしたら検索されるの?


934:nobodyさん
12/04/14 19:34:52.76 V2giXwsG
>>931
俺ならコントローラー全てのアクションにprefixつけてprefixルーティング&アクセス制御って感じかな

935:nobodyさん
12/04/14 19:38:18.38
>>933
自己解決しました。

英語のドキュメントを見たところ
cake2.1.1 になってから呼出し方が微妙に変わっていました。

936:nobodyさん
12/04/14 19:55:02.70
>>935
一応、どう変わったのか書いてほしいな

937:nobodyさん
12/04/14 20:25:02.13
>>936
実際には delete は変わってませんでした。

findについては、

findAll → find('all')

といった感じです。
しかし、なぜ同じコードで>>932が今度は正常に削除出来たか不明。

938:nobodyさん
12/04/14 20:33:32.07
controllersの下にサブフォルダを作ってコントローラーを置くと認識されますが、view以下で同じことをやるとエラーになります。
viewsのパスを任意に追加するにはどうすればいいのでしょうか?
ソース見たらApp::path('views')でパスは取れるみたいだけど追加の関数がない。

939:nobodyさん
12/04/15 02:11:36.29
なれると cakePHP むっちゃ便利やんかぁ。

940:nobodyさん
12/04/15 08:46:03.26
cakePHP と Pear って一緒に使える?

941:nobodyさん
12/04/15 19:57:59.30
はい

942:nobodyさん
12/04/15 20:19:36.67
cakePHP で 
URLリンク(hogehoge.com?age=17)<)


として処理を行うにはどうしたら良いでしょうか?


943:nobodyさん
12/04/15 20:27:24.52
>>942
ブログチュートリアルでもやればやり方わかるだろう

944:nobodyさん
12/04/16 13:39:36.79
cakePHP(2.1.1) で AController / Hoge() 内の処理で 


AController / Hage()

BController / Chabin()

を呼び出すにはどうすれば良いでしょうか?

945:nobodyさん
12/04/16 13:50:55.75
>>944
異なるコントローラ間で同じ処理をやらせないなら、コンポーネントを使うといい。

946:nobodyさん
12/04/16 14:00:58.75
>>945
ありがとうございます。
どうしても重複処理があり使いまわしたと思ってました。

947:nobodyさん
12/04/16 19:03:36.34
cake2.1.1(サクラ) でcronでcakePHPを実行させる為に、まずコマンドラインから
正常にキック出来る事の確認をしているのですがうまくいきません。

1.x系と2.xとでは記述方法が異なっている事を考慮に入れ
下記コードを記述しているのですがなぜかシェルクラスが認識されないです。

【作成したシェルクラス】
Console/Command/TestHelloShell.php
<?php
class TestHelloShell extends AppShell
{
public function main()
{
$this->log('[Shell]main() が実行されました。', LOG_DEBUG);
}
}
?>

【コマンドライン】
%/usr/local/bin/php /home/{my_account}/cake/lib/Cake/Console/cake.php test_hello -app /home/{my_account}/www/{my_directory}/app
Error: Shell class TestHelloShell could not be found.
#0 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(167): ShellDispatcher->_getShell('test_hello')
#1 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(69): ShellDispatcher->dispatch()
#2 /home/{my_account}/cake/lib/Cake/Console/cake.php(41): ShellDispatcher::run(Array)
#3 {main}


948:nobodyさん
12/04/16 23:25:38.33
>>947
ドキュメントをよめ

949:nobodyさん
12/04/19 01:38:53.63
cakePHP ってなんでこんなに便利なんだ。楽しすぎる

950:nobodyさん
12/04/19 16:26:48.17 GZ2gdGu2
ログイン認証とかの制御をいれたいんですけど
お勧めの方法はありますか?


951:nobodyさん
12/04/19 17:13:57.30
Auth使えば

952:nobodyさん
12/04/19 17:14:15.72
Authコンポーネント

953:nobodyさん
12/04/19 17:29:14.82
良く使用する変数(サイトのURLなど)をDBで管理して
設定ファイルに出力したいのですが、良い方法は無いでしょうか?

考えたのは、モデルキャッシュして設定ファイルが必要な時に
そのキャッシュを読み込むパターンです。


954:nobodyさん
12/04/19 19:06:23.24
>>953
bootstrap.phpでDBから設定データを読み込んでConfigure::Storeでキャッシュ。
…でもいいんだけど、
Cake2からは ConfigReaderInterfaceっつうのがついたからね。
Readerを書けばモデルから直接Configureに読み込むができるようになった。
Configureファイルに書いた時と同じようにConfigure::read()でどこでも読めるから便利よ

955:nobodyさん
12/04/19 21:31:47.54
あと、Sanitize::escape() でサニタイズしたデータを復元するときって
みなさんどんな感じでやってますか?

956:nobodyさん
12/04/19 22:16:25.42
サニタイズいうな

957:nobodyさん
12/04/19 22:18:18.29
サニタイズ時々

958:nobodyさん
12/04/20 00:36:04.30
>>956
本当はなんていうの?
マジレス希望。

959:nobodyさん
12/04/20 00:54:10.36
サニタイズが正しいよ

verbだからな。


>>958

つまり >>956 は英語が出来ないばか

960:nobodyさん
12/04/20 01:41:15.34
>>951 >>952
ありがとう

961:nobodyさん
12/04/20 04:26:48.64
サニタイズ言うなを知らない方が馬鹿

962:nobodyさん
12/04/20 11:16:59.61
英語の出来ない >>961はもっとバカ

963:nobodyさん
12/04/20 12:22:03.72 PezrE8Wt
うんごぶりぶりんこ!!!!ドビュビュビュビュドバババババブッ!!!
ドリュルリュルウリュリィブブブブブブッッ!!!!あへあへうんこまん!!!ぶりっちょ!!!
ケツの穴からドババババババババッバwwwwwwwwwwwwWWWW
wwwwwwwwwwww
WWWwwwwwwwwwww??? ? ? ? ? ? ? ????? ????????wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
なお、まにあわんもよう

964:nobodyさん
12/04/20 12:25:44.92
↑サニタイズよろしく

965:nobodyさん
12/04/20 12:32:52.78
アホが露呈して ファビョル >>963
 低能乙w

いまどき英語なんて小学生でもペラペラなのにwww

966:nobodyさん
12/04/20 13:43:18.88
>>954
1.3系使ってるので、Configure::storeを使うパターンで行きます。
これってfindした配列を保存して、loadで読み込んでreadで参照
出来るから便利ですよね。参考になりました。ありがとうございます。

967:nobodyさん
12/04/20 23:58:00.96
俺がバカなら、お前もバカぁ~
バカを承知でなぜ惚れた~

968:nobodyさん
12/04/21 11:00:21.04
cakeでは当たり前だと思うのですが、
URLリンク(example.com)とかURLリンク(example.com)
というようにアクション名だけ指定したい場合、
ルーティングでアクション名を追加する必要がありますよね?

URLリンク(example.com)のコントローラがhomeであり、
/views/home/内にアクション用のファイルがあれば
routes.phpに記載しなくてもアクション名だけで
アクセスできないかと思い、質問しました。


969:nobodyさん
12/04/21 14:00:03.01
>>968
一行書くことになるけど
Router::connect('/:action', array('controller' => 'home'));
とかでいけるんじゃない


970:nobodyさん
12/04/21 14:43:21.86
>>969
この方法だと、コントローラにアクションを追加しないとアクセスできません。
pagesを使うように、アクション名を書かずにビューファイルを追加するだけで
アクセスできるようにしたいのですが・・・

971:nobodyさん
12/04/21 17:21:29.95
リモートデバッグについて質問なんですけど

Eclipseでレンタルサーバ上に展開したPHPファイルを
ローカルのEclipseにてデバッグ実行って出来ますか?
※ブレークポイントが正常に止まるか。

972:nobodyさん
12/04/21 22:21:07.57
>>970
アクション追加せずにビューだけ表示したいのならpagesでいいんじゃないの?
アクションが無いのだから特定のコントローラーを介する理由も無いし
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));


973:nobodyさん
12/04/22 10:29:18.10 L2FF/0Tg
>>971
リモートデバッグは、サーバー側のデバッグ用ポートにコネクトしてする感じ
そのレンタルサーバとやらに聞いてみて、デバッグ用ポートが開いていないのなら無理

まぁ、普通のレンタルサーバでデバッグポート開いている事はたぶん無いんじゃないかな

974:nobodyさん
12/04/22 11:01:45.48
>>973
ありがとうございます。
鯖屋に確認してみます。

ローカル環境に開発環境を作ると重たいので
全てレンタルサーバ上でやりたいなぁー、なんて考えてました。

975:nobodyさん
12/04/22 11:32:49.43 L2FF/0Tg
>>ローカル環境に開発環境を作ると重たいので
重いのはたぶんEclipseだよ
他のエディタとか使う事あるのなら、XAMPP+エディタで試してみるといい
ただ、GUIのデバッグ環境は無いと思うが。

976:nobodyさん
12/04/22 15:41:01.67
debugレベルを 0 にしても
適当なURLを入力すると次の様にサイトがcakePHPを使用している事がわかる様な
エラーメッセージが出てしまいます。

これを消す方法とかってありますか?

CakePHP: the rapid development php framework


977:nobodyさん
12/04/22 15:57:27.32
バカはしね

978:nobodyさん
12/04/22 18:19:37.02
>>976
default.ctpとかテンプレートのどっかに書かれてるんだろ
どこから出力されてるか突き止めてそれを消せ

979:nobodyさん
12/04/22 19:19:39.84
今どきデバッガの力を借りないとデバッグできないなんて

980:nobodyさん
12/04/22 19:53:54.59
デバッガすら使えない誰かさん >>979w

981:nobodyさん
12/04/22 20:33:38.25
HTMLでいうと

<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>

みたいな出力にしたい時、フォームヘルパーを使って出来ますか?

982:nobodyさん
12/04/23 16:08:34.29 3JcMmxsm
cakePHPでブラウザからアクセスがあった場合に
次の様に解釈させ、処理を実現をしたいのですがどうすれば良いでしょうか?

@アクセスされる際のURL
URLリンク(unnko.com)

@Controllerに定義した内容
class PrinController extends AppController
{
 function food($menu,$id)
 {
echo $menu."<br>"; // ← rice を表示したい。
echo $id."<br>; // ← 333 を表示したい。
 }
}


983:nobodyさん
12/04/23 16:13:23.70
バカはしね

984:nobodyさん
12/04/23 17:14:29.71
いつものウンコ野郎はスルー
頭の中にウンコがぎっしり詰まってるんだろ

985:nobodyさん
12/04/23 20:52:22.44
Lithium安定版でねーなぁ

986:nobodyさん
12/04/23 22:52:36.10
>>982
それで実現できてないか?

987:nobodyさん
12/04/24 11:09:19.41
>>981
<li>$this->Form->checkbox('post.xxx');</li>

988:nobodyさん
12/04/24 11:12:03.63
モデルでクッキーを読みに行きたい場合、皆どうしてる?

DB登録時に、クッキーからログインユーザーの情報吸い上げて登録しにいくフローって多くない?
モデル内でApp::usesでクッキーコンポーネント呼ぶのは邪道?

989:nobodyさん
12/04/24 11:24:40.31
モデルでくっきーを読もうってのがそもそも設計としてゴキブリレベル

990:nobodyさん
12/04/24 11:28:43.67
いや蛆虫だろう

991:nobodyさん
12/04/24 11:58:40.78
ああ、そうやっぱモデルでクッキー読むのは邪道なのね。サンクス

992:nobodyさん
12/04/24 11:59:56.14
>>982
View フォルダの下にPrinフォルダつくってfood.ctp作ったか?

993:nobodyさん
12/04/24 12:59:47.43
>>992
Thank you!


994:981
12/04/24 14:05:37.49
↓こんな感じでやってみたのですが、エラー時など同じビューを表示した時、
チェックした項目がチェックされていません。どうすればいいのでしょうか?

<li><?php echo $form->checkbox('Post.xxx', array('value' => 1)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 2)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 3)); ?></li>

995:nobodyさん
12/04/24 15:11:46.26
2.0のAuthがsessionKeyをself::$sessionKeyとしてるもんだから
コントローラーからモデル名に変えようにも
$this->Auth->sessionKey = 'Auth.Hoge';
じゃだめで
AuthComponent::$sessionKey = 'Auth.Hoge';
って市内とダメなんだけどそもそもいじっちゃマズイのかな?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch