Стандарт оформления кода

Материал из Smart Core Wiki

Перейти к: навигация, поиск

За основу приняты стандарты кодирования PSR они же используются в Symfony2 Coding Standards, за некоторыми отклонениями:

Для некоторой автоматизации, следует использовать утилитку PHP-CS-Fixer, скачать можно тут php-cs-fixer.phar

1. Условные операторы и циклы. Код приведён ниже, а на словах звучит так:
  • Фигурные скобки ставятся ВСЕГДА, не зависимо от того сколько операторов в них заключено.
  • После оператора следует один пробел.
  • Оператор else пишется на строке следом за закрывающей фигурной скобкой через один пробел, после else ставится 1 пробел и открывается фигурная скобка.
  • Внутри скобок, пробелы ставятся только вокруг операторов.
  • Открывающая фигурная скобка ставится на одной линии с оператором и за закрывающей круглой скобкой должен быть один пробел.
<?php
namespace Vendor\Package;
 
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
 
class Foo extends Bar implements FooInterface
{
    public function sampleFunction($a, $b = null)
    {
        if ($a === $b) {
            bar();
        } elseif ($a > $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }
 
    final public static function bar(array $data)
    {
        foreach ($data as $key => $val) {
            ld($key, $val);
        }
    }
}
2. Переменные допускается именовать не по венгерской нотации, а в нижнем регистре, в качестве разделителей слов используется нижнее подчеркивание. Например:
$my_value = 1; 
$this->my_second_value = 3; 
self::$my_static_value = 4;

Также именуются ключи массивов, например:

$my_array['some_key'] = 1;
3. Массивы оформляются в коротком виде, как было введено с PHP 5.4, использование усторевшего array(); не приветствуется.
$data = ['foo', 'bar'];
$bars = [
    'key1' => 'val1',
    'key2' => 'val2',
];
4. Кавычки используются в большинстве случаев одинарные, тоже касается оформлению стилей и яваскриптов. Исключения составляют строки в которых нужно встроить какие-то переменные или спецсимволы, например:
echo 'This is simple string';
echo "New line\n";
echo "Hello {$name}";
Личные инструменты
Пространства имён
Варианты
Действия
Основные разделы
Ссылки
Навигация
Инструменты