トップページ⇒php
1002コメント356KB

【PHP】フレームワーク CakePHP 17ホール目【v3α】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2014/08/02(土) 21:57:41.01ID:LI0DdohH
CakePHPは、Ruby on Railsの概念の多くを取り入れた、高速開発とPHPの機動性を兼ね備えたフレームワーク
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
cookbook(マニュアル)
[3.x] http://book.cakephp.org/3.0/
[2.x] http://book.cakephp.org/2.0/ja/
[1.3] http://book.cakephp.org/1.3/ja/
Twitter
https://twitter.com/cakephp
Facebook
https://www.facebook.com/CakePHP

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/


※前スレ
http://kanae.2ch.net/test/read.cgi/php/1393661004/
0607nobodyさん2015/08/27(木) 00:29:15.45ID:???
>>603
リンクしない仕様なんだよ。
パラメータには問題ないね。prevPage が true になっていると推測していたんだけど。
俺には分からないや。わざわざ張ってもらったのにごめんね。
0608nobodyさん2015/08/27(木) 00:35:46.77ID:???
>>607
いやいや、反応くれてありがとうでした。
なんかおかしいのかな?CakeのPaginatorHelperのソースちょっと見てみますわ。
0609nobodyさん2015/08/27(木) 01:39:43.38ID:???
>>606
>つーことは、共有鯖では無理だね。基本的に。
応用として .htaccess + mod_rewrite で可能では?

>今まで1人で制作してきたの?
>デザイナーとプログラマーが分かれている場合や
>管理画面(公開画面)だけ操作させたい、ってのもあると思うが。
まさか。そもそもチーム開発と prefix がどう関係するのかと。
それとも一般画面プロジェクトと管理画面プロジェクトを別の会社で受注でもするのかい?

>http://example.com/admin/をhttp://admin.example.com/
>にルーティングで変えられるの?そうであれば自分の無知を認める。
可能。実際に、今運用しているサイトは無数のサブドメインを使っている。

>単純に1ファイルのコードが増えて(長くなって)視認性が悪くなると思うんだけど。
そもそもコントローラに長い処理は書かない。

>じゃ、君が考えるデメリット教えてよ。
・さっきも書いたけれど、正直 cake test app を正常に実行できるのか疑問。
それぞれの app で実行している場合、コードカバレージが正確にならない。

・一般側に /default/Model/Article.php 、管理側に /admin/Model/Article.php を作成した場合の挙動が不明
優先的に読まれるのか、作成してはいけないのか。
せっかく Cake を使っているのに基本的なふるまいが独自フレームワーク化している。

・分けてしまったために困っている人が実際にスレにいる
>>596 に答えてやったらどう?
俺は分けたことないからワークアラウンドが分からん。
0610nobodyさん2015/08/27(木) 03:13:04.96ID:???
>>609
>応用として .htaccess + mod_rewrite で可能では?
無理だと思うよ。mod_rewritreでどうやってアクセス制限?

>まさか。そもそもチーム開発と prefix がどう関係するのかと。
チーム開発なんだから役割分担、作業分担してるでしょ?
デザイナーには出来るだけプログラムコードを触らせないし、
ディレクターやリーダー以外は重要ファイルにアクセス出来ないようにする。
でも、prefix式だと1つのファイルに記述するから無理だよね?

>可能。実際に、今運用しているサイトは無数のサブドメインを使っている。
じゃ、書き方教えてよ。いくつでも使ってるんでしょ?

>・さっきも書いたけれど、正直 cake test app を正常に実行できるのか疑問。
appを指定できるのに出来ない意味が分からん。

>・一般側に /default/Model/Article.php 、
>管理側に /admin/Model/Article.php を作成した場合の挙動が不明
>優先的に読まれるのか、作成してはいけないのか。
疑問形ってことは試してないのか。それもbootstrap.phpで順序決められるよ。
それに、2つ用意することでdefaultとadminのアソシエーションやバリデーションを
変更できるから、画面用途に合った処理が行えると思うんだけど。
もちろん、1つだけでもいいわけだし。

>・分けてしまったために困っている人が実際にスレにいる
うん?この人困ったから質問してるのか?「分けたいから方法を知りたい」に見えるが。

