😽
Docker -> Laravel with PhpStormの環境設定
準備
brew install php
brew install composer
環境設定
- 環境設定 | PHP | Composer
- composer.json と IDE 設定を同期する
- 環境設定 | ツール | 保存時のアクション
- コードの整形を ON にする
- インポートの最適化を ON にする
- 環境設定 | エディター | コードスタイル | PHP
- フォーマットを PSR12 にする
Laravel IDE Helper の導入
composer require --dev barryvdh/laravel-ide-helper
php artisan ide-helper:generate
php artisan ide-helper:meta
php artisan ide-helper:model --write-mixin
Larastan の導入
composer require nunomaduro/larastan:^2.0 --dev
phpstan.neon の作成
./vendor/bin/phpstan analyse --memory-limit=2G
phpstan.neon
includes:
- ./vendor/nunomaduro/larastan/extension.neon
parameters:
paths:
- app
level: max
ignoreErrors:
- '#PHPDoc tag @mixin contains unknown class App\\Models\\IdeHelper#'
PhpStorm の設定
- 自動設定されるので手動設定は基本不要
- 環境設定 | エディター | インスペクション | 品質ツール
- PHPStan 検証の重要度を 警告 にする
PHP_CodeSniffer の導入
php composer require --dev squizlabs/php_codesniffer
phpcs.xml を作成
./vendor/bin/phpcs --standard=phpcs.xml
phpcs.xml
<?xml version="1.0"?>
<ruleset name="PSR12/Laravel">
<arg name="extensions" value="php" />
<rule ref="PSR12" />
<rule ref="Generic.Arrays.DisallowLongArraySyntax.Found"/>
<rule ref="Squiz.NamingConventions.ValidVariableName.NotCamelCaps"/>
<rule ref="Squiz.Strings.DoubleQuoteUsage.NotRequired">
<exclude name="Squiz.Strings.DoubleQuoteUsage.ContainsVar"/>
</rule>
<arg name="colors" />
<arg value="ps" />
<file>app</file>
<file>tests</file>
</ruleset>
PhpStorm の設定
- 自動設定されるので手動設定は基本不要
- 環境設定 | エディター | インスペクション | 品質ツール
- PHP_CodeSniffer 検証の重要度を 警告 にする
PHPUnit を PHPStorm と連携させる
- 環境設定 | PHP | テストフレームワーク
- 自動設定されるので手動設定は不要
- 環境設定 | PHP
- CLI インタープリター
- 名前:docker-php
- Docker Compose
- サーバー:Docker
- 構成ファイル:docker-compose.yml
- サービス:docker-php
- ライフサイクル
- 既存コンテナーに接続する
Discussion