PHP CS Fixerを使ってファイルの先頭に自動的にコメントを挿入する
PHPのコーディングスタイルを直すPHP CS Fixerでファイルの先頭にヘッダーを自動的に挿入する。
バージョン1系ではこの方法で出来ますが2系ではこの方法では出来ません
バージョン2系は以下の記事を見てください。
.php_csにヘッダーを追加する
.php_cs
ファイルが無い場合は作る。ある場合は書き加える。
<?php use Symfony\CS\Fixer\Contrib\HeaderCommentFixer; // 先頭に追加するコメント // *等は勝手に挿入される $header = <<<EOS This file is part of MyApp. (c) Hiroto Kitazawa <hiro.yo.yo1610@gmail.com> For the full copyright and license information, please view the LICENSE file that was distributed with this source code. EOS; HeaderCommentFixer::setHeader($header); // 省略
fixersにheader_commentを追加する
fixer
にheader_comment
が無いと挿入されないのでheader_comment
を追加する。
<?php // 省略 $fixers = [ // 省略 "header_comment", ]; return Config::create()->fixers($fixers);
fixコマンドを実行
通常通り実行する。
ただし、キャッシュを有効にしてると修正されない場合があるので.php_cs.cache
ファイルがあれば削除しておく。
./vendor/bin/php-cs-fixer fix
Laravel/Lumenでレスポンスヘッダーのアサートをする
Illuminate\Foundation\Testing\Concerns\MakesHttpRequests
に実装されてるseeHeader
メソッドを使う。
framework/MakesHttpRequests.php at 5.2 · laravel/framework · GitHub
ヘッダーが存在する事を確認する
例えば/hoge
にアクセスした時にX-Hoge
ヘッダが存在するかを確認するときには以下のようにする。
<?php class HogeTest extends TestCase { public function testHoge { $this->visit("/hoge"); // "/hoge"へアクセス $this->seeHeader("X-Hoge"); } }
ヘッダーが存在して、値が同じな事を確認する
例えば/hoge
にアクセスした時にX-Hoge
ヘッダが存在して、値がfoo-bar
であることをアサートするときには以下のようにする。
<?php class HogeTest extends TestCase { public function testHoge { $this->visit("/hoge"); // "/hoge"へアクセス $this->seeHeader("X-Hoge", "foo-bar"); // アサート } }
Laravelのコードを読んでいたらseeHeader
メソッドを見つけたので書き直しました。