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/
0389385垢版2018/03/13(火) 12:01:14.79ID:rXiYzlgL
>>386
引数trueつけても同様でした(省略の場合はfalseが初期値でした)。

コードを変えずに、DB定義でsortをint→varcharに変えると意図した動作になるんですよね。

validationの際にDB定義を見ているとしか思えない…。どうにかしてこの挙動を無効にしたい…。
0390nobodyさん垢版2018/03/13(火) 12:05:56.15ID:???
>>388
今はlaravelじゃないかなあ
ただ日本では実際にどれくらい使われてるのかは分からないけど
0391nobodyさん垢版2018/03/13(火) 12:20:58.43ID:???
>>387
でも急にフレームワークが無くなるってことも実際に起きてるから慎重にはなる
Silexなんかは開発終了宣言しちゃってec-cubeどうなるんだって状態だし
昨日もSilex採用したら1年で終了というブログも見かけた
0392nobodyさん垢版2018/03/13(火) 12:24:21.35ID:???
俺もそのブログ見てSilexなんて知ったんだが
知名度低いものは使っちゃだめなんだなやはり
0393nobodyさん垢版2018/03/13(火) 16:46:20.83ID:???
ec-cubeってsilexからsymfonyになったんだな
まあそうなるか
0394nobodyさん垢版2018/03/13(火) 17:09:34.70ID:VrRAyd8V
え?Silex終了か。
以前はよく使ってたな。今はFlaskばっかりでやってるけど。
PHPの環境を手っ取り早く試すのにはいいし、わざわざSlimに移行するのもめんどくさいな。
0395nobodyさん垢版2018/03/13(火) 17:14:54.51ID:???
cakeもsymfony使ってるし、laravelもそうであるように、symfony+αっていうフレームワークを選ぶのがPHPの流れだと思う。
0397385垢版2018/03/16(金) 16:13:19.01ID:???
解決しました。

どうしてもvalidationを無効にはできなかったので、結局schemaの設定で型をstringにして逃げました。
0402nobodyさん垢版2018/03/27(火) 14:58:29.22ID:???
cake2ですが、redirectをカスタマイズする方法ってないですかね?
イメージとしては

$this->redirect(array('controller' => 'Posts', 'action' => 'index'));

function afterRedirect($param)
{
if ($param['action'] == 'index') {
} else {
}

return true;
}

みたいに、リダイレクトのパラメーターによって更に処理を変更したいです。
0403nobodyさん垢版2018/03/28(水) 01:12:39.42ID:???
リダイレクトの役割を理解できてない。その処理はアプリケーションでやるべき。
0404nobodyさん垢版2018/03/28(水) 08:12:28.30ID:MstQbMYU
Interceptorの概念が2にはないからね。
0405nobodyさん垢版2018/03/30(金) 06:46:08.50ID:???
日本ではなかなかCakeの需要なくならんね…
未だに新規案件の話来る
0406nobodyさん垢版2018/03/30(金) 14:37:10.04ID:???
日本レベルの会社なの?
いいな
0409nobodyさん垢版2018/04/04(水) 18:17:26.40ID:???
どうせなら2のリリース情報も教えてよ
0411385垢版2018/04/16(月) 15:50:55.05ID:???
>>410
アップデートがハードル高杉です
0412nobodyさん垢版2018/04/17(火) 02:21:06.15ID:MhP13BpL
webアプリの勉強したくて、この半年、PHPやJavaScriptの入門書をいくつか読んで、いくつか自作したんだけど、
2ちゃんで、「生のPHP書く仕事なんかねえよ。フレームワーク使えるようにならなきゃ話にならん」と
言われたので、調べたら日本ではこのCakeが1位か2位人気のフレームワークだと分かり、
このスレを覗いたんですが、さっそく>>410-411を見て怖くなりました。
いま書店で積んである赤い入門書は、もう時代遅れなんでしょうか?
「いまどきのプログラマーはネットで最新情報を収集してるんだよ。本とか読んでる奴はクズ」という
書き込みも見た記憶があります。

