Протокол FIA - это свод правил, согласно которым, при разработке не будут возникать коллизии, конфликты, нарушения функциональных сегментов CMS и прочие моменты, цель которых направлена на унифицированную структуру данных, при разработке.
КОДИНГ
0. короткие записи функции echo не поддерживаем:
корректно
некорректно
1. управляющие конструкции IF, WHILE, FOR, FOREACH должны иметь пробел перед и после скобок:
корректно
некорректно
корректно
некорректно
2. указание типа переменной добавляй без пробела:
корректно
некорректно
3. при присвоение переменной всегда указывай пробел до и после знака равенства:
корректно
некорректно
4. открывающиеся фигурные скобки не переносим на новую строку, они всегда будут иметь пробел и будут на одной строке [True Brace Style] :
корректно
некорректно
5. названия классов и методов по стилю CamelCase:
корректно
некорректно
6. названия переменных указывай в нижнем регистре и используй нижнее подчеркивание для разделения слов:
корректно
некорректно
7. указывай константы в ВЕРХНЕМ регистре:
корректно
некорректно
8. указывай типы переменных (true,false,null) в нижнем регистре:
корректно
некорректно
HTML / CSS
0. для разделения слов в названиях классов и идентификаторов используй тире, но не нижнее подчеркивание:
корректно
некорректно
1. зависимость элементов верстки от javaScript библиотек - запрещено, все стили строго в CSS, остальные эффекты - после загрузки документа:
2. файл с настройками стилей - отдельно, в шаблоне недопустимо указывать вперемешку стили и условия php:
корректно
некорректно
Язык / Language
0. названия каталога локализации и настройки локали в админ. панели для:
Украина:
uk-ua - названия каталога с языковыми переменными
uk_UA.UTF-8,uk_ua,ukrainian - кодировка
Россия:
ru-ru - названия каталога с языковыми переменными
ru_RU.UTF-8,ru_ru,russian - кодировка
English:
en-gb - названия каталога с языковыми переменными
en-US,en_US.UTF-8,en_US,en-gb,english - кодировка
КОДИНГ
0. короткие записи функции echo не поддерживаем:
корректно
<?php echo $my_code; ?>
некорректно
<?=$my_code;?>
1. управляющие конструкции IF, WHILE, FOR, FOREACH должны иметь пробел перед и после скобок:
корректно
if () {некорректно
if(){корректно
} else {некорректно
}else{2. указание типа переменной добавляй без пробела:
корректно
(int)$var
некорректно
(int) $var
3. при присвоение переменной всегда указывай пробел до и после знака равенства:
корректно
$var = 1;
некорректно
$var=1;
4. открывающиеся фигурные скобки не переносим на новую строку, они всегда будут иметь пробел и будут на одной строке [True Brace Style] :
корректно
if (true == $my_variable) {
...
class ModelToolSeo extends Model {
...
public function addProduct() {
...
} else {некорректно
if (true == $my_variable)
{
...
class ModelToolSeo extends Model
{
...
public function addProduct()
{
...
}
else
{
5. названия классов и методов по стилю CamelCase:
корректно
class ModelToolSeo extends Model
...
public function addProduct()
некорректно
class model_toolseo extends Model
...
public function add_product()
6. названия переменных указывай в нижнем регистре и используй нижнее подчеркивание для разделения слов:
корректно
$var = 123;
$new_var = 12345;
некорректно
$Var = 123;
$newVar = 12345;
7. указывай константы в ВЕРХНЕМ регистре:
корректно
define('MY_VAR', 'My constant string value');некорректно
define('my_var', 'My constant string value');8. указывай типы переменных (true,false,null) в нижнем регистре:
корректно
$my_var = true;
некорректно
$my_var = TRUE;
HTML / CSS
0. для разделения слов в названиях классов и идентификаторов используй тире, но не нижнее подчеркивание:
корректно
class="my-class"
некорректно
class="my_class"
1. зависимость элементов верстки от javaScript библиотек - запрещено, все стили строго в CSS, остальные эффекты - после загрузки документа:
$(document).ready(function() {2. файл с настройками стилей - отдельно, в шаблоне недопустимо указывать вперемешку стили и условия php:
корректно
<?php if (isset($my_setting_css)) { ?>
<link rel="stylesheet" href="catalog/view/theme/default/style/my_setting_css.css" />
<?php } else { ?>
<link rel="stylesheet" href="catalog/view/theme/default/style/default.css" />
<?php } ?>некорректно
<?php if ($my_1_links_color !='') { ?>
.top-panel a, #sidebar a, .navbar-fixed-bottom ul li a, .sidebar-a, .settings span, .settings i, .settings strong {
color: <?php echo $storeset_1_links_color; ?>;
}
<?php } ?>
<?php if ($my_1_background !='') { ?>
.top-panel, #sidebar, .search-box-top, .navbar-fixed-bottom, .sidebar-a .dropdown-menu {
background: <?php echo $storeset_1_background; ?>;
}
<?php } ?>Язык / Language
0. названия каталога локализации и настройки локали в админ. панели для:
Украина:
uk-ua - названия каталога с языковыми переменными
uk_UA.UTF-8,uk_ua,ukrainian - кодировка
Россия:
ru-ru - названия каталога с языковыми переменными
ru_RU.UTF-8,ru_ru,russian - кодировка
English:
en-gb - названия каталога с языковыми переменными
en-US,en_US.UTF-8,en_US,en-gb,english - кодировка