CodeLab

開発

パスワード入力時の文字数制限は大きめにしろ

会員登録するのにパスワードを登録しますが、パスワードは10文字までですみたいに、短いパスワードしか設定できないサイトははっきり言ってゴミです。パスワードを平文で管理している可能性が高いので、登録するのは控えたほうがいいでしょう。まともな実装...
開発

コードレビューは難しい

コードレビューの思い出ふた昔(苦笑)ぐらい前にも、コードレビューという文化がありました。キャリアの最初のころを思い出してみると、確かにコードレビューをした覚えがあります。当時は、ソースコードをプロジェクターを使ってスクリーンに映し、メンバー...
CakePHP

[PHP]ゴミがレンダリングされる

CakeなりLaravelなりで、下手にコンソール出力するデバッグプリントを使って消し忘れるとめんどくさいことになります。フレームワークだと、いろんなファイルをを経由して呼ばれるので、消し忘れるとどこでやってるかわからなくなります。フレーム...
CakePHP3.x

[CakePHP]patchEntity()で渡したデータがNULLになる件

CakeでpatchEntity()で渡したカラムの中身がなぜかNULLになってしまう問題が発生。原因は、渡したデータの変数の型やフォーマットが、DBのカラムの型と一致していなかったり、変換できない場合、NULLになるというものでした。発生...
Laravel

Laravel sail によるデバッグ設定

Laravel sail で構築したアプリのPHPデバッグを行う方法です。設定変更Xdebugについては標準でVer3系のものがインストールされています。.ENV ファイルに以下の環境変数をセットSAIL_XDEBUG_MODE=devel...
Laravel

[Laravel] sailのDBサーバーへのアクセスが拒否される

Laravel sail ベースで作成したコンテナのDBで新しいDBを作ろうとしたら・・・ユーザー 'sail'@'%' によるデータベース 'xxxxxxx' へのアクセスは拒否されました。原因デフォルトで作られるユーザーの権限ではダメら...
CakePHP

[CakePHP]IN句を使う場合はwhere()を使うな!whereInList()を使え

通常、IN句を使って指定のIDのレコード一覧を取ってくるには$this->Users->find('all')->whre();とすればよいのですが、$userListが空の場合エラーになってしまいます。従来は$userListの存在チェッ...
CakePHP

[CakePHP4]ModelをcontainしたらCannot convert value of type array to string になる場合

CakePHP4であるモデルをcontain()で追加したら、下記のエラーになりましたCannot convert value of type array to string原因テーブルに複合PK使っていました。その場合、接続元のテーブルを...
Laravel

Laravel Sailでphpmyadminコンテナを追加する

Laravel Sailでphpmyadminを使う方法です。sailが作ったdocker-compose.yml の services セクションに以下を記載しましょう。もしくは、docker-compose.override.yml で...
Laravel

[Laravel]sailでDBに接続できない

新規設定したLaravel SailでなぜかDBにアクセスできない。mysqlコンテナに入ってDBにログインしようとしたところ…ERROR 1045 (28000): Access denied for user 'sail'@'local...
Docker

[Ubuntu]Docker is not running. になったら

Ubuntu(ほかのLinuxでも同じかと思いますが)sail経由でdockerコンテナを起動しようとしたが…./vendor/bin/sail buildDocker is not running.$ sudo systemctl sta...
Laravel

php artisan sail:install で複数コンテナを選択する

とりあえず、公式サイトにのっとってインストールartisanコマンドでインストールする段で$ php artisan sail:installWhich services would you like to install? : mysql...
Laravel

composerのよくわからないエラー

composer を使っていたらこんなのが出た。具体的にはLaravelのSailをインストールしようとしていました。$ composer require laravel/sail --dev could not be fully load...
Laravel8.x

[Dusk]Laravel8 Duskで自動的にブラウザのセッションをクリアする

Laravel8 Duskでは、テストが変わってもブラウザの状態が引き継がれてしまいます。テストが変わってログイン中の状態を引き継いでほしくないなど、いちいち気にしないと行けないのは面倒過ぎます。逆に、簡略化のために引き継いでほしいというこ...
Laravel8.x

[Laravel8] Model::value()の実装が意味不明

こんなコードを書いたら$user_id = User::where()->first()->value('id');$user_id の中身は 1でした。なんだそりゃ?where()が無視されてしまうみたい。$user = User::wh...
開発

[Dusk]複数のブラウザの作成はできない?

Laravel Duskで複数ブラウザをロードすることができる的なことが書いてあるんだが・・・環境Mac(M1)Laravel8Docker環境seleniarm/standalone-chromium上記URLの公式のサンプルコード$th...
Docker

Laravel Duskを自前のDocker経由で動かす

色々試行錯誤して、自前のDocker環境でDuskを起動することができたのでその時のメモです。基本的なインストール方法は公式をみてもらうとして、それ以外のアンドキュメンテっとな部分についてのみ記載します。環境設定ファイルルートに .env....
Laravel

Laravel Duskをsailから動かしてみる(動いた)

前回、Duskを動かすために色々試してみたのですが、うまくいかなかったので、Sailでやってみました。結論急ぐ人向けに結論だけ先に述べます。Sail経由でDuskを動かす場合は、sailコマンド経由でやりましょう。./vendor/bin/...
Laravel

Laravel Duskが動かん(on Docker) (失敗編)

Laravelでテストコードを書いてますが、通常のUnitTestはHTTPレスポンスの中身のテキストしかテストできません。jQueryとかVueとかフロントでレンダリングしているものに関してはブラウザ経由でアクセスする必要があります。これ...
Laravel

[laravel]dockerで動かしているアプリに対して、ホストでartisanしたらダメ、絶対。

artisanうまく動かないなぁと思って、下記コマンドでキャッシュをクリアしたら。php artisan cache:clearphp artisan config:cache根本的に動かなくなったThere is no existing ...