他人が困ったじゃなくて、実際に自分がやって困ったなら批判してよ。
俺は実際にprefix使ってて>>604みたいな疑問が出たし、
他にもAuthを複数使いたい場合、(管理画面のログイン、公開画面のログインなど)とか
管理/公開を条件分岐するために、その都度、IF文が発生するとか、
利用してみて感じる問題点を話しているのに。
0611nobodyさん2015/08/27(木) 09:38:54.76ID:wzS4bZ57
↓みたいなことをしたいのですが、どうやったらよいでしょうか?

DBから取得したModelデータの配列($students)を
foreach ($students as $student) {
<input type="checkbox" value="$student->id"・・・・/>$student->name //<= 実際はFormHelperを使う。
}
みたいにチェックボックスのリストとして表示して、チェックされたstudentのidを
Controllerで受け取りたい。

で、再びViewに同じチェックボックスのリストを表示して、今度は
前画面でチェックされたstudentはチェックされた状態で表示したい。
ただし、表示するstudentsをDBから再取得することはできない。
0612nobodyさん2015/08/27(木) 11:31:18.92ID:???
>>610
>無理だと思うよ。mod_rewritreでどうやってアクセス制限?
RewriteCond で HTTP_HOST と REMOTE_ADDR を見て 403 に飛ばせば?

>ディレクターやリーダー以外は重要ファイルにアクセス出来ないようにする。
そうするのが妥当で一般的だとは思わない。
管理側のプログラムを閲覧できない場合、一般側のメンバーは自分が行った変更が管理側に与える影響を知ることができない。

>じゃ、書き方教えてよ。いくつでも使ってるんでしょ?
ホスト名で読み込む routes.php を切り替えるだけでは?
君の構成では一般/管理でそれぞれ routes.php を持っているのだろうから、その時のワークアラウンドは君の方が詳しいのでは?
俺はカスタムルーティングを使っているが。

>appを指定できるのに出来ない意味が分からん。
個別にコードカバレッジを出力していたのでは、空白だらけにならないかい?

>それに、2つ用意することでdefaultとadminのアソシエーションやバリデーションを
>変更できるから、画面用途に合った処理が行えると思うんだけど。
同一のテーブルを参照するモデルが複数存在する構成を素晴らしいとは思わない。
そもそも、アソシエーションとバリデーションは動的に変更可能。

>うん?この人困ったから質問してるのか?「分けたいから方法を知りたい」に見えるが。
>>593 で「分けているのですが」と言っているよ。

>他人が困ったじゃなくて、実際に自分がやって困ったなら批判してよ。
公式ドキュメントに管理画面を作る時にそうしろと書いてあるなら試すだけの価値はある。

>他にもAuthを複数使いたい場合、(管理画面のログイン、公開画面のログインなど)とか
AuthComponent::$sessionKey を切り替えればいい。

>管理/公開を条件分岐するために、その都度、IF文が発生するとか、
通常は index() が index.ctp を、admin_index() が admin_index.ctp をレンダリングするのでは?
0613nobodyさん2015/08/27(木) 11:42:59.94ID:???
>>611
'multiple' => 'checkbox' かな?
belongsToMany('Students') なら

$this->Form->input('students._ids', ['multiple'=>'checkbox', 'options' => $students]);
0614nobodyさん2015/08/27(木) 14:41:18.57ID:???
>>612
>管理側のプログラムを閲覧できない場合、
>一般側のメンバーは自分が行った変更が管理側に与える影響を知ることができない。
知る必要なくね?管理者が分かれば。
君の意見が正しいとするなら、既存のグループ/権限設定もおかしいって事になるよ?
そもそも俺の意見は「余計な操作をさせない・ミスに繋がらないようにする」
だから、根本的な価値観が君とは違うね。

>個別にコードカバレッジを出力していたのでは、空白だらけにならないかい?
いくら説明しても納得しないだろうから、以下のURLを提示する。よく読みましょう。
http://book.cakephp.org/2.0/ja/development/testing.html

>同一のテーブルを参照するモデルが複数存在する構成を素晴らしいとは思わない。
素晴らしい・素晴らしくないの問題じゃない。そんなの個人の感情だろ。
それ言うなら「動的に変更させるための処理を書く」という事が、
俺の価値観では素晴らしくないわ。IFや条件分岐だらけになってな。

> >>593 で「分けているのですが」と言っているよ。
うん。だから「そうしている〜から教えて」になるのでは?
そもそも分けなければ同じapp上でrenderにて別ファイルを読み込めるんだから、
質問する意味が無い。分けること前提での質問だろ。

