Официально поддерживаются "включающие" функции в PHP?
Я работаю с Sage из roots.io и заметил, что они "включают" функции (не файлы), например:
<?php include Namespace\Function(); ?>
Мне действительно нравится этот подход, но я прошел через все документы по PHP, и мой Google-фу подводит меня здесь...
Я хотел бы знать, если это официально поддерживается PHP (то есть: это недокументировано и, скорее всего, не будет поддерживаться в будущем?)
Я также хотел бы знать, есть ли какие-либо последствия или "ошибки" в том, чтобы делать это таким образом, вместо того, чтобы просто импортировать пространство имен и вызвать функцию или создать экземпляр класса и вызвать метод.
1 ответ
Это не включает функции, а скорее файл, который возвращает функция. Так Namespace\Function()
возвращает путь к файлу, который затем включается с помощью include
,
Начиная с PHP 5.6, вы можете импортировать уже загруженную функцию из пространства имен, используя use function
синтаксис. Пожалуйста, ознакомьтесь с документацией для получения дополнительной информации: http://php.net/manual/en/language.namespaces.importing.php