みなさん、どんだけ頭いいんですか?
0413nobodyさん垢版2018/04/17(火) 02:59:48.54ID:???
>>412
もちろんFWもコードでできているということはわかっているよな?
0414nobodyさん垢版2018/04/17(火) 04:39:46.34ID:???
>>412
確かにほぼ全ての使い方は公式のマニュアルに書いてあるのでそれを見た方が良いです
マニュアルにも載ってない実務的な内容の本だったら買おうと思いますが

フレームワークはあくまでも基本を分かってる人が楽できるものなので、
自分でマニュアルを見て調べられるのはもちろん、いざとなったらフレームワーク自体のソースを読んで、
動作を把握できるくらいの実力がないと駄目です

もちろん最初のとっかかりとして入門書に頼るのはアリだと思いますが、
フレームワークは頻繁にバージョンアップされるので、結局頼りは自分だけです
0416nobodyさん垢版2018/04/21(土) 03:19:25.47ID:???
>>412
いくつか自作したなら、ある程度基本は押さえてるでしょ
とりあえず公式サイトのチュートリアルから試してみては?

今のバージョンはすぐに時代遅れになる、とか考えるより、
「FW習得の足掛かり」程度に思って、本も買わずに軽く使ってみると良いと思いますよ
CakeをAWSで使ってるうちに、気がついたらPythonとNode.jsを比べてたり
スマートスピーカーと連動でラズベリーパイを動かしてたりと、飽きることはありません
段階を踏みながら色々と手を出してみるのもまた一興ですよ
0417nobodyさん垢版2018/04/21(土) 21:52:23.36ID:XefbiFAv
すみません。
初心者ですが
min(最初のid)をsetして出力したら
こんなのが出てしまいました。
※見てもらえればわかりますが、パスワードとサイトurlは空白です。
名前が平仮名なのに変になっています。
<p>最初のidのデータ:<?php echo $min; ?></p>

最初のidのデータ:{ "id": 1, "name": "\u304d\u3056\u3048\u3082\u3093", "password": "", "mail": "7776655@nifty.com", "siteurl": "" }
こちら平仮名のままの出力はどのようにやるのでしょうか?<(_ _)>
0418nobodyさん垢版2018/04/21(土) 22:05:13.31ID:XefbiFAv
$min['name'] でいけました!
配列の中身表示だと変化してしまうのでしょうか?
0419nobodyさん垢版2018/04/21(土) 22:41:28.88ID:???
>>416
横から申しわけないけど、あなたの言う、「段階」ってやつを具体的に示してもらえませんか?

公式のチュートリアルからスタートして、最後は「Cake使えます。即戦力になれる自信あります」と
転職活動で言えるのがゴールとしてはどうでしょう。

あなたのレールに従って、ぜんぶやってみたいです。
0420nobodyさん垢版2018/04/22(日) 00:20:13.65ID:???
言語覚えてFW使ってコンテンツ作ってが十分な段階にあたると思うが…
0422nobodyさん垢版2018/04/22(日) 15:10:15.18ID:sK4Q0B++
お世話になります。
find(all) と find() ってどう違うのでしょうか?
私はcodeigniterはできるのですが
result_array と row_array の違いと同じようなものでしょうか? <(_ _)>
0423nobodyさん垢版2018/04/22(日) 16:20:05.20ID:YfyHNwr5
ワタシcodeigniterチョットデキル
0424nobodyさん垢版2018/04/22(日) 17:24:57.08ID:???
>>422
ここで聞いて回答待つより、自分で出力して比べた方が早いと思う
DebugKit入れれば実行されたSQLも見れるし
0426nobodyさん垢版2018/04/27(金) 01:53:56.35ID:???
>>419
「Cakeは入り口程度」と書いたつもりなのですが...

「就職活動でCakeアピールがゴール」だと、どんな「段階」を踏んで、
何が出来ればそのゴールに行けるのか、見当もつきません
チュートリアル以降の「段階の踏みかた」は毎週変わるでしょうし、
その時に持っている手練手管や知恵などでもかわるでしょう

私の場合は、
WinServer+SQLServer+VBScript→JavaServlet+PL-SQL+Oracle→Cakeチュートリアル→Cake1.2→Cake2.x→Cake3.x
というのが「段階」だったかなぁ、と感じる程度です
「少しづつ段階を踏んで」という範囲では無さそうですが、
「学習」をしていたなら、手練手管ではなく、豊富なトリビアを抱えていただろうな、と感じます

