Как использовать php-функцию без исходного файла загрузки?

Я хотел бы использовать мою функцию, например DebugR() , но я не хочу использовать require или include (with include_path ) для загрузки файла функций, который содержит источник.

Я знаю, что могу использовать автозагрузку, но это действие должно быть общим в моей конфигурации php. Я думаю, что я должен создать расширение PHP, но есть ли другой способ?

Related of "Как использовать php-функцию без исходного файла загрузки?"

Существует строка конфигурации PHP, которую вы можете сделать.

В документации сказано следующее:

строка auto_prepend_file

 Specifies the name of a file that is automatically parsed before the main file. The file is included as if it was called with the require() function, so include_path is used. The special value none disables auto-prepending. 

Не создавая расширение или автоматически загружая класс функций или непосредственно требуя функции на странице, или записывая функцию в тот же файл, я уверен, что нет способа без настройки вашей конфигурации PHP.

Из любопытства, каковы причины того, чтобы не хотеть делать что-либо из этих вещей?

Почему бы не использовать ускоритель, который кэширует код как BC в памяти?
Вам все равно нужно написать директиву «include».
Если расширение – это то место, где вы находитесь, то вилка от любого из доступных Ускорителей с открытым исходным кодом.

Единственный возможный способ сделать это – использовать автозагрузки следующим образом:

 // your_file.php function __autoload($class) { require_once('./classes/' . $class . '.php'); } echo _::Bar(); var_dump(_::DebugR()); echo _::Foo(); // ./classes/_.php class _ { function Bar() { return 'bar'; } function DebugR() { return true; } function Foo() { return 'foo'; } } 

Конечно, каждая функция будет храниться внутри этого класса.

Другая альтернатива, если вы работаете внутри объекта, – использовать магический метод __call () и сделать что-то вроде:

 return $this->DebugR();