-
Notifications
You must be signed in to change notification settings - Fork 30
PackageSystem
⚠️ Внимание, в данной статье описывается механизм, который находится в разработке и появится лишь в DevelNext 16.3 версии.
Система пакетов в jphp позволяет объединить несколько классов, функций и констант в один пакет. Затем, пакет можно легко подключить в скрипте через use <название пакета>, благодаря чему в скрипте станут доступны все классы, функции и константы пакета.
ℹ️ Не стоит путать пакет jphp с пакетами расширений DevelNext. Пакет в jphp можно создать вне всякого расширения DevelNext. Это является новой возможностью языка php в рамках jphp.
### Структура пакета Пакет в jphp состоит из списка классов, функций и констант. Он имеет короткое название, которое всегда начинается с маленькой буквой. В итоге в пакете мы имеем: - Имена классов - Имена функций - Имена констант
Имена должны быть полными, namespace классов, функций и констант может быть любой, нет никаких строгих правил на этот счет.
### Автозагрузка пакетов
JPHP из коробки предоставляет механизм автозагрузки пакетов по аналогии с автозагрузкой классов. Реализуется он через класс
php\lang\PackageLoaderи в движке для develnext реализован свой загрузчик пакетовFrameworkPackageLoader.