Skip to content

bolt/codingstyle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bolt coding style standard

PHP

Bolt tries to adhere a coding style based on PSR-2 and the Symfony2 coding standard.

To use run:

composer require bolt/codingstyle squizlabs/php_codesniffer escapestudios/symfony2-coding-standard:^3.0@dev --dev

Add a global before require if you want to install it globally.

If installing globally you also need to configure the installed_paths:

phpcs --config-set installed_paths "$(composer config --global data-dir)"

Then create a CodeSniffer config file named phpcs.xml.dist in your project root:

<?xml version="1.0"?>
<ruleset>
    <!-- Add color to output...umm duh -->
    <arg name="colors"/>

    <!-- Files or folders to sniff -->
    <file>src</file>
    <file>tests</file>

    <!-- Path to our coding standard folder -->
    <rule ref="vendor/bolt/codingstyle/Bolt"/>
</ruleset>

Additional changes can be made here. See CodeSniffer's annotated ruleset for more information.

phpcs.xml.dist should be committed for all developers to use.
An phpcs.xml file can also be create which takes precedence over phpcs.xml.dist for local changes. This file should be ignored from git.

To use run:

composer require bolt/codingstyle friendsofphp/php-cs-fixer --dev

Add a global before require if you want to install it globally.

Then create a config file named .php_cs.dist in your project root:

<?php

return Bolt\CsFixer\Config::create()
    // addRules() accepts arrays and traversable objects.
    ->addRules(
        // Create Bolt's standard rules.
        Bolt\CsFixer\Rules::create()
            // Enable risky rules.
            ->risky()
            // Enable PHP 5.6, 7.0, and 7.1 rules. Methods exist for each version.
            //->php71()
    )

    // Modify existing rules or add new ones.
    ->addRules([
        'heredoc_to_nowdoc' => false,
        'mb_str_functions'  => true,
    ])

    // Add directories to scan.
    ->in('src', 'tests')
;

See their website for a list of rules and additional configuration options.

.php_cs.dist should be committed for all developers to use.
An .php_cs file can also be create which takes precedence over .php_cs.dist for local changes. This file should be ignored from git.

JavaScript

There's no explicitly written style yet, but when creating the files needed for Bolt using the grunt toolchain there's a target linting the javascript code.