Официально поддерживаются "включающие" функции в 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

Другие вопросы по тегам