dev-master
9999999-devbitrix blank template
MIT
The Requires
- php >=5.3.0
- composer/installers ~1
by Denis Bogdanov
bitrix
bitrix blank template
Данный шаблон представляет из себя хороший пример структурирования файлов проекта на 1С-Битрикс., (*1)
Эффективность нашей команды сильно повысилась, когда мы внедрили автозагрузку собственных классов по PSR-4 в битрикс проектах и стали использовать структуру и принципы описанные в данном репозитории за основу., (*2)
Ключевые договорённости в команде, которые вы можете встретить в данном репозитории: 1. Автозагрузка классов; 2. Реализации обработчиков событий вынесена из init.php; 3. Пример шаблона сайта; 4. API., (*3)
По мимом всего прочего все разработчики стилизует код в соответствии со спецификацией PSR-12, где это уместно, и использует данную стилизацию для автоматического форматирования в PhpStorm., (*4)
Содержит шаблон сайта с эталонным примером header и footer.php, в котором использованы часто применяемые методы: работа с языковыми файлами, подключение стилей, скриптом и так далее., (*5)
addJs(SITE_TEMPLATE_PATH . '/js/script.js'); Asset::getInstance()->addString(''); Asset::getInstance()->addString(''); ?><!doctype html> <html xml:lang="<?php echo LANGUAGE_ID ?>" lang="<?php echo LANGUAGE_ID ?>"> <head> <title><?php echo $APPLICATION->ShowTitle() ?></title> <?php $APPLICATION->ShowHead(); ?> </head> <body>ShowPanel() ?>
Используя встроенную автозагрузку классов и реализованный механизм API, можно легко добавлять свои методы:, (*6)
class ApiFactory implements ApiFactoryInterface { public static function create(string $method = ''): Api { try { switch ($method) { case 'news': $api = new Methods\News(); break; case 'newsDetail': $api = new Methods\NewsDetail(); break; default: $api = new Methods\Unknown(); } $api->init();
Выше приведённый пример будет доступен по адресам:, (*7)
/api/news /api/newsDetail
Каждому методу соответствует класс из директории /local/php_interface/include/classes/Api/Methods:, (*8)
classes ├── Agents ├── Api │ │ │ ├── Methods │ │ ├── News.php <-- /api/news │ │ ├── NewsDetail.php <-- /api/newsDetail │ │ └── Unknown.php <-- /api/всё_что_угодно │ │ │ ├── Api.php │ ├── ApiFactory.php │ └── ApiFactoryInterface.php │ │ ├── Events ├── Model │ └── Helper.php │ └── eventHandlers ├── common.php └── sale.php ├── autoload.php ├── bootstrap.php ├── composer.json └── settings.php
bitrix blank template
MIT
bitrix