私はこのスレで>>210とか >>351でテキトーな感じで書き散らしてる人なので、データ設計・DB設計・画面遷移設計が出来るとラクになる、という「聞かされんでも解るわ」程度の事を書きに来るのが関の山です
0427nobodyさん垢版2018/04/27(金) 02:07:36.36ID:???
>>426
あなたはプログラムよりもコミュニケーションを学習した方が良いと思います。
0428nobodyさん垢版2018/04/27(金) 12:06:11.06ID:kBikjo8b
開 2 ち ゃ ん ね る= 便 所 の 落 書 き ・ 痰 壷 の 更 に 劣 化 コ ピ ー の 3 流 掲 示 板
運 営 の 性 格 の 悪 い 引 き こ も り I T 土 方 メ ガ ネ ザ ル 早 く 死 な な い か な
0430nobodyさん垢版2018/04/29(日) 21:59:52.47ID:???
>>427
>>426は、「学問に王道無し」って書いてるだけだな
学習方法なんざ十人十色ってな
0431nobodyさん垢版2018/05/09(水) 00:11:25.07ID:abWwCo0R
まさかcakephpが一番まともだとは思いすらしなかったわ・・・
Phper怖い
0433nobodyさん垢版2018/05/10(木) 22:46:17.93ID:???
>>432
悲しいフレームワーク山ほど量産されてるんやで・・・
0434nobodyさん垢版2018/05/13(日) 17:18:27.06ID:???
cakeでorder by nameどうやんの?
0437nobodyさん垢版2018/05/14(月) 20:12:38.68ID:???
通知だけでもありがたいです
0438nobodyさん垢版2018/05/14(月) 20:25:05.28ID:???
別にいいけど、そういう情報を2chに頼るのってどうなんだろう
0439nobodyさん垢版2018/05/14(月) 20:59:53.93ID:???
>>438
理屈ではわかるけど、実際に情報が速いのはSNSだったり掲示板だからな
0442nobodyさん垢版2018/05/14(月) 22:03:08.18ID:???
>>440
なんか誤解してるかもしれんが、公式サイトも当然大事だが、それ以外のソースも重要っていう意味ね。
脆弱性情報なんかの場合、公式アナウンスの前にもなるはやで情報集める必要があるんたから、
かいはつしゃたるもの情報源は複数もっておくべき。
0443nobodyさん垢版2018/05/14(月) 23:12:25.90ID:???
それしか言うことないのかよ、と言われても
他の人は言ってさえいない
0444nobodyさん垢版2018/05/15(火) 02:07:11.94ID:???
まあ他に話題もないし別にいいんでない

とも思うけど、スレに新着カキコ→3.6.3リリース みたいなのばっかりだと辛いな
0446nobodyさん垢版2018/05/15(火) 10:53:24.87ID:???
じゃあCake2から乗り換えるFWについて
ぶっちゃけ3ってどうなん?使ってる?使えてる?
0447nobodyさん垢版2018/05/15(火) 15:59:46.97ID:???
2から3に移るのがコストになるからそれならLaravelやるかとかRoRに移行したのも多いはず
0448nobodyさん垢版2018/05/15(火) 16:08:12.44ID:???
うちもCake2だったが次からLaravelに移る
0449nobodyさん垢版2018/05/15(火) 18:57:30.61ID:???
オラもLaravelに移行中というか色々勉強中
急ぎの仕事は、イカンと思いつつも慣れているCake2で作ってる(蔵様すんませんw)
0450nobodyさん垢版2018/05/15(火) 19:23:46.86ID:???
それは蔵がかわいそうすぎる…メンテどうすんの
0451nobodyさん垢版2018/05/15(火) 19:54:35.18ID:???
俺はお堅い仕事で、長い周期でシステムを動かさないといけないから結局Cake3に移行した。
いろんな言語見ても、フルスタックのFWでサポート期間が長いのを探すと、Cakeは優秀だよ。
0452nobodyさん垢版2018/05/16(水) 00:57:37.91ID:???
LaravelはLTSで2年って短すぎない?
0453nobodyさん垢版2018/05/17(木) 22:07:06.43ID:HhO4xhGx
公式のこれなんですけど
最初の 'rule' => 'validate_title', これなんですか?
何でもいい文字列ではなく、emailみたいな決められたルールでしょうか?

