Note to Self

自分用のメモ置き場

phpcs & phpcbf についてのメモ

phpcs & phpcbf について

ソースコードGitHubで公開されている


Visual Studio Codeで使用する場合

パッケージをインストール
phpcs
phpcbf

settings.json に以下の設定を追記

"phpcs.standard": "/Users/XXXX/phpcs.xml",
"phpcs.executablePath": "/Users/XXXX/.composer/vendor/bin/phpcs",
"phpcbf.standard": "/Users/XXXX/phpcs.xml",
"phpcbf.executablePath": "/Users/XXXX/.composer/vendor/bin/phpcbf",


phpcs.xml

<?xml version="1.0"?>
<ruleset name="Laravel Standard">

    <!-- 対象フォルダ -->
    <file>../app/</file>
    <file>../config/</file>
    <file>../database/</file>
    <file>../resources/</file>
    <file>../routes/</file>
    <file>../tests/</file>

    <!-- 除外したいファイル、ディレクトリ -->
    <exclude-pattern>*/*.js</exclude-pattern>
    <exclude-pattern>*/*.css</exclude-pattern>
    <exclude-pattern>*/*.xml</exclude-pattern>
    <exclude-pattern>*/*.blade.php</exclude-pattern>
    <exclude-pattern>*/node_modules/</exclude-pattern>
    <exclude-pattern>*/bootstrap/</exclude-pattern>
    <exclude-pattern>*/storage/</exclude-pattern>
    <exclude-pattern>*/vendor/</exclude-pattern>

    <rule ref="PSR2">
        <exclude name="Generic.Files.LineLength"/>
        <exclude name="PSR1.Classes.ClassDeclaration"/>
    </rule>
    <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace">
        <properties>
            <property name="ignoreBlankLines" value="true" />
        </properties>
    </rule>
    <rule ref="Squiz.WhiteSpace.OperatorSpacing">
        <properties>
            <property name="ignoreNewlines" value="true" />
        </properties>
    </rule>
    <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
        <properties>
            <property name="equalsSpacing" value="1" />
        </properties>
    </rule>
    <rule ref="Squiz.WhiteSpace.SemicolonSpacing.Incorrect"/>
    <rule ref="Squiz.WhiteSpace.FunctionOpeningBraceSpace.SpacingAfter"/>
    <rule ref="Generic.Arrays.DisallowLongArraySyntax.Found"/>
    <rule ref="Generic.Formatting.NoSpaceAfterCast.SpaceFound"/>
    <rule ref="PEAR.WhiteSpace.ObjectOperatorIndent"/>
</ruleset>