PHPを中心にWeb周りのことなどをあれこれ。

Xdebug 3 アップグレードガイド 私訳

PHP 8に対応した、Xdebug 3がリリースされました。2から設定方法が変更されていますので、iniファイルの変更が必要です。 アップグレード方法はドキュメントに記載されています。 ...

12月 28, 2020 · nojimage

Symfony のコマンドラインアプリケーションを CakePHP コマンドラインアプリケーションとして動かす

この記事は、 CakePHP Advent Calendar 2019 17日目の記事です。 Symfony のコマンドラインアプリケーションを CakePHP コマンドラインアプリケーションとして動かす方法を解説します。 (余談ここから)昨日(12/16 JST)ついに、CakePHPの次期バージョンである4.0がstableリリースされました! > CakePHP 4.0.0 Released — Bakery 3.xから色々と整理され、さらに良いフレームワークになったと思います。(余談ここまで) ...

12月 17, 2019 · nojimage

CakePHPのビューテンプレート編集を<del>爆速</del>ちょっと楽にする PhpStorm Live Templates

この記事は、 CakePHP Advent Calendar 2019 3日目の記事です、が、6日に公開しました。 PhpStorm Live Template? 公式にヘルプがあるよ。 Live templates - Help | PhpStorm ライブ・テンプレート - 公式ヘルプ | PhpStorm CakePHPのビューテンプレートを書くのをちょっと楽にする CakePHPのテンプレートは素のPHPです。こんな感じですね。 ...

12月 6, 2019 · nojimage

CakePHP 3.x の PHP 5.6向けUUID実装では衝突がおきるかもねというお話

この記事は、 CakePHP Advent Calendar 2019 2日目の記事です。 1日目の記事は、hgsgtkさんの「来たるCakePHP 4.0 を知ろう - Qiita」でした。 TL;DR: PHP 5.6 を使っている人は paragonie/random_compat を入れましょう。 先月に、UUIDの衝突に関する話題が盛り上がりました。 ...

12月 2, 2019 · nojimage

PHPカンファレンス福岡2019 マネクラからの挑戦状 Webサイトコードゴルフをやってみた

PHPカンファレンス福岡2019で「マネクラからの挑戦状」というイベントがありました、現地ではマシンを持っていってなかったためやってませんでしたが、おうちでやってみました。 ...

7月 7, 2019 · nojimage

Composer post-install-cmd で dev の時のみ実行するスクリプトを定義する

require-dev のパッケージに依存したスクリプトを post-install-cmd 等のフックで dev時のみ実行したい(–no-dev時には実行したくない)ときは [ $COMPOSER_DEV_MODE -eq 0 ] || を実行したいスクリプトの前に付与します。 ...

1月 30, 2019 · nojimage

CakePHP 3 でURL情報からコントローラークラスを取得する

この記事は、 CakePHP Advent Calendar 2018 17日目の記事です。 前日の記事は chinpei215 さんの CakePHP2 のデバッグツールバーをプリチーにする - Qiita でした。 TL;DR: ControllerResolver.php - gist CakePHP 3.4以降の話。 権限コントロールまわりのアレコレのために、URL情報からコントローラークラスを取得したかったのでやってみました。 ...

12月 17, 2018 · nojimage

PHPUnitで名前空間付きのモッククラスを作る

TL;DR: class_alias を使う。 PHPUnit 5.7 \Awesome\GeartInterface というインターフェースから \Awesome\MockClass という名前でモッククラスを作成したい。 setMockClassNameで\Awesome\MockClassを指定すると名前空間付のクラスは作成できないと怒られる。 ...

10月 25, 2018 · nojimage

CakePHP3 beforeSaveでassociatedを書き換える時の注意点

TL;DR: beforeSaveでassociatedを書き換えるときは、ドット記法は使えないので配列で指定する。 Authors hasMany Posts hasMany Comments のリレーションがあるとする。 Authorsから、Posts、Commentsをまとめてsaveしたい場合、通常のsaveであればassociatedに指定してやればよい。 ...

10月 25, 2018 · nojimage

Chronosを1.2へバージョンアップしよう

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 を使用でき、データベースの時刻系のフィールドはこれらのクラスへマッピングされます。 ...

8月 10, 2018 · nojimage