MODX PHP Стандарты кодирования
Последнее обновление Mar 16th, 2021 | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$306 per month—let's make that $500!
Learn moreЭти стандарты кодирования в первую очередь относятся к коду 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
Budget
$306 per month—let's make that $500!
Learn more