Я хочу включить/требовать файл, содержащий несколько функций из метода. Моя цель - сделать так включенные функции доступными только в области действия соответствующего метода, а не в области вызова. Возможно ли это в PHP?
Например. в следующем минимальном примере я хочу, чтобы foo()
был доступен только из метода buzz()
, а не из окружающей области (что, к сожалению, так и есть).
// foo.php
<?php
function foo()
{
return "foo";
}
// bar.php
<?php
class Bar
{
public function buzz()
{
require_once("foo.php");
return foo();
}
}
$bar = new Bar();
// should work
echo $bar->buzz();
// should not work
echo foo();
Общая задача состоит в том, чтобы обернуть функцию из устаревшей кодовой базы в методы сервиса Symfony. Доступ к старым функциям должен быть возможен только путем вызова соответствующих методов. Поэтому старые функции не должны находиться в глобальной области видимости.
Основное ограничение заключается в том, что функции в foo.php
являются частью устаревшей кодовой базы, которую я не могу изменить.