Composer post-install-cmd で dev の時のみ実行するスクリプトを定義する
require-dev のパッケージに依存したスクリプトを post-install-cmd 等のフックで dev時のみ実行したい(–no-dev時には実行したくない)ときは [ $COMPOSER_DEV_MODE -eq 0 ] || を実行したいスクリプトの前に付与します。 ...
require-dev のパッケージに依存したスクリプトを post-install-cmd 等のフックで dev時のみ実行したい(–no-dev時には実行したくない)ときは [ $COMPOSER_DEV_MODE -eq 0 ] || を実行したいスクリプトの前に付与します。 ...
この記事は、 CakePHP Advent Calendar 2018 17日目の記事です。 前日の記事は chinpei215 さんの CakePHP2 のデバッグツールバーをプリチーにする - Qiita でした。 TL;DR: ControllerResolver.php - gist CakePHP 3.4以降の話。 権限コントロールまわりのアレコレのために、URL情報からコントローラークラスを取得したかったのでやってみました。 ...
TL;DR: class_alias を使う。 PHPUnit 5.7 \Awesome\GeartInterface というインターフェースから \Awesome\MockClass という名前でモッククラスを作成したい。 setMockClassNameで\Awesome\MockClassを指定すると名前空間付のクラスは作成できないと怒られる。 ...
TL;DR: beforeSaveでassociatedを書き換えるときは、ドット記法は使えないので配列で指定する。 Authors hasMany Posts hasMany Comments のリレーションがあるとする。 Authorsから、Posts、Commentsをまとめてsaveしたい場合、通常のsaveであればassociatedに指定してやればよい。 ...
composer require cakephp/chronos:^1.2 setTestNow()メソッドがクラスを横断して時刻セットできるようなった! CakePHP 3.2以降、時刻操作クラスとして cakephp/chronos が採用されています。 CakePHP内ではChronosを継承した \Cake\I18n\FrozenTime, \Cake\I18n\Time, \Cake\I18n\FrozenDate, \Cake\I18n\Date を使用でき、データベースの時刻系のフィールドはこれらのクラスへマッピングされます。 ...
COMPOSER_MEMORY_LIMIT=-1 composer.phar <...> OR php -d memory_limit=-1 composer.phar <...> ここを見るがよい: Memory limit errors - Troubleshooting - Composer composer updateを叩いたら以下ようなメッセージでメモリ足りませんエラーとなる。 PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted symfony系などの依存の激しいパッケージが入っていると足りなくなりがち。 ...
docker login registry.example.com:5000 で以下のような証明書エラーが出る人向け。 Error response from daemon: Get https://registry.example.com:5000/v2/: x509: certificate signed by unknown authority Docker for Mac Step 1. Chain of Trust - Let’s Encrypt - Free SSL/TLS Certificates から次の中間証明書を取得 Let’s Encrypt Authority X3 (IdenTrust cross-signed) 証明書のリンク先は拡張子が .txt となっているので、拡張子 .pem に変更して保存する。 ...
TL;DR https://www.google.com/maps/search/?api=1&query={address} 読め > Developer Guide | Maps URLs | Google Developers なんか、ググるとURLが https://maps.google.co.jp のだったり古い情報しかでてこない。 2018年7月時点では↑が正しい。 {address}は住所で、URLエスケープした住所。PHPでやるならurlencodeかhttp_build_queryで組み立てる。 ...
Posts hasMany Comments の関係で、最新のCommentsを3件だけ紐付けて取得したい場合を考える。 1. containに書く方法 再利用を考えなければ以下のように、containでクエリを書けばよい。 ...
composer list で表示される一覧に説明文をつける Custom descriptions | Scripts - Composer scripts-descriptions を定義すればOK。 { "scripts": { "test": "phpunit" } "scripts-descriptions": { "test": "Run all tests!" } } タイムアウトを調整する デフォルトでは300secなので、Codeceptionの受け入れテスト等、時間のかかるスクリプトは以下のようなタイムアウトエラーが出る。 ...