開発

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...
フリーランス

受託案件の最低限のリスクマネジメント

Twitter見ていたらとんでもなく残念なコンサル初心者の方のツィートがあったので、何が悪かったのか、最低限何をすべきだったのかを解説してみます。 問題のツィートはこちらになります。 簡単にまとめると、案件を受託したコンサル...
フリーランス

アプリの受託開発でまずクライアントに読んでほしいサイト一覧

アプリやサイトの仕事を受けるとき、中途半端に丸投げな、困ったクライアントっていうのが結構います。 そもそも企画段階の詰めが甘すぎて困ってしまうことがあります。 例えば企画段階で必要なターゲッティングやペルソナの設定などを、なかなか理解し...
駆け出しエンジニア

一味ちがうポートフォリオ作成のアイディア

駆け出しエンジニアの皆さん。ポートフォリオ作成頑張ってますか? 今回は、ポートフォリオ作成で他人より一歩先に行ける?アイディアを語ってみたいと思います。 プログラミングスクールや独学でプログラミングを学んだ業界未経験の方が受託開発、...
Laravel8.x

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

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

現役プログラマがProgateをやってみた感想

Twitterを見ていると、Progateで学習しているプログラマ志望の方が多いみたいですので、どんなものか試してみることにしました。 もちろん、現役フリーランスプログラマなので、PHPやHTML/CSS、JavaScriptやjQu...
タイトルとURLをコピーしました