В качество отступа используется один символ табуляции.
/** * Allowed object properties * @var array */ protected $_allowedProperties = array( 'count', 'siteuser' );
Запись типа переменной в ее идентификаторе (венгерская нотация), регистр символов lowerCamelCase.
// Определяем коэффициент пересчета $fCurrencyCoefficient = $oShop_Item->Shop_Currency->id > 0 && $oShop->Shop_Currency->id > 0 ? Shop_Controller::instance()->getCurrencyCoefficientInShopCurrency( $oShop_Item->Shop_Currency, $oShop->Shop_Currency ) : 0;
Имя начинается с названия модуля и соответствует фактическому расположению файла в файловой системе, в качестве разделителя используется андерскор «_».
/** * Online shop. * * @package HostCMS 6\Shop * @version 7.x * @author Hostmake LLC * @copyright © 2005-2022 ООО "Хостмэйк" (Hostmake LLC), https://www.hostcms.ru */ class Shop_Item_Controller extends Core_Servant_Properties { }
Регистр символов lowerCamelCase, в именах аргументов не используется венгерская нотация. Имена protected и private методов начинаются с андерскор «_». Функции и методы вызываются без отступа между именем и открывающейся скобкой.
class Shop_Item_Controller extends Core_Servant_Properties { /** * Allowed object properties * @var array */ protected $_allowedProperties = array( 'count', 'siteuser' ); /** * Price array * @var array */ protected $_aPrice = array(); /** * Calculate the cost with tax and discounts * @param float $price price * @param Shop_Item_Model $oShop_Item item * @param boolean $bRound round prices * @return array * @hostcms-event Shop_Item_Controller.onBeforeCalculatePrice * @hostcms-event Shop_Item_Controller.onAfterCalculatePrice */ public function calculatePrice($price, Shop_Item_Model $oShop_Item, $bRound = TRUE) { // do smth. } }
Записываются в верхнем регистре: TRUE, FALSE, NULL.
// Group condition for shop item $this->group !== FALSE && $this->_groupCondition();
В управляющих структурах всегда используются фигурные скобки. Управляющие структуры отделяются от открывающейся скобки пробелом.
if (!$this->item) { // Load model columns BEFORE FOUND_ROWS() Core_Entity::factory('Shop_Item')->getTableColumns(); }
Комментарии должны соответствовать синтаксису комментариев PHPDoc.
/** * Calculate the cost with tax and discounts * @param float $price price * @param Shop_Item_Model $oShop_Item item * @param boolean $bRound round prices * @return array * @hostcms-event Shop_Item_Controller.onBeforeCalculatePrice * @hostcms-event Shop_Item_Controller.onAfterCalculatePrice */ public function calculatePrice($price, Shop_Item_Model $oShop_Item, $bRound = TRUE) { // do smth. }
Файлы классов размещаются в директории modules
, имя класса начинается с названия модуля, разделителем служит символ «_». Имена файлов и директорий указываются в нижнем регистре. Если имя класса не содержит ни одного разделителя, то директория устанавливается равной имени файла.
Например, класс Core
размещается в modules/core/core.php
, класс Informationsystem_Group_Model
размещается в modules/informationsystem/group/model.php