[`\Shef\Options\Components`] Работа с компонентами
- компоненты складываем в папку
/local/vendor.modulename/custom.name- namespace
Local\Component\Vendor\ModuleName - для компонента class
CustomNameComponent - для ajax class
CustomNameAjaxController
- используем для .js
- namespace
BX.namespace('BX.VendorModuleName'); - class
BX.VendorModuleName.CustomNameController - объект
BX.VendorModuleName.CustomName
| Класс | Описание |
|---|
| Components\Builder | Класс для работы с компонентами Умеет подключать (просто, через слайдер, автоматически) Умеет создавать объект класса |
| Components\AComponent | Абстракция для компонента |
| Components\AControllerable | Абстракция для компонента с поддержкой ajax |
| Components\AjaxProcessor | Абстракция для обработки ajax запросов вне компонента |
| Components\Actions | Набор проверок для ajax запросов |
| Components\Actions\IActionsFilterList | Интерфейс для получения действий |
| Components\Actions\Free | Без проверки прав доступа |
| Components\Actions\Normal | Обычная проверка прав доступа |
| Дополнительно | |
| Components\IAutoloader | Интерфейс для подключения в компоненте механизма автозагрузки |
| Components\IClass | Интерфейс для указания что компонент содержит файл class.php |
| Components\IAjax | Интерфейс для указания что компонент содержит файл ajax.php |
| Components\Trait | Набор трейтов |
| Components\Trait\ComponentNameTrait | Trait для обработки названий компонента |
| Components\Trait\AutoloaderTrait | Trait для подключения в компоненте механизма автозагрузки |
Объявляем интерфейс Components\IAutoloader и реализуем его через трейты Components\Trait\ComponentNameTrait и Components\Trait\AutoloaderTrait .
Отдельно предусматриваем механизм подключения класса из файла ajax.php
← Утилиты | ↑ Содержание | Паттерны →
Источник:
options/docs/6_components.md — правки туда, сайт пересобирается сам.