我正在与一个使用命名空间的CMS一起玩,我试图利用它而不是包括文件并在这些文件中使用函数。
根据我的理解和尝试,我将文件加载为PSR-4,其中包含声明的名称空间,类以及要访问的内部函数。看起来像:
namespace MyFunctions;
class basic {
function say_hello($a) {
echo "Hello, $a";
}
}
从另一个文件中,我可以看到在使用get_declared_classes()函数进行检查时确实加载了“ MyFunctions”命名空间。但是,我对如何使用“ say_hello()”函数完全迷失了。
我试过了:
use MyFunctions;
// instantiate class
$a = new basic();
// this gives me 'call to undefined function'
echo say_hello("Bob");
我试着在其他示例中进行挖掘,并且在尝试访问此功能的过程中遇到困难。有人可以给我一个例子,说明如何从另一个文件访问和使用“ say_hello()”函数吗?任何帮助将不胜感激,谢谢!
有了设置,您就可以在这里。您必须执行以下命令才能触发该功能。
(new MyFunctions\basic)->say_hello("Bob");
(我不建议使用此方法,它会无缘无故地创建一个对象。)
我假设您想要的是:
namespace MyFunctions;
function say_hello($a)
{
echo "Hello, $a";
}
在那时你可以使用
// this gives you 'Hello, Bob'
MyFunctions\say_hello("Bob");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句