在 PHP 命名空间中使用函数
Using function inside PHP Namespace
我正在使用一个使用命名空间的 CMS,我正在尝试使用它而不是在这些文件中包含文件和使用函数。
根据我的理解和尝试,我有一个作为 PSR-4 加载的文件,带有声明的命名空间,class,以及我想访问的内部函数。看起来像:
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");
我正在使用一个使用命名空间的 CMS,我正在尝试使用它而不是在这些文件中包含文件和使用函数。
根据我的理解和尝试,我有一个作为 PSR-4 加载的文件,带有声明的命名空间,class,以及我想访问的内部函数。看起来像:
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");