Cakephp

[Cakephp]バージョン2のセッションを3以降にも継続させる方法

2022/5/15    

問題: Cake2でのセッション情報がCake3以降でクリアされてしまう 余談として、Cakephp2からCakephp3以降のアップデートは破壊的な変更が多く行われているため、安易にアップデートすることができません。 小規模なWEBアプリケーションであれば、根っから作り直してしまうという方法が手っ ...

[Cakephp4]contain先のデータってどう取得するの?

2022/3/27    

Cakephpは命名規則など、規約が強めのフレームワークの一つだと思います。(まあ、他のフレームワークはさわりしか知らんねんけど) 例えば、Laravelは凄い人気なんだけども、コードを書く上では良くも悪くも柔軟性が強くて、オレオレコードになりがちな印象です。なので、上級者が使うとより保守性の強いシ ...

PHPで日付フォーマットと妥当性をチェックする

2022/3/13    ,

PHPでpreg_match()を使って日付のフォーマットを簡単にチェックすることができますが、同時に日付の妥当性をチェックする形にしてみます。 よくあるのは2月31日とかの日は存在しませんよね。そういう場合、checkdate()を使って妥当性をチェックします。 /** * 日付フォーマット検証 ...

[Cakephp4]特定のデータがあるかどうかを判定したい場合はexists()を活用しましょ

2022/3/12    

特定のIDがあれば、それを基に検索し、該当データが存在すれば、次の処理をおこなう。 こうしたケースって多々あります。 if (!empty($data['id'])) { $entity = $this->Models->find() ->where(['id' => $da ...

[Cakephp4]複数関連モデルのフォーム作成

2022/2/22    

一つの入力画面に複数のモデルのフォームを作りたい時って、ありますよね? 通常CakephpでFormを作成する時はFormヘルパーを使用して開発すると効率が良いです。 $this->Form->control('フォーム名'); というような感じで作っていきますね。 複数のモデルを扱う場 ...

[Cakephp4]allowEmpty系を特定の条件のみ有効にする

2022/2/12    

例えば、複数フィールドで、どちらかが必須で、一方の入力があれば、必須でなくしたい場合などがあります。 ま、JSとかやり方はいろいろあると思いますが、Cakephp4でのバリデートで特定の条件のみAllowEmptyを有効にするというような方法です。 $validator ->allowEmpt ...

[Cakephp]Cake2からCake3系、Cake4系へ移行Tips(View系中心)

2022/2/11    

Cakephp2からCakephp3や4へのアップデートって、根幹から変わっている部分が多く(個人的には配列ベースからオブジェクトベースへ) 元コードで稼働するケースはほぼないと言っても良いほど、破壊的な変更が加えられています。(何をいまさら感)   そこでView中心ですが、ちっぷすとし ...

[Cakephp4]テーブル内でカスタムバリデート追加値の定義

2022/2/19    

Q. カスタムバリデートのコールバック関数を定義した際、Cakephpマニュアルにある`$extra`的な使い方は? validation_code // プロバイダーではないコールバック関数を利用する $validator->add('title', 'custom', [ 'rule' = ...

[Cakephp4]ヘルパー内でリクエストオブジェクトの参照

2022/1/10    

  Cakephp4では、ヘルパー内において、$this->request が削除されました。 特定のアクション・コントローラーによって、処理を分岐したいときってよくあるケースだと思います。   アクセスの仕方(ヘルパー内) Helperファイル内 $this->ge ...

[Cakephp4]ファイルアップロードのUploadedFileオブジェクトを配列に戻す

2022/1/9    ,

日々の業務内でファイルアップロード関連の作業をしていた時、ふと、気づきました。 レスポンスがいつのまにかLaminas\Diactoros\UploadedFileobjectになっている??   どうやら、Cakephp4から画像関連もオブジェクト形式で操作できるようになっているようです ...

© 2022 FuwaFuwaShoChan BLOG