X



【PHP】フレームワーク CakePHP 19ホール目【v3.3】 [無断転載禁止]©2ch.net
0001nobodyさん
垢版 |
2016/12/24(土) 11:50:31.88ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、高速開発とPHPの機動性を兼ね備えたフレームワーク
質問するときはCakePHPのバージョンを書きましょう

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

■本家
https://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
https://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
cookbook(マニュアル)
[3.x] http://book.cakephp.org/3.0/ja/
[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

■日本語公式
https://cakephp.org/jp/

■前スレ
【PHP】フレームワーク CakePHP 17ホール目【v3α】
http://tamae.2ch.net/test/read.cgi/php/1406984261/
0136nobodyさん
垢版 |
2017/08/12(土) 02:42:14.34ID:???
>>135
サーバで許容されているPHPのバージョンだったり
色々な設定でかなりどはまりした。

もうフレームワークは使わない、、、
0137nobodyさん
垢版 |
2017/08/12(土) 04:35:26.17ID:???
cakeは2→3の移行はマジで地獄だったな
使えなくなるクラス多すぎだしsetみたいな頻繁に使うメソッドまで使えなくしやがって
0138nobodyさん
垢版 |
2017/08/12(土) 04:37:26.15ID:???
まぁ、半分はphp7の登場でクラス名に制限受けたこともあるがそれにしてもめんどくさい。移行するならどうせ大がかりだし他のに移るわ
0139nobodyさん
垢版 |
2017/08/12(土) 04:39:58.70ID:???
俺もCakeは2で終わり
移行するなら他のにすると心に決めている
0140nobodyさん
垢版 |
2017/08/12(土) 16:00:01.55ID:???
これくらいで面倒とか言っちゃうのか
0141nobodyさん
垢版 |
2017/08/13(日) 03:27:10.71ID:???
>>137
そんなに違ってるのか。
バージョン上げなくてよかった
0142nobodyさん
垢版 |
2017/08/14(月) 09:55:12.60ID:???
CakePHP 3.5.0-RC2 がリリースされました
0143nobodyさん
垢版 |
2017/08/15(火) 03:15:06.53ID:???
ハマっていたんだけど、良い解説サイトのお陰で助かった

広告をクリックしてあげた^^
0144nobodyさん
垢版 |
2017/08/15(火) 04:13:14.99ID:???
Cake3.4で開発しています

コントローラAからコントローラBのactionを実行した際に、何故かそのactionが2回呼ばれているようです
テストでFlashメッセージを出したら2つ表示されたのでログ出力してみたらやはり2回呼ばれているようです。

コントローラBを一度呼んだ後は2回呼ばれるようなことはないのですが、原因がわかりません
別コントローラから呼ばれた時だけ2回呼ばれているような気がします
上手く説明できず申し訳ありませんが、解決方法をご存じの方がいらっしゃったら教えてください
0146nobodyさん
垢版 |
2017/08/15(火) 15:08:42.47ID:???
>>144
ソースみないと分からないけど、一度呼んだ後は2回呼ばれないってことから考えると、コントローラーBが初期化される過程で一度actionが実行されてしまっている、くらいしか思いつかんなぁ
コントローラーBにinitialize()があったらその中から呼ばれてるとか、その上だとsrc/Controller/AppController.php内から呼ばれてるとか
そのaction名で全ソースファイルを検索してみたら?
0147nobodyさん
垢版 |
2017/08/15(火) 16:24:02.75ID:???
関係ないけどCakeってaction名に使えない単語あるよね
どこにも情報がなくて昔ハマった
0148nobodyさん
垢版 |
2017/08/15(火) 17:49:03.89ID:???
>>144
AppControlerにbeforeFiler書いてないかな?
それコメントアウトして試してみると2回呼ばれなくなるかもしれない
0150nobodyさん
垢版 |
2017/08/15(火) 18:51:00.66ID:???
>>149
そうだとしたら関数名にしただけでアウトにならない?
0151nobodyさん
垢版 |
2017/08/15(火) 19:37:17.28ID:???
具体例入れてくれたら後学のためになるのに‥みんな意地悪(・ω・)
0152nobodyさん
垢版 |
2017/08/16(水) 18:24:19.21ID:???
>>145>>146>>148
申し訳ないです。レス遅れました
結論から言うと解決しました

原因なのですが、>>148の方が指摘してくれたAppControllerのbeforeFilerの中に
トレイリングスラッシュ対応の処理を入れていたことが原因でした…
URL末尾にスラッシュがなかったらスラッシュをつけて301リダイレクトしていたので
そこでアクションが2回走っていただけでした(´・ω・`)

お手数おかけして申し訳ありませんでした
ありがとうございました
0153nobodyさん
垢版 |
2017/08/16(水) 23:02:28.57ID:???
<input type="text" id="input_1" class="kore aaa bbb">
<input type="text" id="input_2" class="kore aaa bbb">
<input type="text" id="input_3" class="kore aaa bbb">

と koreのクラスを使っている入力項目が複数ある状態で

$(".kore").keyup(function(){

// 処理

});

このコードを記述しても認識されません。

画面内で
<input type="text" id="input_1" class="kore">

ならば動作するのですが、jQueryはこーいう仕様なのでしょうか?
0155nobodyさん
垢版 |
2017/08/17(木) 15:40:51.28ID:???
CakePHP 3.4.13 出たよ
0156nobodyさん
垢版 |
2017/08/17(木) 18:39:50.43ID:???
$error_message = "abc"; // @
$error_message = "あああ"; // A


【サーバーサイド】
$value_result = array();
$value_result[] = array(
'error_message' => $error_message,
);

header('Content-type: application/json');
echo json_encode($value_result);
0157nobodyさん
垢版 |
2017/08/17(木) 18:47:23.08ID:???
自己解決したので大丈夫です。
0158nobodyさん
垢版 |
2017/08/19(土) 21:23:07.07ID:???
@
if ( $str == "")

A
if ( $str === "")


文字列の空白チェックは、やっぱり === を使わないと正確な結果返ってこないのでしょうか?
0159nobodyさん
垢版 |
2017/08/19(土) 23:37:48.71ID:???
Cakeに関係なさすぎる…
酷すぎる…(´д`)
0162nobodyさん
垢版 |
2017/08/20(日) 03:54:40.97ID:???
$captcha = @$_POST['ct_captcha']; // the user's entry for the captcha code


頭についてる「@」ってどういう意味ですか?
0163nobodyさん
垢版 |
2017/08/20(日) 04:25:16.57ID:???
お前らわざとCakeの質問してねぇだろ
0164nobodyさん
垢版 |
2017/08/20(日) 15:30:19.55ID:???
Laravelスレ誰か立ててください!
0166nobodyさん
垢版 |
2017/08/29(火) 19:03:03.48ID:???
今から新サービス作るのにCake2ってどう思う?
0167nobodyさん
垢版 |
2017/08/29(火) 21:05:56.95ID:???
>>166
12月〜1月にCake4が出た時点から、Cake2のサポートはバグ修正12ヶ月、セキュリティ修正18ヶ月らしいよ
そこ勘案して決めれば?
0169nobodyさん
垢版 |
2017/08/29(火) 22:51:38.64ID:???
そういう心配が要らないフレームワークってないのかなあ
サービスが長生きした場合、数年おきに作り直すとか現実的じゃない

2で作る理由はこれまでのスキルや資産があって早くできるからだろ
0170nobodyさん
垢版 |
2017/08/30(水) 00:11:33.97ID:???
>>169
cakeはまともな方だと思うよ。
サポート切れても、有償で良いからサポート続けてくれないかな。
0172nobodyさん
垢版 |
2017/08/30(水) 09:47:36.66ID:???
Laravelとかに行くよりは3対応に作り直した方が楽なのかなあ
2→3に作り直した方の意見聞きたい
0173nobodyさん
垢版 |
2017/08/30(水) 15:50:04.59ID:???
>>172
一旦3にしてしまえばあとは楽。
というか、composer使う前提なら、機能的にはどのFWも大差ないと思う。
0174nobodyさん
垢版 |
2017/08/30(水) 16:12:41.31ID:???
composer関係なくね?
メジャーバージョンUP時は頑張って自分のコード書き換えないといけないから大変って話だろ?
0175nobodyさん
垢版 |
2017/08/30(水) 16:47:10.54ID:???
質問です。よろしくお願いします。

私は、1年前からPHPを勉強していて、簡単な日記webアプリなどを作成し、個人で使っています。
そしていま、CakePHP3を独学で勉強しています。解説書を3周読み、テキスト内のプログラムを試作しました。
こういう勉強をしていることじたい誰にも言えず、一人でやっています。
「自宅内でできる(内職)仕事のうちで高収入な部類」であるプログラムをいつかマスターしたいというのが夢です。

そこで、アドバイスをしていただきたいのですが、何か、CakePHP3に慣れるのに、いい課題ってないでしょうか?
どういうWebアプリを試作するのが、実践に近く、多方面の機能に触れることになるのでしょう。
できれば、実際にお仕事で使うような、そういう雰囲気のものを作ってみたいです。

「おいブス、てめえは○○アプリでも作ってみろ」的な、何か課題をいただきたくお願いします。
よろしくお願いします。
0176nobodyさん
垢版 |
2017/08/30(水) 21:08:19.01ID:???
>>175
人から指定されるより自分の趣味に関したサイト建てるのが一番だと思うけど
0177nobodyさん
垢版 |
2017/08/30(水) 21:13:23.18ID:???
え?自分でいうほどブスなの?
0178nobodyさん
垢版 |
2017/08/30(水) 21:16:29.03ID:???
どうせやるならgithubでプロジェクト公開しなよ

失敗しても誰にも迷惑かからないし構成考える勉強にもなる
0179nobodyさん
垢版 |
2017/08/30(水) 22:35:23.56ID:???
>>176
私は無趣味ですし、何か、お仕事でありそうなやつじゃないとダメなんじゃないかと焦っちゃうんです。
エクセルの例でいうと、会計帳簿とかを作って練習しないと、ただのダイエットの体重記録じゃダメ、みたいな。

>>177
謙遜じゃないです。

>>178
CakePHP3の後で、Gitの勉強をしようと思い、すでに
『Gitがおもしろいほどよくわかる基本の使い方33』という本を買ってあります。
先にこちらを勉強したほうがいいのでしょうか。。
0180nobodyさん
垢版 |
2017/08/30(水) 23:05:01.23ID:???
いくら実用的でも使われないものは作っても仕方ないよ
0181nobodyさん
垢版 |
2017/08/31(木) 00:18:57.78ID:???
仲間内で簡単な仕事を受けるのが一番良いと思う
0182nobodyさん
垢版 |
2017/08/31(木) 02:17:40.74ID:???
>>181
仲間とか友達とか、そういうのまったく感じさせない雰囲気を
読み取れないのか?
0183nobodyさん
垢版 |
2017/09/02(土) 00:12:07.20ID:???
個人の内職でCake使うなんて、あるのかね。
0184nobodyさん
垢版 |
2017/09/02(土) 01:14:37.49ID:???
今更何でCakeを選んだのか気になる
0185nobodyさん
垢版 |
2017/09/02(土) 01:16:47.16ID:???
日本人ならCakeだろうが
0186nobodyさん
垢版 |
2017/09/02(土) 02:44:10.73ID:???
>>175
設計なのか使い方なのか目的が定かじゃない
0188nobodyさん
垢版 |
2017/09/12(火) 23:15:06.15ID:???
3はもういいから2を永遠にメンテしてくれ
その方が需要多いだろう
0189nobodyさん
垢版 |
2017/09/13(水) 03:10:02.64ID:???
ソースあるんだからお前が永遠にメンテすればいいだけの話
他人を当てにするなよ
0190nobodyさん
垢版 |
2017/09/13(水) 08:25:37.46ID:???
フレームワークなんて他人を当てにするために使うもんだろうが
自分のリソースは別の所に使うよ
0191nobodyさん
垢版 |
2017/09/13(水) 23:16:25.79ID:???
こうして誰もメンテしないソフトウェアは消えていくのであった
0192nobodyさん
垢版 |
2017/09/15(金) 18:35:11.32ID:???
3系で2系の応用インストールみたいに、
複数のアプリケーションでコアファイルを共有することってできる?
CAKE_CORE_INCLUDE_PATH を変えても autoload ないとか言われる。
ttps://book.cakephp.org/2.0/ja/installation/advanced-installation.html#id4
0193nobodyさん
垢版 |
2017/09/15(金) 19:41:25.21ID:???
>>192
複数アプリで同じリソースを使うために、俺は自作pluginをcomposerで入れられるようにした。
なんとなくこれが3っぽい作りなのかなと。
0196nobodyさん
垢版 |
2017/09/16(土) 03:31:42.09ID:???
$fp = fopen("$hoge_file", "a");
fwrite($fp, "ファイルへの追記サンプル");
fclose($fp);

このコードを実行していますが
上書きになるばかりで、追記されません。


しっかり第二引数は「a」を指定しているのに謎です。
何が原因なのでしょうか?
0197nobodyさん
垢版 |
2017/09/16(土) 20:51:03.97ID:???
未だにfopen使ってる奴いるんか
0208nobodyさん
垢版 |
2017/09/28(木) 00:13:00.83ID:???
CakePHP3 でも、やりたい事はcookbook,、qiita、 Stack Overflow見たら
大体出来るようにはなるが、使いにくいって意見がこのスレでは多いみたいだな。
メール送信とかajax+jsonでDB検索とか楽になったと思うんだけどなあ...
cake2からの移行はちょいと骨だけど,どうせPHP7.xで色々変わるしな。
長期的な後方互換がいるなら、JavaServletとか使えばいいんじゃねーの?
赤帽7のPHP5.4サポートだって2024年辺りで無くなるだろうし。
0209nobodyさん
垢版 |
2017/09/28(木) 00:38:21.34ID:???
>>208
2から3への移行が面倒くさいって意見が多いね
これだけマニュアルに丁寧に移行ガイド書かれてるんだからヤレよと言いたいけど
0210nobodyさん
垢版 |
2017/09/28(木) 01:56:23.66ID:???
>>175
遅レスだが、先に簡単なデータベース設計を体験すると良い気がする。

書籍から入って、そこに載っているプログラムを入力した、という事なので、phpMyAdminも使えるだろうし。

料理のレシピサイトも、チケット予約サイトも、ブログも、DBがうまく作られていると便利良く組めるし、使える。

架空の仕出し弁当屋をでっちあげて、予約サイトを作ってみるとかどうだろう?

弁当テーブルとの具材テーブルを分けたり、
この弁当は何日前までに予約が必要とか、季節ごとに出す弁当が変わるとか、縛りを入れてみたり、
注文内容を保存しとくにはどんなテーブルが良いだろう?と考えたりするのは、割に実践に近いと思う。

あんまりテーブル数が多いと挫折しやすいので、5個ぐらいのテーブル数から始めると続きやすい。

あと、予約後にURL付きのメールを送信して踏んでもらったら予約確定、とかも作り込めたら、ワンタイムパスワードもどき作成の体験もできる。

気が向いたらやってみてね。
0211nobodyさん
垢版 |
2017/09/28(木) 02:17:20.30ID:???
>>210
おまえやさしいな。
両親もやさしくて、暖かい家庭の育ちだろ。
学生時代からずっと、女にもてるだろ。

おまえはそういう奴だよ。
これからもたくさんの人に親切にしてやれ。
0212nobodyさん
垢版 |
2017/09/28(木) 02:58:31.25ID:???
>>211
ありがとう、なんか照れるわ
やってみたい、という人がいるなら、Cake使いを一人でも多く増やしたい、てな気持ちの現れですな。
ま、女にはモテなかったけど。
女友達に「女はちょっと謎めいてて、自分にだけ優しい男に惹かれるけどアンタにはそれがない」と説教されましたわ。
0213nobodyさん
垢版 |
2017/09/28(木) 04:00:40.69ID:???
>>179
Gitは後回しで充分。
一人で学習するなら、ローカルpcで世代別にプログラムをバックアップしておいた方が便利。

今は、プログラムを誰かが添削してくれるなら使っても良い程度
でもその場合に使うのは
git add --all
git commit -a -m"なんかコメント"
git push
(ユーザーid,password入力)
の3つだけで良い
まだそれ以上学習する時期じゃない

1行目は最新版をローカルpcのGitに教えるコマンド
2行目はコメントをローカルpcのGitに教えるコマンド
3行目がサーバーアップロードのコマンド
0214nobodyさん
垢版 |
2017/09/28(木) 09:57:28.01ID:???
>>213はまったく適切じゃないアドバイスだな。
Gitは最初から使った方がいい。何より便利。使わないと無駄に不便で学習効率も落ちるぞ。
GUIのアプリがあるからコマンド覚えなくても良い。
1人で使うなら全く難しいことはない。初心者こそ使うべき。
SVNでもいいが今はGitのほうが多そうだからGitでいい。
0215207
垢版 |
2017/09/28(木) 10:37:03.98ID:7f3uSPN1
3.5.3で質問です。
3.5.3で「Directories created by FileCache are more atomic.」ということでCacheに手が入りました。
で、ここが原因でエラーが発生するようになってしましました。
@がついているので続行可能なエラーは無視されてよいものですが、下記のようなエラーが発生しています。
@がついてもエラーが拾われてしまうような要因とかあるのでしょうか?

該当ソース
/vendor/cakephp/cakephp/src/Cache/Engine/FileEngine.php(387)

Log::error($dir);//追加
sleep(5);//追加
@mkdir($dir, 0775, true);

出力されたログ
2017-09-28 01:26:17 Error: /var/www/html/****/tmp/cache/persistent/
2017-09-28 01:26:22 Error: /var/www/html/****/tmp/cache/persistent/
2017-09-28 01:26:27 Error: /var/www/html/****/tmp/cache/persistent/
2017-09-28 01:26:32 Error: [Cake\Core\Exception\Exception] mkdir(): File exists
0216nobodyさん
垢版 |
2017/09/29(金) 11:57:37.68ID:???
Cakeで気に入らないのは、毎回後方互換性を捨てるに値するほどのメリットを感じられない所
Cakeに限らないかもだが、気軽に判断していいことじゃないっつーの
0217nobodyさん
垢版 |
2017/09/29(金) 14:05:24.11ID:???
>>216
ならアプデしなけりゃいいんじゃね?
更新内容は毎回リストアップされてるし、それについていけないとなると開発者としての実力を疑うね
0218nobodyさん
垢版 |
2017/09/29(金) 15:15:38.59ID:???
趣味で作ってるからね
仕方ないね
0219nobodyさん
垢版 |
2017/09/29(金) 16:59:59.07ID:???
実力の問題なわけじゃ普通ないだろ…
お前みたいに無限に暇な人間は少ないぞ
0220nobodyさん
垢版 |
2017/09/29(金) 19:04:48.40ID:???
>>219
実力の問題だよ
プログラマの場合は実力が有れば有るほど時短に繋がるから
出来る人はすぐに理解してすぐに手を動かしてさっさとやっちゃうよ
0221nobodyさん
垢版 |
2017/09/29(金) 19:22:01.27ID:???
手直しが早かろうが、コードを弄ったら単体テストをしなきゃならんのだが
面倒じゃないか?
自動化済みのオシャレ環境だったらごめん
0222nobodyさん
垢版 |
2017/09/29(金) 19:48:34.76ID:???
>>220
だめだこりゃ
実力がある人は他にいくらでもやる仕事があるっつーの
0223nobodyさん
垢版 |
2017/09/29(金) 21:06:39.40ID:???
政治的な問題でやらない、予算的な問題でやらない、理由はたくさんありますがな。
0224213
垢版 |
2017/09/29(金) 23:24:20.43ID:???
>>214
gitがダメとか言ってる訳じゃねーぞ

便利だから普通に使いまくってる
GUIが揃ってるからー、みんなが使ってるからー、とかじゃなくて
平行開発したりマイルストーン立てたり説明書きつけたりと、使い勝手が良いから使うんだよ

ダイエットメソッドみたいな流行りモン扱いとか呆れるわ

gitの便利な機能を学習する期間、Cake3の学習はお留守になる、だからまだ早いって書かなきゃいかんのかねぇ

Cake3独学で、実践に似た構成ないですか?、と訊いてる人に、
技術文書を多人数で摺り合わせるツールとしても使えるほど多機能なgitを勧めるとか、混乱させるだけだよ
0225213
垢版 |
2017/09/30(土) 00:00:59.81ID:???
>>216
ver.5.5以降からphp本体も、後方互換は捨てていってるしな
後方互換が大事なら、Struts2とかJ2EEとかで作り直せばいいんじゃね?

まあ、Cake3内のマイナーアップデートで、この記法は推奨されなくなります宣言は勘弁してほしいが
0226nobodyさん
垢版 |
2017/09/30(土) 01:19:10.15ID:???
FWに頼る時点で無能だろ
0227nobodyさん
垢版 |
2017/09/30(土) 01:27:08.62ID:???
お前が無能なのはよくわかった
0228nobodyさん
垢版 |
2017/09/30(土) 01:56:59.61ID:???
スレどころかこの板史上ではじめて
育ちの良さや人格を賞賛された>>210を見習え。
0229nobodyさん
垢版 |
2017/09/30(土) 05:04:30.46ID:???
>>226
webprogでFWの3つや4つ、使い分けられないヤツは不適合者だわ
フルスクラッチ()で独自仕様のアンケートフォームでも作ってろ
0230nobodyさん
垢版 |
2017/09/30(土) 08:37:59.28ID:???
1人でオープンソースのFWを超えるのが作れる超天才でもない限り
オレオレで作れるもんしか作ってない時点で無能
0231nobodyさん
垢版 |
2017/09/30(土) 12:10:44.47ID:???
cakeの話題でお願いしまーす
0232nobodyさん
垢版 |
2017/09/30(土) 12:35:49.74ID:???
Cakeの話題なんてない
0233nobodyさん
垢版 |
2017/10/03(火) 01:09:44.46ID:???
>>215
まだいるかな?
最後の行、「もう同じ名前のディレクトリがあるよ。例外:レベルはErrorだよ」と書いてある。
でも、@mkdir()だから、通常はこの例外が拾われないように抑止されている。
で、Log:error()の記述式は、例外レベルが[Error]のものを全部書き出す
ものなので、この場合だと@が抑制している[レベル:Error]の例外を問答無用で書き出してる。
つまり、ログに出力されたエラーは「拾われてしまっている」のではなく、
「@をつけて拾われないように工夫されているものを無理やり拾っている」状態。
だから「この部分が原因で不具合が出ている」と決めるのはちょいと難しい。
0234nobodyさん
垢版 |
2017/10/03(火) 18:36:55.18ID:???
>>233
ありがとうございます。
ヒントいただき、無事解決しました。
原因は独自のエラーハンドラの設定でした。
独自エラーハンドラの中で、エラー制御演算子起因のエラーは無視するように
本来は書かなければならなかったのですが、見事に漏れてました。
0235nobodyさん
垢版 |
2017/10/03(火) 18:43:08.78ID:???
なぜ3.5.3まで気づかなかったかと言えば、そもそもフレームワーク中でこのエラー制御演算子があまり使われていなかったから。
3.5.3でキャッシュ作成で使われるようになったので、処理の最初でエラーになって初めて気づいたのでした。

ところでこのエラー制御演算子、コストが非常に高いとどこかで読みました。
そんなコストの高い処理が毎回冒頭で行われるというのは、そもそも良いものなんでしょうかね?
厳密にベンチマークを計ったわけでないので強くは言えませんが。
レスを投稿する


ニューススポーツなんでも実況