This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
public:standarts:kod [18.11.15 в 12:33] Артем Куц |
public:standarts:kod [09.07.18 в 16:29] (current) Артем Куц |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Стандарты оформления кода ====== | + | ====== Стандарты оформления PHP кода ====== |
- Правильное именование переменных и функций. | - Правильное именование переменных и функций. | ||
- Имена глобальных переменных и констант должны вводиться в верхнем регистре | - Имена глобальных переменных и констант должны вводиться в верхнем регистре | ||
Line 10: | Line 9: | ||
- При создании модели объекта с неопределенной выборкой, например, <php>$oShopItems = Core_Entity::factory(‘shop_item’)</php> имя переменной должно быть во множественном числе с содержанием префикса o - object. При уточнении выборки и получении массива объектов <php>$aoShopItems = $oShopItems->findAll()</php> префикс должен быть ao - array of objects. При создании модели конкретного объекта имя переменной должно быть в единственном числе, например, <php>$oShopItem = Core_Entity::factory(‘shop_item’, 25)</php>. | - При создании модели объекта с неопределенной выборкой, например, <php>$oShopItems = Core_Entity::factory(‘shop_item’)</php> имя переменной должно быть во множественном числе с содержанием префикса o - object. При уточнении выборки и получении массива объектов <php>$aoShopItems = $oShopItems->findAll()</php> префикс должен быть ao - array of objects. При создании модели конкретного объекта имя переменной должно быть в единственном числе, например, <php>$oShopItem = Core_Entity::factory(‘shop_item’, 25)</php>. | ||
- Использование пустого пространства и фигурных скобок. | - Использование пустого пространства и фигурных скобок. | ||
- | - Чтобы усилить логическую структуру кода, следует использовать переносы строк – пустое пространство. Не бойтесь ставить переносы строк, давайте коду как можно больше свободы. | + | - Чтобы усилить логическую структуру кода, следует использовать переносы строк – пустое пространство. Не бойтесь ставить переносы строк, давайте коду как можно больше свободы, но без излишеств - двойные переносы строк делать не следует. |
- Cледует разбивать блоки инициализации ряда переменных по логическому смыслу, например<code php> | - Cледует разбивать блоки инициализации ряда переменных по логическому смыслу, например<code php> | ||
$name = "testname"; | $name = "testname"; | ||
Line 50: | Line 49: | ||
) | ) | ||
{ | { | ||
- | $Informationsystem_Controller_Show->addEntity( | + | $Informationsystem_Controller_Show |
- | Core::factory('Core_Xml_Entity') | + | ->addEntity( |
- | ->name('current_group_id') | + | Core::factory('Core_Xml_Entity') |
- | ->value(intval(Core_Page::instance()->object->group)) | + | ->name('current_group_id') |
- | )->addEntity( | + | ->value(intval(Core_Page::instance()->object->group)) |
- | Core::factory('Core_Xml_Entity') | + | )->addEntity( |
- | ->name('current_item_id') | + | Core::factory('Core_Xml_Entity') |
- | ->value(intval(Core_Page::instance()->object->item) | + | ->name('current_item_id') |
+ | ->value(intval(Core_Page::instance()->object->item) | ||
) | ) | ||
); | ); | ||
}</code> | }</code> | ||
- | - Не используйте оператор <php>echo</php> для вывода html кода. Следует использовать закрывающие и открывающие php теги: <html><?php ?></html> | + | - Не используйте оператор <php>echo</php> для вывода HTML-кода. Следует использовать закрывающие и открывающие PHP-теги: <html><?php ?></html> |
- Вставки кода должны быть окружены копирайтами с комментарием. Пример <code php>/** | - Вставки кода должны быть окружены копирайтами с комментарием. Пример <code php>/** | ||
* В этой строке должен быть комментарий о том, что делает код внутри комментариев. | * В этой строке должен быть комментарий о том, что делает код внутри комментариев. | ||
* | * | ||
- | * @author Kuts Artem, KAD Systems (©) 2015 | + | * @author Kuts Artem, KAD Systems (©) 2017 |
- | * @date 18-11-2015 | + | * @date 18-11-2017 |
* Начало >> | * Начало >> | ||
*/ | */ | ||
Line 72: | Line 72: | ||
/** | /** | ||
* << Конец | * << Конец | ||
- | * @author Kuts Artem, KAD Systems (©) 2015 | + | * @author Kuts Artem, KAD Systems (©) 2017 |
- | * @date 18-11-2015 | + | * @date 18-11-2017 |
*/</code> | */</code> | ||
+ | - Параметры методов класса указываются в порядке: входные значения, изменяемые значения, выходные значения. | ||
+ | - При написании кода допускается использовать языковые конструкции совместимые с версией интерпретатора 5.2.2+, такая совместимость [[https://www.hostcms.ru/hostcms/system-requirements/|заявлена в требованиях]] к последней версии HostCMS, и такую совместимость необходимо поддерживать в своем коде. |