Cotonti / Cotonti

Fast, reliable and flexible PHP CMF/CMS
https://www.cotonti.com
BSD 3-Clause "New" or "Revised" License
92 stars 51 forks source link

Components/Services and unload functions.php #1778

Open Alex300 opened 3 months ago

Alex300 commented 3 months ago

[RU]

Функционал относящийся к чему то общему из functions.php (также это касается и расширений) выносим в сервисы (или компоненты). Тем самым мы разгружаем разросшийся functions.php и получаем определенный функционал, сгруппированный в одном месте. Вспомогательные функции, например генерацию тегов для шаблонизатора, и, может быть, валидацию, выносим в хелперы.

Код, использующий эти функции, должен использовать сервисы/хелперы.

Старые функции должны быть доступны для обратной совместимости при включенной $cfg['legacyMode'];

Сервисы ядра складываем в /system/services

Это уже концепция Cotonti 1.0. Можно использовать минимальную версию PHP 7.4. Строгую типизацию (strict_types=1), типизацию свойств, параметров и возвращаемых значений.