我有以下问题:
这是我的超级基础课程:
class A
{
function foo()
{
echo "bar";
}
}
现在在类声明前面,我使用以下代码:
$a = new A();
$a->foo();
当我在浏览器中打开 php 文件时,输出是"bar"。好!
现在我想在另一个文件中做同样的事情。
首先,我直接声明以下命名空间:
namespace model'dbAction;
这是我上面类的文件所在的路径。
因此,在另一个php文件中,我执行以下操作:
$a = new 'model'dbAction'A();
$a->foo();
但是我没有得到任何输出,之后其他代码将无法运行,因此看起来它在类实例化后直接中断。
知道为什么在另一个文件中实例化类不起作用吗?
谢谢!
完整代码第一个 php 文件:
<?php
namespace model'dbAction;
class A
{
function foo()
{
echo "bar";
}
}
第二个文件的完整代码(我在浏览器中调用):
$a = new 'model'dbAction'A();
$a->foo();
您仍然需要include
文件——前提是命名空间本身不会包含该文件...除非您使用的是自动加载机。请参阅:如何将 PHP 命名空间与自动加载一起使用?