PHP 不能创建带有命名空间的类实例


PHP can not create instance of class with namespace

我有以下问题:

这是我的超级基础课程:

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 命名空间与自动加载一起使用?