Функционал относящийся к чему то общему из functions.php (также это касается и расширений) выносим в сервисы (или компоненты). Тем самым мы разгружаем разросшийся functions.php и получаем определенный функционал, сгруппированный в одном месте.
Вспомогательные функции, например генерацию тегов для шаблонизатора, и, может быть, валидацию, выносим в хелперы.
Код, использующий эти функции, должен использовать сервисы/хелперы.
Старые функции должны быть доступны для обратной совместимости при включенной $cfg['legacyMode'];
Сервисы ядра складываем в /system/services
Это уже концепция Cotonti 1.0. Можно использовать минимальную версию PHP 7.4. Строгую типизацию (strict_types=1), типизацию свойств, параметров и возвращаемых значений.
[ ] Structure. Глобальная переменная $structure и Cot::$structutre - deprecated. Перенести загрузку категорий в сервис. С кешированием. Загрузка происходит только при первом вызове метода. Не надо грузить их без необходимости. Добавить фасадный метод-обертку Cot::structure(?string $extCode): array
[RU]
Функционал относящийся к чему то общему из
functions.php
(также это касается и расширений) выносим в сервисы (или компоненты). Тем самым мы разгружаем разросшийсяfunctions.php
и получаем определенный функционал, сгруппированный в одном месте. Вспомогательные функции, например генерацию тегов для шаблонизатора, и, может быть, валидацию, выносим в хелперы.Код, использующий эти функции, должен использовать сервисы/хелперы.
Старые функции должны быть доступны для обратной совместимости при включенной
$cfg['legacyMode']
;Сервисы ядра складываем в /system/services
Это уже концепция Cotonti 1.0. Можно использовать минимальную версию PHP 7.4. Строгую типизацию (strict_types=1), типизацию свойств, параметров и возвращаемых значений.
$structure
иCot::$structutre
- deprecated. Перенести загрузку категорий в сервис. С кешированием. Загрузка происходит только при первом вызове метода. Не надо грузить их без необходимости. Добавить фасадный метод-оберткуCot::structure(?string $extCode): array