// グローバル関数を利用する
$validator->add('title', 'custom', [
'rule' => 'validate_title',
'message' => 'タイトルが正しくありません'
]);

// プロバイダーではないコールバック関数を利用する
$validator->add('title', 'custom', [
'rule' => [$this, 'method'],
'message' => 'タイトルが正しくありません'
]);

// クロージャーを利用する
$extra = 'Some additional value needed inside the closure';
$validator->add('title', 'custom', [
'rule' => function ($value, $context) use ($extra) {
// true/falseを返すカスタムロジックを記入
},
'message' => 'タイトルが正しくありません'
]);

// カスタムプロバイダーからのルールを利用する
$validator->add('title', 'custom', [
'rule' => 'customRule',
'provider' => 'custom',
'message' => 'タイトルが十分にユニークではありません'
]);
0454nobodyさん垢版2018/05/18(金) 00:39:02.71ID:???
>グローバル関数を利用する
なんだから validate_title という名前の関数があるんじゃない
0456nobodyさん垢版2018/05/18(金) 07:04:33.90ID:???
ソース見ないと使えないFWはクソ
0457nobodyさん垢版2018/05/18(金) 08:41:13.76ID:???
カスタムバリデーションルールの項目に書いてある説明だから>>454でファイナルアンサーでしょ
自分で書いた関数も使えますよって説明だから
0460nobodyさん垢版2018/05/23(水) 20:34:24.68ID:???
>>459
debugモードで影響がある脆弱性みたいだね。
ちんぺいさんのtweetは役に立つ。
0461nobodyさん垢版2018/06/10(日) 17:37:37.58ID:???
あのバージョン出たのか
0462nobodyさん垢版2018/06/19(火) 00:17:00.25ID:???
で、なんでCakeFest中止になったの?
0463nobodyさん垢版2018/06/19(火) 20:50:28.99ID:???
来年のCakeFestの開催地を投票で決めるということで、既に始まっています
https://cakefest.org/

・Japan
・Atlanta GA, USA
・France
・Germany
0464nobodyさん垢版2018/06/20(水) 20:45:26.41ID:UnZq46Ab
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

DJMYA
0465nobodyさん垢版2018/06/22(金) 12:41:47.78ID:???
CakePHP3で、特定のコントローラーだけcookie名を変えたい場合、
どうすればいい?

initializeのなかで
Configure::write( 'Session', [ 'cookie' => 'xxxxx' ] );
とやってもかわらないのだが、これじゃダメなのかな?
0466nobodyさん垢版2018/06/25(月) 20:29:31.07ID:2KJDd5lN
cakephp3でアンカーリンクへ飛びたい場合どのようにすれば良いのでしょうか?
http://サイトURL#20180718 で画面表示と同時に指定したアンカー(id='20180718')へ飛んだ状態で画面表示を行いたいのです

controller側のindexメソッド内に
$this->redirect(array('controller' => 'コントローラ名', 'action' => 'index', '#' => '20180718'));
と記述し、routes.phpで
$routes->connect('#20180718', ['controller' => 'コントローラ名', 'action' => 'index'])->setPatterns(['#' => '20180718']);
と指定したのですがタイムアウトとなってしまい悩んでいます

