Jump to main content Jump to doc navigation

Эти стандарты кодирования в первую очередь относятся к коду PHP.

Общие требования

  • Открывающие фигурные скобки не разрывают строку. Они пишутся после одного пробела после скобки, согласно традициям Unix.
  • Не пишите никакой реальной бизнес-логики в конструкторах класса. Создайте специальные методы для этого.
  • null, true и false всегда должны быть в нижнем регистре.
  • Избегайте вложенных вычислений (например: $d = ($a = $b + $c) так делать плохо).
  • Никогда не используйте extract().
  • Избегайте использования глобальных переменных по возможности.
  • Документируйте ВСЁ.

Скобки

  • Не ставьте скобки сразу после оператора. Разделяйте пробелами.
  • Ставьте скобки сразу после имени функции.
  • Не используйте скобки в выражениях с return когда это необходимо. Например:
if ($test) {
}
while ($test == $other) {
}
array_push($one,$two);
return $test;
  • Не используйте скобки когда используете функции include, require, include_once, и require_once.

Классы

  • Все имена классов в core, если иное не оговаривается в отдельных случаях, должны начинаться с префикса mod: т.е. modChunk, modTemplate и т.д.
  • Все имена методов должны быть в camelCase и начинаться со строчной буквы.
  • Все private методы и переменные должны начинаться с символа подчеркивания "_".
class modFactor {
    public $publicVar;
    private $_privateVar;
    private function _privateFunc() { }
    public function publicFunc() { }
}

Переменные

Обратите внимание, это не аргументы функции.

  • Используйте строчные буквы.
  • Разделяйте слова подчеркиванием.

Аргументы функций и свойства классов

  • Первая буква в нижнем регистре, остальные в camelCase. Пример:
class modFactor {
    public function testFunc($testVar, array &$anotherTest = array()) {
        $this->_privateVar = $testVar;
        $local_variable =& $anotherTest;
    }
}

Массивы

  • В именах полей в индексах массива используйте подчеркивание "_", а не тире "-" в качестве разделителя. Это предотвратит ошибки с magic_quotes.
  • Имена полей в индексах массива всегда в нижнем регистре. Пробелы представлены в виде подчеркиваний.
  • Имена полей в индексах массива всегда заключено в одинарные кавычки.

Пример:

$_lang['chunk_create_text'] = 'Тест';

Константы

  • Константы должны быть в ВЕРХНЕМ РЕГИСТРЕ.
  • Используйте только в случае крайней необходимости.

Структура файла

  • Всегда называйте файлы PHP классов в формате name.class.php.

Префиксы

  • Строки словарей для компонентов должны начинаться с префикса:
$_lang['mycomponent.welcome_message'] = 'Привет!';
  • Всегда добавляйте префикс к имени класса: например finBank, finTransaction и тд.
  • Всегда добавляйте префикс к имени Чанка например finStatement, finDeposit

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • Lefthandmedia
  • Murray Wood
  • eydolan
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$301 per month—let's make that $500!

Learn more