MODX PHP Стандарты кодирования
Общие требования
- Открывающие фигурные скобки не разрывает строку. Они пишутся после одного проблема после скобки, согласно традициям Unix.
- Не пишите никакой реальной бизнес-логики в конструкторах класса. Создайте специальные методы для этого.
- null, true and 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", если иное не оговаривается в отдельных случаях, должны начинаться с перфикса "modx": т.е. 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'] = 'Test';
Константы
- Константы должны быть в ВЕРХНЕМ РЕГИСТРЕ.
- Используйте только в случае крайней необходимости.
Структура файла
- Всегда называйте файлы PHP классов в формате name.class.php.
Префиксы
- Строки словарей для компонентов должны начинаться с префикса:
$_lang['mycomponent.welcome_message'] = 'Welcome!';
- Всегда добавляйте префикс к имени класса: например 'finBank', 'finTransaction' и тд.
- Всегда добавляйте префикс к имени чанка Chunk например 'finStatement', 'finDeposit'