【PHP】フレームワーク CakePHP 19ホール目【v3.3】 [無断転載禁止]©2ch.net
別にいいけど、そういう情報を2chに頼るのってどうなんだろう >>438
理屈ではわかるけど、実際に情報が速いのはSNSだったり掲示板だからな >>440
なんか誤解してるかもしれんが、公式サイトも当然大事だが、それ以外のソースも重要っていう意味ね。
脆弱性情報なんかの場合、公式アナウンスの前にもなるはやで情報集める必要があるんたから、
かいはつしゃたるもの情報源は複数もっておくべき。 それしか言うことないのかよ、と言われても
他の人は言ってさえいない まあ他に話題もないし別にいいんでない
とも思うけど、スレに新着カキコ→3.6.3リリース みたいなのばっかりだと辛いな じゃあCake2から乗り換えるFWについて
ぶっちゃけ3ってどうなん?使ってる?使えてる? 2から3に移るのがコストになるからそれならLaravelやるかとかRoRに移行したのも多いはず うちもCake2だったが次からLaravelに移る オラもLaravelに移行中というか色々勉強中
急ぎの仕事は、イカンと思いつつも慣れているCake2で作ってる(蔵様すんませんw) 俺はお堅い仕事で、長い周期でシステムを動かさないといけないから結局Cake3に移行した。
いろんな言語見ても、フルスタックのFWでサポート期間が長いのを探すと、Cakeは優秀だよ。 公式のこれなんですけど
最初の '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' => 'タイトルが十分にユニークではありません'
]); >グローバル関数を利用する
なんだから validate_title という名前の関数があるんじゃない カスタムバリデーションルールの項目に書いてある説明だから>>454でファイナルアンサーでしょ
自分で書いた関数も使えますよって説明だから >>459
debugモードで影響がある脆弱性みたいだね。
ちんぺいさんのtweetは役に立つ。 来年のCakeFestの開催地を投票で決めるということで、既に始まっています
https://cakefest.org/
・Japan
・Atlanta GA, USA
・France
・Germany プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
DJMYA CakePHP3で、特定のコントローラーだけcookie名を変えたい場合、
どうすればいい?
initializeのなかで
Configure::write( 'Session', [ 'cookie' => 'xxxxx' ] );
とやってもかわらないのだが、これじゃダメなのかな? 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']);
と指定したのですがタイムアウトとなってしまい悩んでいます
助言をいただきたいです >>466
とりあえず '#' => '20180718' を抜いた状態で正しくできます? 466です
'#' => '20180718' を抜いた状態でもタイムアウトになってしまいます
redirectがうまく行っていないようなので色々試してみます redirectの前にreturnが抜けてるとか? 既にAjaxを使って表示されているelementでテーブルを表示してるんですけど、
そのテーブルをさらにAjaxを使ってページングするにはどうしたらいいのでしょうか。。。
cakephp3を使ってるのですが、
2以前だったらググれば結構出てくるのに、3だとなかなか出てこなくて。。。
今の状態は、ページングの中身自体は表示できるんですが、Ajaxじゃないので別ページに飛んでしまい、cssとかとかも効いていないので、ただ中身だけ羅列されている状態です。
もし、お分かりの方いらっしゃれば教えて頂けたら助かります。 Cake3情報少ないよね
使ってる人少ないんだなあ >>471
ソースレベルから質問してくれないと答えるの難しいと思う >>472
めんどくさいよ。
PaginatorComponentをカスタマイズして、JSONで返すようにすればいいだけの話なんだけど、
JsonViewとかあるのに何でそこだけ別対応しないかんのん?って状態。
こんな古臭い設計と付き合いたくない。 >>471
既にajaxで表示できてるんだから出来そうなもんだけどなぁ
リンクが普通のリンクになってるとか、ページに余計な情報が入ってるとかじゃないの? 分かりにくい説明なのに皆さんコメントありがとうございます。
ググったりした結果、
$(".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;
});
みたいなことで、最初のページングのリンククリックまでは正しくページングできるんですが、
その次に別のリンクを押すと、また整ってないページになってしまうんですよ(´Д` ) >>476
レスポンスに対して、もう一度イベントのbindしてる? >>477 さん
反応ありがとうございます。
既にAjaxで表示できているfunctionとは別にページングのfunctionを作り、既にある方のsuccessから別に作ったものを呼び出せばうまくいきました。 ajaxなのに、htmlでもらう。
そこ変えるべきだろ。 >>480
そうなのか。。。
ごりごりHTMLのレスポンス返してるわ。 すみません、ソース管理で質問です。
cakephp3で開発したアプリをgitで管理する場合、vendorフォルダのファイルって管理に含めてますか?
vendorも管理に含めるとファイル数・サイズも大きくなり、tortoisegitを使うのが厳しい状態です。
「composerで配布されるコンポーネントは下位互換性が保証される」という理想が守られるなら
vendorは管理から外してもいいのですけど、そうもいかないですよね?
みなさんどうしてます? composer.lockもコミットしておけばよいだけでは >>485
あ、そういう役割があるファイルだったんですね。
composer使ったときに出力されるゴミファイルと思って、今までなんのためらいもなく削除してました。
ひとつ賢くなれました。 今度のプロジェクトでLAMP+Cake使うんだけど今の時代この組み合わせってあり? 単発で使うにはcakeの学習コストが高すぎる
cake案件バンバン入ってくる時代なんて二度とないだろうしどうせ勉強しなきゃいけないならlaravelにでもしたほうがいい cakephp3なのですが年代ごとにテーブルが分けられており年代以外のカラム名は全て共通なので
select文はBehaviorにてselectクエリを記述して使い回すという使い方で良いのでしょうか?
それともそれぞれの年代の全てのModelファイルにselect文を実行するメソッドをそれぞれ記述していく方法となるのでしょうか? >>491
Behaviorだろう
だけど、そんな変なDB設計にした責任者を小一時間問い詰めるほうが先 >>492
ありがとうございます
Behaviorでクエリ実行するようにしました
全ての年代のテーブルモデル呼び出す必要がありましたw Cakephp3のunionAllなのですが公式サイトのCookbookでは以下のように説明がされていました
$inReview = $articles->find()
->where(['need_review' => true]);
$unpublished = $articles->find()
->where(['published' => false]);
$unpublished->unionAll($inReview);
こちら10テーブルなど大量のテーブルをunion allしたい場合は
$inReview1 = $articles->find()
->where(['need_review' => true]);
$inReview2 = $articles->find()
->where(['need_review' => true]);
・
・
・
$inReview10 = $articles->find()
->where(['need_review' => true]);
$unpublished->unionAll($inReview1)->unionAll($inReview2)〜->unionAll($inReview10);
のようにテーブル数ぶん変数を用意してunionAllするしか方法はないのでしょうか?
ご指南よろしくお願い致します 今からcakeやるハメになった
こんな時代にcakeなんかにしがみつきやがって >>496
あと3年したら、cakeの有能さに気付くだろう マジかよ
名前だっせえからこんなの勧めるのやめてほしい 有能な人はどんなフレームワークでもスッとこなすもんだよ Cakeのアップデート情報を日本語で書いてくれてるブログが有ったと思うけど、知らない?
ググっても見つけられなくなったんだが、止めちゃったのかなぁ >>500
ちんぺいさんのブログとか、コネヒトエンジニアブログとか有ったけど途中で更新やめてるね
https://mbstring.com/
http://tech.connehito.com/archive/category/CakePHP
大体こういう情報は感謝もされないし反応すら無いし、全ての機能を把握してないと正しく和訳できないから長続きしない
ちんぺいさんはCakeの中の人だけどGitHub見る限りあまり活動してないようだ
CakeのSlackチャンネルでは活動してるのかな?俺入ってないから分からない cakeが今できる最大のサポートって打ち切り発表して移行を促すことだと思う 名前がダサい
もっとカッコいい名前だったら流行ったのに 多分5年後に残ってるのは、なんだかんだでcakeなんだな Cakeはもう無理だろ
シェアが落ちすぎて日本語文献どころか英語文献すらロクにない
プラグインも昔はちゃんと動いてたのかもしれんが、開発放置されて変な動きするもの多いし
結論として自分で作るしかなくて調べた時間全部無駄って場面が多すぎる だよなあ
なのに今から新規開発でcakeでやるとか言い出した某開発会社に付き合わされるハメになった
こっちが提案したLaravelは軽くスルー
クソジジイかと思ったら意外と若い奴だった laravelはrailsの二の舞を演じそうなんだよな。 >>508
Railsが落ちぶれたというより、Rails使いたちが他を見下して勝ち誇っている間に時代に置いて行かれたから
気持ち悪い宗教はスルーされるいい例 メール送信にコンポーネント使う意味あんの?
Mailer作ればよくね? とうとう2018年は、Cakeの案件が1件もなくなった codeIgniterが薄くて楽
cakeみたいにガチガチすぎて重いフレームワークは淘汰される
というかもう誰も使ってないし
なぜか日本だけジジイどもが使ってる codeIgniterが重くて苦痛
cakeみたいにユルユルすぎて軽いフレームワークは大人気
というか世界中で使われてるし
なぜか日本だけジジイどもが使ってない パクリなんて人聞きの悪い
インスパイアされた
んじゃないの? なんかよ〜分からんが
ttps://book.cakephp.org/2.0/ja/models/callback-methods.html
beforeValidate
バリデーションが行われる前にモデルのデータを変更するか(以下略)
Model内で成形しても View に引き継がれないし
それどころか Vaidate も古いデータが使われる。
馬鹿じゃね? なんのための beforeValidate なんだ?
これって一般的な設計思想なんか? AppModel に getController メソッド作って
[controller]->request->data
書き換えたらModelだけで対応出来たわ。
MVCってそれぞれデータ持つもんなんかねぇ。
いっそMVCDにしやラクなのに……。 >>527
Cake2の設計思想の事を今更言っても仕方なくね? すまん。Cake2どころか3もよ〜わからん。
もっと言うとMVCもよ〜わからん。
もっと言うとコンピュータ科学もよ〜わからん。
ひょっとしてこれが普通かも、と思ってる。
簡単だよって言われて改造してみた。 Cake4のアルファリリース来たね。
正式版はいつ頃だろう? cake4も1.2の時みたいに難産バージョンになってるな
去年の頭に出すって言ってたけど1年以上延びちゃった
3.6で最後の予定が3.7、3.8と来てズルズルと… 今回の脆弱性対応、どんなケースで影響があるんだ?? ああ、ユーザー入力をそのまま検証なしにunserializeするようなケースか。
よくある脆弱性だね。 >>534
令和を迎えてアクセスが殺到していました
ご迷惑をお掛けしました