【PHP】フレームワーク CakePHP 17ホール目【v2.4】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2014/03/01(土) 17:03:24.57ID:8AJ9GD6ECakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
Issue
http://cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] http://book.cakephp.org/2.0/ja/index.html
[1.3] http://book.cakephp.org/ja
※前スレ
http://kohada.2ch.net/test/read.cgi/php/1378659370/
0830nobodyさん
2014/07/03(木) 02:09:04.71ID:JnE+cuIZそもそも2ch位のトラフィックを捌けるFWとかなさそうですね。
0831nobodyさん
2014/07/03(木) 02:10:17.86ID:JnE+cuIZ流石に2chクラスだとCakeじゃ無理でしょ。
0832nobodyさん
2014/07/03(木) 02:11:15.57ID:JnE+cuIZ0833nobodyさん
2014/07/03(木) 02:14:41.70ID:???0834nobodyさん
2014/07/03(木) 02:33:52.59ID:???'捌ける'の前提がよく分からんが
RDBとORMありのFW使った上で2chと同じサーバスペック同じ台数で捌けるかどうかってことか?
Cakeには無理だろうが全FWが駄目と判断するのは早計でしょ
2chのWebサーバって未だにEvent MPMがまともに使えないVer.のApacheだし
書き込みのほうのbbs.cgiは所詮Perlだしガチガチに高速化されてるとも思えないな
http://www.techempower.com/benchmarks/#section=data-r9&hw=i7&test=json
>>833
まったくだ
0836nobodyさん
2014/07/03(木) 02:56:35.42ID:JxPD7Z4wランサーズの重たさを見てやはりcakeの底が見えました。
ところでなんで ランサーズ がcake使ってるってわかったの?
0837nobodyさん
2014/07/03(木) 03:02:55.42ID:???0839nobodyさん
2014/07/04(金) 07:21:47.42ID:???https://github.com/cakephp/cakephp/issues/3857
運が悪いと、ある日突然 DB が壊滅するかもしれん。
更新時に id も無駄にセットしていれば被害は(ほぼ)出ないわけだが、
常にトランザクションを張っておくのが正解かな?
0840nobodyさん
2014/07/04(金) 23:56:36.75ID:SDFDitCY" aaa bbb "
→ 含まれている
"aaa bbb"
→ 含まれていない
※ワードの真ん中にスペースがあってもOKですが
文字列の前後に全角・半角スペースが含まれている場合にはバリデーションでエラーを通知したいです。
0841nobodyさん
2014/07/05(土) 00:14:24.58ID:???0842nobodyさん
2014/07/05(土) 00:26:41.66ID:???/^[ ]|[ ]$/u
0843nobodyさん
2014/07/05(土) 00:26:45.58ID:bSC+q1ktサンキュー
0845nobodyさん
2014/07/05(土) 00:49:59.15ID:???トランザクションしか手の打ちようがないと思うけど、
これってどんな ORM でも同じ問題おこるんじゃないの?
0846nobodyさん
2014/07/05(土) 01:06:28.71ID:???以前WHERE 1=1で運用中のテーブル全消しされた悪夢が蘇る。
0847nobodyさん
2014/07/05(土) 01:35:04.96ID:3rDWh52gJavaScriptでやるよりセキュリティー的にも開発工数の短縮化対策にも良いよね?
0848nobodyさん
2014/07/05(土) 01:38:16.33ID:???0850nobodyさん
2014/07/05(土) 03:35:07.33ID:???エラーがなければ送信ボタン押すってやつ?
入力項目が多いと重くなりそうだし、汎用性も低いんじゃないか?
0852nobodyさん
2014/07/05(土) 11:32:54.03ID:???requiredとかありふれた形式チェックくらいは、クライアントでやってもいいんじゃね。
開発工数ったって、そんなのほとんどないに等しいだろ。
0853nobodyさん
2014/07/05(土) 20:25:37.65ID:???0855nobodyさん
2014/07/05(土) 22:18:10.80ID:???0856nobodyさん
2014/07/05(土) 23:28:29.38ID:???画面遷移なしで"フォロー"と"フォロー解除"を行いたいです。
AjaxとjQuery初心者でググってもイマイチよく分からない...
0857nobodyさん
2014/07/06(日) 00:29:47.41ID:???Jsヘルパーのrequestメソッドを使用しようと思ってます。
�@『フォロー』ボタンを押す(ボタンはdiv #follow)
�AAjaxでpost送信
�B「フォローした相手」のデータをsaveする
�C画面遷移なしで『フォロー解除』ボタン(ボタンはdiv #unfollow)に切り替え
�Cのボタンの切り替え方法が分かりません。
よろしくお願います。
0858nobodyさん
2014/07/06(日) 05:13:50.01ID:ayo5h1orJavaScript でチェックなんかしなくてもサーバサイド一本にすると
凄く開発効率があがるよ。マジオススメ。
両方チェックとか馬鹿の極みだろ。
0860nobodyさん
2014/07/06(日) 06:18:30.25ID:ayo5h1orじゃー、お前はクライアントとサーバサイドで同じ処理をガリガリかいてろ
0861nobodyさん
2014/07/06(日) 10:04:46.22ID:???0862nobodyさん
2014/07/06(日) 11:47:11.80ID:???普通というか正当なCakeのバリデーションというか。
そこから凝るとAjaxを使ったクライアントサイドになるわけで。
0863nobodyさん
2014/07/06(日) 11:53:03.79ID:???0864nobodyさん
2014/07/06(日) 12:19:46.52ID:???ajaxの成功時のコールバックに書けばいいよ
jqueryのpostメソッドなら3番目のcallback引数、ajaxメソッドならoptionsのsuccessプロパティ
0865nobodyさん
2014/07/06(日) 12:21:22.39ID:???クライアントサイドは要件次第
0866nobodyさん
2014/07/06(日) 13:35:04.95ID:ayo5h1orクライアントサイドは暇人のみ必須
0867nobodyさん
2014/07/06(日) 13:50:27.42ID:???0868nobodyさん
2014/07/06(日) 14:01:42.86ID:???0869nobodyさん
2014/07/06(日) 15:40:52.42ID:ayo5h1orサーバサイドに入れなくちゃ意味ねーだろ。
0870nobodyさん
2014/07/06(日) 15:44:02.56ID:???サーバサイドに入れるのは大前提で
UIの質の向上のためにクライアントサイドにも実装するかどうかってことでしょ?
入力時にリアルタイムでバリデーションするとかそんな感じの
その上で実装方法としてAjaxでサーバサイドのバリデーションを使いまわす方法と
クライアントでJavaScriptで同じバリデーションを書く方法があるって話
0871nobodyさん
2014/07/06(日) 15:51:05.55ID:???HTML5が対応していないブラウザなら当然スルーされるから、サーバサイドでのVaildationになるのは自明だろ。
いまどき最低限それくらい書いといて当たり前。
0872nobodyさん
2014/07/06(日) 15:58:05.81ID:???見たところその前提で話してるのは少数派
簡単なチェックだけクライアントサイドでも実装すればいいという意見はもっともだけど
他はJSで書かないといけないような
もっと複雑なチェックも含めて話してるんじゃないのか?
0873nobodyさん
2014/07/06(日) 16:20:06.81ID:???クライアント側のチェックを信用せずサーバ側の実装が必須ってのは前提としてOKなんだよな?
これは仮にHTML5に対応しないブラウザがこの世から消滅したところで変わらない
だからクライアントのバリデーションを実装する主な目的は
セキュリティやデータの正確さの保証ではなくUI・UXもしくはサーバ負荷の低減
早い段階で(サーバを煩わせずに)ユーザが正しくない入力に気付くことは必須ではないが有用だってこと
仕事なら要件次第というのもその通りだろうし
HTML5の属性で実現できる程度なら常に書いておけというのもわかる
各自のイメージしている仕様や前提が違うだけだよな
0874nobodyさん
2014/07/06(日) 16:25:16.79ID:???クライアントサイドのバリデーションはなくてもいいけど、あったらうれしい
そんな感じなのはみんな分かってると思うけど、そうじゃないのかなー?
0876nobodyさん
2014/07/06(日) 20:43:56.62ID:???それが分からない奴はその程度の品質の仕事しかしてないって事
0877nobodyさん
2014/07/07(月) 00:35:24.40ID:???我慢して作り続けるか、一から作り直すか。
0879nobodyさん
2014/07/07(月) 11:17:31.99ID:???0880nobodyさん
2014/07/08(火) 18:18:22.90ID:???テスト側でわざわざ今日の日付を取得してでもやるべきなのかな。
0881nobodyさん
2014/07/08(火) 19:21:17.99ID:???0884nobodyさん
2014/07/08(火) 21:10:41.73ID:???0885nobodyさん
2014/07/08(火) 21:57:00.34ID:???より汎用的に引数に指定した日時の週の日付を返すメソッドを予め作ってテストしておいて
本体はその汎用的なメソッドを現在時刻を引数に呼び出すだけのメソッドにして目視確認
ってのが驚きの少ない無難な方法だと思うけどそのメソッド自体にテストケース書けと言われると微妙か
2つ目は現在時刻を返すメソッドを実装したクラスのインスタンスを注入する仕様にする方法
テストの時は同じインターフェースで固定値を返すように実装したモックオブジェクトを代わりに注入
PHPUnitならgetMockつかえばモックオブジェクト作るのは簡単だね
もし他のライブラリ使ってもいいならメソッドの実装にCarbonを使う
DateTimeクラスを継承していて非常に使いやすいし
現在時刻を返すスタティックメソッド(Carbon::now)もモックできるので楽
https://github.com/briannesbitt/Carbon
0886nobodyさん
2014/07/08(火) 22:07:18.39ID:???0888nobodyさん
2014/07/08(火) 23:27:31.87ID:???0889nobodyさん
2014/07/08(火) 23:32:03.79ID:???ライブラリじゃなくてエクステンションだね
0890nobodyさん
2014/07/08(火) 23:43:10.63ID:???0891nobodyさん
2014/07/09(水) 02:01:00.01ID:???上書きされずpr関数を上書きしたい場合
どうすればいいかな?
0892nobodyさん
2014/07/09(水) 08:16:02.07ID:OfaKG9nk0893nobodyさん
2014/07/09(水) 19:17:35.46ID:of68YZwXWindows 7 で一番最初に付けたPC名を変更する事は出来ますか?
例)
USER_A
↓
USER_B
0894nobodyさん
2014/07/09(水) 21:25:01.58ID:???Windows板に行きましょう
0895nobodyさん
2014/07/09(水) 21:40:14.07ID:???あえてやるなら composer のコマンドと basics.php の編集のバッチを
続けて記述したスクリプトを書くってことぐらいしか思いつかん。
具体的な書き方は分からん。
0896nobodyさん
2014/07/10(木) 10:49:28.02ID:???というモデル構成の場合について質問です。
写真を置くディレクトリ構造ってどうしてますか?
http://example.com/images/users/(会員ID)/(画像ファイル名)
http://example.com/images/photos/(写真ID)/(画像ファイル名)
http://example.com/images/users/(会員ID)/photos/(写真ID)/(画像ファイル名)
という3パターンが思い浮かぶのですが、
どうした方が後々管理しやすいと思われるでしょうか?
皆さんがやっている方法を教えてください。
0897nobodyさん
2014/07/10(木) 14:19:59.62ID:???少なくとも想定する会員数と画像の枚数、
会員毎の画像以外のアセットの有無、
あるなら何がどの程度か、などがないとなんとも言えない
0898nobodyさん
2014/07/10(木) 21:45:46.46ID:???データベースにBLOB型でぶち込む
と言う手もあるぞよ
0900nobodyさん
2014/07/11(金) 10:54:21.57ID:???メリットは、DBMSの一貫性保持の機構がそのまま利用できること。
デメリットは、ファイルシステムに保存する場合より、パフォーマンス面でかなーり不利。
SQLServerでいうところの、FileStreamみたいなのが欲しいところ。
0901nobodyさん
2014/07/12(土) 05:21:43.91ID:eXF6HCkLコードをサーバにアップするっていう開発スタイル?
面倒なのでいつもサーバ直結してリモートプロジェクトで開発してるんだが。
これってあかんの?
0903nobodyさん
2014/07/12(土) 07:06:49.47ID:eXF6HCkLクライアント環境とサーバ環境で差異が出るでしょ?
だったら直接リモート接続で開発した方が効率が良いと思うんだよね。
0905nobodyさん
2014/07/12(土) 08:23:55.68ID:Xst9czPt0906nobodyさん
2014/07/12(土) 09:07:45.94ID:???それだとバグった状態のまま不特定多数の人間が使えることになる
画面表示がおかしいだけならまだしも、本番DBがぶっ壊れたり
セキュリティに大穴があいた状態になるかもしれない
0907nobodyさん
2014/07/12(土) 09:12:03.92ID:???不具合が起きる可能性よりも
メリットを感じるなら
やればいいさ
0909nobodyさん
2014/07/12(土) 10:53:52.48ID:???0910nobodyさん
2014/07/12(土) 11:14:11.35ID:???0912nobodyさん
2014/07/12(土) 11:36:07.30ID:???0913nobodyさん
2014/07/12(土) 11:50:03.80ID:???リポジトリやコミットの意味はわかるんだが
0914nobodyさん
2014/07/12(土) 11:50:20.97ID:???ツマンネ
0915nobodyさん
2014/07/12(土) 12:02:45.78ID:???実稼働中の追加案件開発でそうなるのは仕方ない
0916901
2014/07/12(土) 12:03:22.96ID:eXF6HCkL↓ テストOK 本番環境へのシェルの実行
http://main_site.com/ ← こっちが本番環境
こーいう感じで開発しています。
クライアントとサーバとの誤差もすくなくて生産効率は凄く良いのですが、、、
あかんの?
0918nobodyさん
2014/07/12(土) 12:18:20.16ID:???http://test.main_site.com/のこと?
テストOK⇒本番デプロイ
その後、やっぱりまずかった元に戻そうって時にシェル1発で戻せるようにできてる?
0919nobodyさん
2014/07/12(土) 12:29:59.91ID:???追加案件とかブランチ切って開発してテストして問題なければマージじゃないの?
git 使わない開発とかもはや想像つかないけどな。
0921nobodyさん
2014/07/12(土) 14:28:02.05ID:???テーブル数が50ぐらいなるサイトは使った方がいい?
0922nobodyさん
2014/07/12(土) 14:30:31.69ID:???別にそんな難しいもんじゃないし
0924nobodyさん
2014/07/12(土) 19:25:17.41ID:???PHPのreset、end関数みたいなのがあればいいんだけど。
0927nobodyさん
2014/07/12(土) 22:24:38.62ID:???0928nobodyさん
2014/07/13(日) 11:06:34.73ID:???本番環境でgit pullとかしてる奴いるの?
0929nobodyさん
2014/07/13(日) 11:27:40.80ID:???スレチだが
レス数が900を超えています。1000を超えると表示できなくなるよ。