>公式ドキュメントに管理画面を作る時にそうしろと書いてあるなら試すだけの価値はある。
以下のURL見ても納得しないんだろうな〜
http://book.cakephp.org/2.0/ja/installation/advanced-installation.html

>通常は index() が index.ctp を、admin_index() が admin_index.ctp をレンダリングするのでは?
誰もアクションを言ってるんじゃないよ。
「AuthComponent::$sessionKey を切り替えればいい。」って言ってるけど、
これを切り替えるにはどうやるの?IF使ってprefixの有無を調べるんじゃないの?
0615nobodyさん2015/08/27(木) 21:17:15.92ID:???
そんなにapp分けていたいなら勝手にわけてればいいじゃん
なんでこんな必死なのこの人
0616nobodyさん2015/08/27(木) 21:33:44.04ID:???
>>615
批判するのよくないよ。
俺もappわけないけど勉強になる。
0617nobodyさん2015/08/27(木) 22:06:28.85ID:???
>>615
必死も何も「どうして使わないの?」って質問に、批判しか返してこないじゃん。
結局そういう精神論で決めつけて「勝手にしろ!」で終わらせる。議論になりゃしない。
0618nobodyさん2015/08/27(木) 22:56:05.23ID:???
まぁ、最終的には好き好きだよね。
どっちがいいかなんてわからんがお二人とも正しい。

ここは仲直りしようぜ。
俺の顔に免じて。
0619nobodyさん2015/08/28(金) 09:09:31.70ID:???
>>617 は >>614 かな?
そうだとしたら勘違いしているかもしれんが >>615 は俺(>>612とか)ではないよ。
それは >>615 と俺しかわからないことだけれど。俺も勘違いしているのかもしれんが。

ただ、議論やめようと思ってた部分は間違っていないから、一応、謝罪しとく。
正直、そろそろ他の閲覧者に迷惑かと思ったのもあるし、ここは >>618 の仲裁で手打ちということでどうだい?
それと俺は批判したつもりはないんだけれど、そう受け取れる箇所があったならごめんね。

もっとも >>616 のように参考になるという意見もあるから、続ける分にはやぶさかではないよ。
でも、議論を続ける気なら、リンクだけ張ってその文書中のどこが自分の意見なのかを示さないというのはフェアじゃない。
俺にはそのどこに反論すればいいのか分からないからね。そして君にはそれが分かる。どう考えてもフェアじゃないでしょう?
0620nobodyさん2015/08/28(金) 10:08:30.38ID:???
>>619
フェアじゃないのはお互い様じゃないか?
618のレスもそうだが、自分の有利なレスにしか反応しない。
一方的に手打ちにしようと言っておきながら、後者では批判する。
するとまた言い合いになる。そんなの目に見えてるわな。
06216202015/08/28(金) 10:11:14.62ID:???
間違えた。「618のレスもそうだが」は「619のレスもそうだが」だった。

とにかく「俺はこうだけど、お前はこうだからもう止めよう」
って一方的な遮断をするのは、相手の反論を一切受け付けず
自分の思うように相手を従わせたいという思惑が見えて卑怯だよ。
0622nobodyさん2015/08/29(土) 01:22:41.97ID:???
>>620-621
それなら、もう少しだけ続けてみようか。

俺としては >>617 までは一応、全部に反論してきたつもりだったので、
君がアンフェアに感じた部分がどこだったのか分かっていない。
議論し足りなかった議題を一つ挙げてほしい。
選択は任せるので、それを最後の議論にするというのでどうだい?
0623nobodyさん2015/08/29(土) 01:23:50.95ID:???
失礼 >>614 まではね。
0624nobodyさん2015/08/29(土) 02:07:18.84ID:???
いい加減つまんね
0625nobodyさん2015/08/29(土) 02:13:10.69ID:???
2.6.7を使用しています。
下記の3つのテーブルがあります。
○small
id,name,middle_id
○middle
id,name,large_id
○large
id,name

それぞれの関係は下記の通りです。
small→(belongTo)→middle→(belongTo)→large

コントローラからfind('list')で
small.idとconcat(large.name,middle.name,small.name)
の値を取得したいのですが、うまくできません。