助言をいただきたいです
0467nobodyさん垢版2018/06/25(月) 22:34:34.37ID:???
>>466
とりあえず '#' => '20180718' を抜いた状態で正しくできます?
0468nobodyさん垢版2018/06/26(火) 01:57:52.31ID:Ku/bWVbJ
466です
'#' => '20180718' を抜いた状態でもタイムアウトになってしまいます
redirectがうまく行っていないようなので色々試してみます
0469nobodyさん垢版2018/06/26(火) 07:19:07.13ID:???
redirectの前にreturnが抜けてるとか?
0471nobodyさん垢版2018/07/20(金) 12:01:35.56ID:GSIJyAcV
既にAjaxを使って表示されているelementでテーブルを表示してるんですけど、
そのテーブルをさらにAjaxを使ってページングするにはどうしたらいいのでしょうか。。。
cakephp3を使ってるのですが、
2以前だったらググれば結構出てくるのに、3だとなかなか出てこなくて。。。
今の状態は、ページングの中身自体は表示できるんですが、Ajaxじゃないので別ページに飛んでしまい、cssとかとかも効いていないので、ただ中身だけ羅列されている状態です。
もし、お分かりの方いらっしゃれば教えて頂けたら助かります。
0472nobodyさん垢版2018/07/21(土) 10:34:23.45ID:???
Cake3情報少ないよね
使ってる人少ないんだなあ
0473nobodyさん垢版2018/07/21(土) 14:18:00.78ID:???
>>471
ソースレベルから質問してくれないと答えるの難しいと思う
0474nobodyさん垢版2018/07/22(日) 20:18:33.90ID:jdEM4JZ1
>>472
めんどくさいよ。
PaginatorComponentをカスタマイズして、JSONで返すようにすればいいだけの話なんだけど、
JsonViewとかあるのに何でそこだけ別対応しないかんのん?って状態。
こんな古臭い設計と付き合いたくない。
0475nobodyさん垢版2018/07/23(月) 02:46:33.76ID:???
>>471
既にajaxで表示できてるんだから出来そうなもんだけどなぁ
リンクが普通のリンクになってるとか、ページに余計な情報が入ってるとかじゃないの?
0476nobodyさん垢版2018/07/23(月) 14:19:20.67ID:R2t3ap8A
分かりにくい説明なのに皆さんコメントありがとうございます。

ググったりした結果、
$(".pagination a").bind(“click”, function (event) {
if(!$(this).attr(‘href’))
return false;
$.ajax({
dataType:“html”,
evalScripts:true,
success:function (data, textStatus) {$("#決めてた名前").html(data);},
url:$(this).attr(‘href’)});
return false;
});

みたいなことで、最初のページングのリンククリックまでは正しくページングできるんですが、
その次に別のリンクを押すと、また整ってないページになってしまうんですよ(´Д` )
0477nobodyさん垢版2018/07/23(月) 18:18:19.51ID:???
>>476
レスポンスに対して、もう一度イベントのbindしてる?
0478nobodyさん垢版2018/07/27(金) 10:21:07.30ID:j+kMfaUb
>>477 さん
反応ありがとうございます。

既にAjaxで表示できているfunctionとは別にページングのfunctionを作り、既にある方のsuccessから別に作ったものを呼び出せばうまくいきました。
0480nobodyさん垢版2018/07/29(日) 10:09:46.11ID:V/utmln8
ajaxなのに、htmlでもらう。
そこ変えるべきだろ。
0481nobodyさん垢版2018/07/29(日) 11:37:12.23ID:???
>>480
そうなのか。。。
ごりごりHTMLのレスポンス返してるわ。
0484nobodyさん垢版2018/10/10(水) 18:09:29.10ID:Cy3I6AhV
すみません、ソース管理で質問です。
cakephp3で開発したアプリをgitで管理する場合、vendorフォルダのファイルって管理に含めてますか?

vendorも管理に含めるとファイル数・サイズも大きくなり、tortoisegitを使うのが厳しい状態です。
「composerで配布されるコンポーネントは下位互換性が保証される」という理想が守られるなら
vendorは管理から外してもいいのですけど、そうもいかないですよね?

みなさんどうしてます?
0485nobodyさん垢版2018/10/10(水) 18:48:03.92ID:???
composer.lockもコミットしておけばよいだけでは
0486nobodyさん垢版2018/10/10(水) 19:12:04.43ID:???
>>485
あ、そういう役割があるファイルだったんですね。
composer使ったときに出力されるゴミファイルと思って、今までなんのためらいもなく削除してました。
ひとつ賢くなれました。
0487nobodyさん垢版2018/10/17(水) 02:09:28.59ID:???
今度のプロジェクトでLAMP+Cake使うんだけど今の時代この組み合わせってあり?
レスを投稿する


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