PHP

PHPPHP
CakePHP4

helperなどでのURL指定方法の命名規則

CakePHP4でprefixを出したくてこんな感じに書いたらエラーになりました。 $this->Url('link-title', ); エラー内容 A route matching "array ( 'prefix'...
CakePHP

==と===の罠

PHPは変数の型のチェックがいい加減なんで、仕様をよく理解していないと変なところでハマったりします。 CakePHPのコントローラー処理で、仮に <?php //コントローラーで public function view($u...
PHP

[PHP]変数の中身を変数名に使いたい

変数の中身を変数名に使いたい時ってありますよね。 そういう時は可変変数というものを使います。 <?php $hoge = 'ほげだよ'; $fuga = 'hoge'; echo $$fuga; 実行例 ちな...
CakePHP3.x

[CakePHP4]どこでもloadModel~

コントローラー以外でもModelを使いたい場合ってありますよね? え?使うなって。でもコンソールとかコンポーネントとかで使いたい場合あるでしょう? そんなときの方法です。 環境 CakePHP4(たぶんCakephp3も同じ) 方...
CakePHP4

Queryビルダーに渡す無名関数でエラー

Queryビルダーに渡す無名関数で下記のようなエラーが出る場合。 Argument 1 passed to App\Controller\コントローラー名Controller::App\Controller\{closure}() m...
CakePHP4

ErrorControllerでログインユーザー情報が取得できない。

Authentication Component 2.xでErrorControllerでログインユーザー情報が取得できない問題に直面しました。 エラー画面でもユーザー情報を表示するためにログイン情報が欲しいのだけなのですが、 $thi...
CakePHP4

Entityを手動で書き換えたら保存されない場合は?

CakePHPのEntityの仕組みは、わかれば便利なんですが、知らないとちょっと困る場合が多いです。 patchEntity()を通してEntityを生成する場合は問題ないのですが、手動でEntityを書き換えた場合はいろいろハマるポイ...
CakePHP4

自動生成されたマイグレーションファイルがマイグレートできない。

自動生成されたマイグレーションファイルがマイグレートできませんでした。 エラーはこんな感じ PDOException: SQLSTATE: Syntax error or access violation: 1067 Invalid...
CakePHP3.x

$this->request->is()が反応しない

CakePHP4で編集画面の作成を行っていたらなぜか$this->request->is()に反応してくれなくて一向にデータの更新処理に行かない。 なんでだ…。と思ったら 原因 単なるケアレスミス。 フォームにプライマリ...
CakePHP3.x

Authentication Component 2.xで手動でログイン状態にする方法

CakePHP4のログイン認証はAuthentication Component 2.xに変わったのですが、以前と勝手が違うので戸惑うことが多いです。 手動でログインする方法が分からなかったので調べてみました。 バージョン情報 Cak...
CakePHP4

モデルに存在しないフィールドのヴァリデーション

モデルに含まれていないカラムのヴァリデーションをどうするかという問題があります。 ヴァリデーションを書いたとしても、Entytyをインスタンス化する過程でブロックされてしまうので意味がありません。 モデルがないフォームのヴァリデーシ...
CakePHP4

CakePHP4でヴァリデーションだけ行う

CakePHP4でヴァリデーションだけ行うには、CakeBookでは下記のように // ArticlesController クラスにおいて $article = $this->Articles->newEntity($th...
CakePHP4

Authentication Component 2.x でのログイン実装

CakePHPでは、デフォルトでログイン用の認証システムが組み込まれていました。これまではcomponentでの実装がされていまいたが、今までのものはCakePHP4では非推奨になり新たな方法が実装されました。 以前は、CakePHP...
CakePHP4

CakePHP4で配列やオブジェクトをログ出力する方法

CakePHP4でログの仕様が変わってしまったために、配列などがログ出力できなくなってしまいました。 何とかする方法を紹介します。 CakePHP4のログはテキストしか渡せない CakePHP3までは、Logクラスに変数を突っ込んでや...
CakePHP4

[CakePHP4.x]SSL付きだとDebugKitが動かない?

CakePHP4でDebugKitが動かない問題に当たりました。 PHP7.4 CakePHP4.2.3 DebugKit  4.4?(Cake本体に同梱) ホスト環境はWindows10で、VirtualBoxにCentO...
Laravel8.x

Laravel8 記述の違いによるモデル周りの動作の違いについて

Laravel8のModel::insert()メソッドでレコードを登録したら、なぜかcreated_byがNullで入っていました。 あれ?自動でいれてくれるんじゃなかったのか?と思って調べたら、どうやら記述方法で動作が変わるらしい。 ...
CakePHP

Windowsホスト&VirtualBoxの共有フォルダー内でcomposerやnpmが動かない

いろいろ試して、WindowsホストでVirtualBoxの共有フォルダー機能は使ってはいけないという結論になりました。 なぜダメなのかと解決方法(代替案)を記事にしました。 composerやnpmが動かない Windows環境でV...
PHP

PHP.iniの設定ミスでファイルのアップロードができない

PHP.iniの設定ミスでファイルのアップロードができなくなってしまった。 原因はケアレスミスだった。 問題 現象としては upload_max_filesize のサイズが足りないのでアップロードできないエラー。 当然、十分なサ...
Laravel

[Laravel講座]Laravel8.xのルーティング

Laravelのルーティングについてまとめました。 まずここがわからないと何も表示させることができません。 だいたいは、こちらに書いてあることの抜粋です 初めに 環境 Laravel 8.x での情報になります。 廃...
Laravel

VirtualBox&Vagrantで爆速Laravel環境構築

LaravelなどのWebサーバーの開発環境を構築するのは、プログラミング初心者にはかなり難しい作業です。 Windows/Mac環境であれば、XAMPPを使うのが一番早いのですが、直接インストールするのはさけたいとか、PHPのバージョン...
タイトルとURLをコピーしました