どなたか、おしえていただけませんか!
0626nobodyさん2015/08/29(土) 11:11:58.93ID:???
>>625
結論から言うと無理だよ。concatで孫モデルまでまとめることは出来ない。
どうしてもそうしたいならjoinを使いましょう。
0627nobodyさん2015/08/30(日) 01:21:50.17ID:???
>>626
ありがとうございます!
解決出来ました!
0628nobodyさん2015/09/04(金) 19:49:50.36ID:???
【 オンラインTCGエディター 】 >>1

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、バディ、フォースofウィル、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ディメンション・ゼロ、ライブオン、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみて。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど発売済みゲームソフトが存在してるケースはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を5万円以上で発売 + デュエリーグ用に改造した上位版でサーバー稼動=営業開始。
↑
下位版の改造および商用利用には、別途で当社との契約が必要。

さ〜て、製作ベンダー見つけよっと!ww(クス
http://wc2014.2ch.net/test/read.cgi/entrance2/1441218863/l50
0629nobodyさん2015/09/04(金) 21:32:24.15ID:???
CakeでMySQLのVIEWみたいな処理って出来ますか?
0630nobodyさん2015/09/05(土) 02:07:55.12ID:???
何を言っているのかよくわからない
modelでDBのviewを参照できるか、という意味?
0631nobodyさん2015/09/05(土) 11:11:05.76ID:???
エスパーするとMySQLでの操作(CREATE VIEW)
をせずにCake側でビューみたいに結合した結果を
見たいってことでは?
0632nobodyさん2015/09/05(土) 11:19:04.03ID:???
画像をDBではなく、webroot以下に保存する画像アップロードプラグインで
おすすめのはありませんか?
サムネイル作成など、機能は多い程ありがたいです
0633nobodyさん2015/09/05(土) 13:29:50.16ID:NBrY/rBT
UQ-WIMAXルータ ATERM WM3500Rを使っていて電源が自動で勝手に落ちてしまう場合の対処方法


http://know-how-tree.com/archives/2327
0634nobodyさん2015/09/05(土) 18:25:19.06ID:???
>>631
それはModel::find()で普通に取得するのと何の違いが?
DB側でview定義しない以上、毎回join条件を付与しなければならないのに
0635nobodyさん2015/09/05(土) 20:17:32.51ID:???
Mysqlのビューってどうなの?
みんな使ってるの?
前使ったことあるけど微妙じゃないあれ。
いまいち使いづらい感じ。
0636nobodyさん2015/09/06(日) 12:32:19.29ID:???
スレ違いだからこれ以上深入りはしないが、ストアドプロシージャとか
ストアドファンクションとかで使う共通部品としてなら便利という認識
0637nobodyさん2015/09/07(月) 13:32:06.16ID:???
>>632
いくつかあるけど、俺は自作をおすすめする。
既存のは小回りが聞きづらいし、自作のプラグイン(とかコンポーネント)でも
そんなに手間はかからないよ。PHPのソースがネット上に多くあるしね。
0638nobodyさん2015/09/07(月) 13:44:12.92ID:???
>>637
あざす、俺もすぐに見つかるものを少し試して、思いの外出来が良くないので自作に傾いてました。
やはりタダでは製品レベルのものはなかなかないですね
0639nobodyさん2015/09/08(火) 14:25:47.61ID:???
>>635
スキル次第。お前のスキルが微妙だから使った印象も微妙
0640nobodyさん2015/09/10(木) 21:22:48.45ID:???
http://book.cakephp.org/2.0/ja/core-utility-libraries/file-folder.html
基本的な使い方
App::uses() を使ってクラスをロードします。
App::uses('Folder', 'Utility');
App::uses('File', 'Utility');

とありますが、これは使う直前に毎回書くのでしょうか?
それとも、ファイルの冒頭などに1回書くだけ?
0641nobodyさん2015/09/10(木) 22:03:35.21ID:???
App::uses()は1回でOK
0642nobodyさん2015/09/11(金) 23:50:23.87ID:???
>>641
ありがとうございます。

別の質問もどなたか…。

Model::saveの返値は何でしょうか?成功失敗のboolでしょうか?
http://book.cakephp.org/2.0/ja/models/saving-your-data.html
何故ドキュメントにそういう基本的な事が載っていないのでしょうか?自分でソース見て調べるのがCake流?
0643nobodyさん2015/09/12(土) 00:17:07.84ID:???
>>642
http://api.cakephp.org/2.7/class-Model.html#_save
気になるところはAPIドキュメントも見ながらがいいよ
0644nobodyさん2015/09/12(土) 02:15:06.39ID:???
>>643
あざす、しかし雑な説明ですよね…
>>643さんではなく公式への不満ですが
結局自分で実際に試してみるしかないな
0645nobodyさん2015/09/12(土) 11:08:33.05ID:???
Cakeの場合は日本語訳が間に合ってないので、ドキュメントは英語版も参照すべし
日本語版に書いてないことが英語版には書いてあることがある
最終的にはソース見たほうが早いことも多々ある
0646nobodyさん2015/09/12(土) 11:58:17.63ID:???
英語版でも情報多くはないよね
Cakeのずっと改善されない点の一つ
0647nobodyさん2015/09/12(土) 12:38:29.14ID:???
普通にソースを見る癖がついたなぁ
0648nobodyさん2015/09/12(土) 13:20:45.15ID:???
>>647
俺も。cakephpのおかげで人のソースをみれるようになったな。
0649nobodyさん2015/09/18(金) 01:50:51.05ID:???
ぼくもー(^o^)
0650nobodyさん2015/09/20(日) 15:15:49.81ID:???
ソース見るのはいいんだけど、なんでもソース見て
理解するのもだめだよな。

理解するのに読まなければならない量が多い。
0651nobodyさん2015/09/21(月) 20:30:12.03ID:zJdcfcjc
なんかおもしろいものあった
http://goo.gl/YIsqjP
0652nobodyさん2015/09/28(月) 17:49:39.11ID:???
Model::queryでSQLを実行する時、プレースホルダを使わないと
インジェクション的にダメ、ゼッタイ!だと思ってたのですが
queryで実行したSQLはfetchAllに渡されるとどこかで見た記憶がありまして、
もしそうであればプレースホルダ使わなくても大丈夫なのかと思ってるのですが、これは間違いでしょうか?
0653nobodyさん2015/09/28(月) 20:24:02.91ID:???
SQLインジェクションが起きる理由を
勉強しましょう
0654nobodyさん2015/09/29(火) 13:46:47.95ID:???
fetchAllだからプレースホルダ使わなくてもいいって理屈は無い。
fetchAllはプレースホルダ使わないといけない。
0655nobodyさん2015/09/30(水) 01:04:16.72ID:???
2系で、一度に複数のレコードをsaveする場合、
saveしたidを取得する方法ってないですよね?
$this->Model->idだと1つのレコードしか取得できないので、
何か複数追加時のidが取れたら良いなっと思うのですが。
0656nobodyさん2015/09/30(水) 02:03:39.95ID:???
やったことないが、該当モデルにafterSaveコールバック定義しておけばできそうな気はする
0657nobodyさん2015/10/01(木) 00:10:43.92ID:476zm7XN
2つのモデルをまとめて1つにしてfindって出来ますかね?
MySQLのunionのイメージです。

社員(User)と取引先(Client)のメッセージをそれぞれ
UserMessage、ClientMessageに保存して使用しています。
メッセージは「社員から取引先」「取引先から社員」
に伝達するためのメールBOXのような感じです。

一覧表示時に1つにして表示したいと思い、質問しました。
バージョンは2.6.10を使用しています。ご存じの方はアドバイスください。
0658nobodyさん2015/10/02(金) 11:11:22.98ID:H+85UFUa
バーチャルフィールドのconditionsで絞り込みって出来ないのでしょうか?
例えば、ageというバーチャルフィールドを作って、Userというモデルで
$condtions = array('User.age' => 20);
としてみたのですが、findでDatabase Errorが出ます。

ググっても情報が見つからないので出来ないのかもしれませんが、、、
もし出来る方法があれば教えて下さい
0659nobodyさん2015/10/05(月) 18:46:52.19ID:jWEQQ/UZ
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
0660nobodyさん2015/10/06(火) 06:00:23.27ID:???
なんで就職するスレだと思った?頭大丈夫?
0661nobodyさん2015/11/01(日) 00:00:32.85ID:???
cakeこれから勉強始めるとしたら2?それとも3?
今までAccessで作ってたようなDBをWebで実現したいなと思って
情報収集してます。素のphpはぼちぼち勉強してるんですがフレームワークも触ってみたくて半分実験、半分勉強のよな感じです。
0662nobodyさん2015/11/01(日) 15:32:58.65ID:???
自分もこれからcake勉強しようと思ってるんだけど、3系は書籍もまだ何もないので、とりあえず情報の多い2からやろうと思ってます。
情報があれば3からやりたいんだけどな〜
0663nobodyさん2015/11/01(日) 16:39:21.98ID:???
やっぱみんな悩むんだね
おれはPHPもMVCフレームワークの経験あるから3にしたけど
ドキュメントもまだ日本語化されてないところ多いから戸惑うことも多かったよ
パフォーマンスの高さやイマドキっぽい作りなのは3だけど
情報多いのは2なんだよね〜
0664nobodyさん2015/11/02(月) 09:32:05.68ID:???
日本語ドキュメントしか読めないという奴はなんなの
英語勉強してないの?
頭悪いの?
0665nobodyさん2015/11/02(月) 10:17:32.62ID:???
>>664
>>663のことなら日本語ドキュメントしか読めないとは言ってないし
なんでそういう捉え方になるのか理解に苦しむ
英語もある程度は読めるけど母国語のほうが読みやすいのは間違いないでしょ?
そこは異論ないよね?
0666nobodyさん2015/11/02(月) 10:46:36.95ID:???
ここにいる時点でお察し
相手をしても仕方が無い
0667nobodyさん2015/11/02(月) 11:19:26.92ID:???
英語はできても日本語が読めなかったのだろう
0668nobodyさん2015/11/02(月) 20:57:19.04ID:aSd7O/p/
あるコントローラ内で同じメソッドを複数回呼び出している処理があるとして、
メソッドでエラーが発生した場合に何番目で呼び出されたときに発生したエラーなのか、
エラーログを見てすぐにわかるようにしたいのですが、
みなさんどのような工夫をされていますか
0669nobodyさん2015/11/02(月) 21:02:28.90ID:???
局所デバッグ中すかね
単に変数でカウントすりゃいいんじゃないかな。俺ならファイルに詳細な動作ログ書き出す
0670nobodyさん2015/11/02(月) 22:49:44.79ID:???
やったこと無いけど俺なら
動作するたびにログを取る。
ログしない=エラー
0671nobodyさん2015/11/02(月) 23:39:16.74ID:???
class contoroller {
function action () {
$this->A();
$this->B();
}
function A() {
$this->B();
}
function B() {
}
}

B()でエラーが出た時、
A()で呼ばれたB()でエラーになったのか
その後に呼ばれたB()でエラーになったのか
やはり前後のログとかから判断するのが普通ですかね
むずかしい
0672nobodyさん2015/11/03(火) 00:40:59.39ID:???
そんな単純な事例なら、単に例外投げてスタックトレースをログ取れば良くない?
0673nobodyさん2015/11/05(木) 20:51:49.24ID:x5tD0Tad
転職時の注意事項。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in Tokyo
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
0674nobodyさん2015/11/06(金) 14:28:00.21ID:???
本日、2系と3系でセキュリティアップデートがリリースされています。
詳細は後日公開するとのことなので私も詳しくは書きませんが、
特に業務で使っている方は、公開までの猶予期間内になるべくアップグレードしておいてくださいね。
0675nobodyさん2015/11/06(金) 16:04:30.06ID:???
また脆弱性か
まったくよーCakeはしょうがねえなどうしてくれるんだよ
0676nobodyさん2015/11/06(金) 20:50:56.97ID:???
>>675
メンテナンス放棄されるFWよりはよほどいいよ。
0677nobodyさん2015/11/06(金) 21:13:10.35ID:???
>>674
今回の修正はかなりヤバイですか?
0678nobodyさん2015/11/06(金) 22:24:51.77ID:???
>>677 ファイルインクルージョンなので、脆弱性の影響を受ける場合は結構深刻かもです。
あと、1系に関しては今回のリリースに含まれていませんが、そもそも1系は数日前に偶然サポートが終了しています。
仮に脆弱性が認められた場合にも、今後修正リリースが出ることはありませんのでご注意ください。
0679nobodyさん2015/11/07(土) 15:51:12.76ID:???
楽したいのに楽できないのか
0680nobodyさん2015/11/25(水) 17:14:55.71ID:???
Cake2を使っています、ログインページのみhttpsにしたいのですが
HTMLヘルパーでhttpsで始まるリンクを生成するにはどうしたら良いのでしょうか?
別のヘルパーでも構いませんが、Cakeの標準的な方法があれば教えてください
0681nobodyさん2015/11/29(日) 04:38:05.23ID:???
>>680 カスタムルートクラスを作成するか、AppHelper で url() をオーバーライドするかのどちらかだと思う。
前者はビュー以外からも使える点で汎用性が高く、後者は Cake に不慣れでも実装が簡単。
0682sage2015/11/30(月) 13:20:14.64ID:r6oWoP7k
>>680
俺なら別のアプローチを使う。
SecurityコンポーネントのforceSSLを使うことで、ControllerまたはActionレベルでSSLを強制できる。
>>681の方法だと全てのページのリンクをオーバーライドしたメソッドに書き換える必要がある。
いっぽう俺の方法ならSSL強制されたURLに非SSLでアクセスするとURLをhttpsに切り替えてリダイレクトしてくれる。
CakePHP+Security+forceSSLでググれば実装方法はいっぱい出てくる。
0683nobodyさん2015/11/30(月) 15:33:19.50ID:???
>>682 記述を書き換える必要はないはずなんだけど、でも、その方法の方がよさそうだね。勉強になった。
0684nobodyさん2015/11/30(月) 16:37:03.55ID:???
>>682
その方法は既に試したが、Cakeがredirectを発行する際にPOSTされた値が引き継がれず、使えなかった
0685nobodyさん2015/12/01(火) 08:40:23.37ID:???
そもそもログインフォームをHTTPSで表示かつフォームのPOST先もHTTPSにしないとダメだよね。リダイレクトということは、POST内容であるところのログイン情報がHTTPで一度サーバに届いてしまってるということでしょ。それではHTTPSの意味が。
0686nobodyさん2015/12/02(水) 13:45:59.12ID:???
おそろしい会話の内容だなw
>>685の言ってることは至極当然の認識であって欲しい
0687nobodyさん2015/12/02(水) 20:24:30.36ID:???
ログインページのURLをhttpsにするんじゃなくて(CakeのHTMLヘルパーではできない)
httpでログインページに遷移→Securityコンポーネントがhttpsにリダイレクト→httpsのログインページに到達→そこからログイン情報をPOST
って流れにすればいいんだよね?
でも最初からhttpsにリンク張りたいんだよなぁ、ブラウザから見えるリンク先がhttpだと不安を与えるかもしれないし
0688nobodyさん2015/12/03(木) 15:53:02.33ID:???
暇つぶしにラブやってみたら 想定外の若妻が・・
思い出しただけでもあの体は反則だよ
ついでに見返りもあって損はなかった

022it.★★t/d11/861xmas.jpg
★★をneに変更する
0689nobodyさん2015/12/03(木) 17:57:04.77ID:mKDK02zz
画像アップロードの処理ってどうしてますか?

普通は
アップロード→バリデーション→登録処理(ファイルはサーバの指定位置に移動)

だと思うのですが、バリデーションの方法で悩んでいます。
画像(jpg/fig/png)の判定は割りと問題ないと思いますが、
画像のファイルサイズの場合、どうしようかと悩みます。

というのも、ファイルサイズを気にせずにアップロードする人が多いです。
デジカメやスマホで写真を撮るとそれなりのサイズになりますので。

ですので、ファイルサイズ制限に関するバリデーションは入れない方が良いのでは?
とも思うのですが、そうするとサーバ攻撃の元になるので良くないです。

何か良い方法・考え方はないでしょうか?
もちろん、Cakeを使う場合でお願いします。
0690nobodyさん2015/12/03(木) 18:56:52.86ID:???
php.iniのupload_max_filesizeで制限
0691nobodyさん2015/12/05(土) 13:54:12.48ID:67hesvTc
転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の 労基 2chスレが表示される
0692nobodyさん2015/12/08(火) 01:25:06.39ID:???
だいぶ下がってるので上げとく
0693nobodyさん2015/12/08(火) 16:38:11.99ID:J+sKcpKq
             , ‐- '⌒ヽ
            /.:::::::::::::::::::::::\
.            /.::::::::::/ヽ::::::::::::ヽ
.          /::::::::::/ 、_ __,\:::::::::::.
      ー=≦:::::::ri:::/   bb)  Y:::::::ハ
       ー=彡::ハ|/    ゝ   i)::::八_    おまえらまだWeb業界で消耗してんの?
        ⌒ンノ∧   `ニ    从::::≧=‐  
             . イ        /_   ̄`    
.     , -‐  ´   !     ー   ´ ! ` ー-、
0694nobodyさん2015/12/11(金) 09:10:32.49ID:???
             , ‐- '⌒ヽ
            /.:::::::::::::::::::::::\
.            /.::::::::::/ヽ::::::::::::ヽ
.          /::::::::::/ 、_ __,\:::::::::::.
      ー=≦:::::::ri:::/   bb)  Y:::::::ハ
       ー=彡::ハ|/    ゝ   i)::::八_    俺なら別のアプローチを使う
        ⌒ンノ∧   `ニ    从::::≧=‐  
             . イ        /_   ̄`    
.     , -‐  ´   !     ー   ´ ! ` ー-、
0695nobodyさん2015/12/11(金) 09:41:30.75ID:???
このスレももう終わりだな。
というかCakePHPがもう終わりか。Stack Overflowとかで質問投げてみてももうまともな回答付ける人は見ていない印象。というかビュー自体が伸びない。
0696nobodyさん2015/12/11(金) 13:40:38.06ID:???
かと言って他のフレームワークに移行したかというと、そうでもなさそうだしな。
Rubyに勢いがあるような気はするけど、PHP自体の需要は落ちてない。
言語人気ランキングでは相変わらずの上位だし。

みんなどうしてるんだろうな?
WordPress使って、ちょっとPHPでカスタマイズするって程度なのかなぁ。
0697nobodyさん2015/12/11(金) 14:33:33.47ID:???
確かに、どうしてるんだろ。
そこそこ使えるフレームワークを利用してPHPで作る、という仕事が死滅してるとも思えない。需要はあるはずだよな。
そう簡単に他のものに乗り換えるのも効率悪いし。
うちはCakeで培った資産があるから未だにCakeだわ。不満はあるが慣れてしまったから大抵のものはさっと作れるし。
0698nobodyさん2015/12/11(金) 16:26:27.61ID:???
資産があるといいよな
案件毎に毎回使うフレームワークや言語がコロコロ変わるから全然定着しないわ
0699nobodyさん2015/12/11(金) 21:07:28.13ID:???
今ってサーバーはjson返すだけ、って作りのサイト増えてるから、もっと小さいフレームワークに散り散りになってんのかな?
0700nobodyさん2015/12/11(金) 22:24:54.41ID:???
そのJSONを生成するのはどうするんだよ?
JSファイルやPHPに直書きってわけでもあるまい。
なにかしらのデータを保存する管理画面みたいなのがあって、
そこでデータの出し入れをしてるはず。
そして、そうなればある程度のUIが必要だから、簡単にとは行かないと思う。
0701nobodyさん2015/12/11(金) 22:36:59.36ID:???
管理画面も認証とIP縛りのRESTful、クライアントはSPAなんてのも普通にあるよ
ユーザークライアントをSPAにすると管理画面もサーバサイドレンダリングにこだわる必要ないしね
0702nobodyさん2015/12/11(金) 22:38:51.47ID:???
だからもっと小さいフレームワークに散り散りって
phpでやるような案件には、cakeほどの機能がいらないって時代になってんじゃない
もっと大規模なやつはnodeとかで
0703nobodyさん2015/12/12(土) 02:32:33.16ID:???
もっと小さいフレームワークならもうオレオレで良いと思うなぁ。
あと、node使うケースとphp使うケースって違うと思うんだが。javaなら分かるけどさ。
0704nobodyさん2015/12/12(土) 07:47:17.28ID:???
オレオレ付くるの面倒だから、API1個だけ、コントローラー1個だけの案件でもCakeで作っちゃう
0705nobodyさん2015/12/12(土) 13:25:14.54ID:???
>>704
いきなりCakeからPHP学んだの?
俺は、最初は自作ライブラリみたいなのを作りつつ学んでたから、
自ずとオレオレみたいな小規模プログラムがあるんだよな
0706nobodyさん2015/12/12(土) 13:43:07.05ID:???
>>705
あるけど初期の頃に作ったのはあんまり気が利いてなくて出来が良くないから、使い回す気にならないんだよな
つーか使いづれえし
■ このスレッドは過去ログ倉庫に格納されています