本机的PHP。不能使用命名空间

时间:2016-04-11 13:35:30

标签: php namespaces

我在我的项目中使用命名空间。但命名空间不起作用。

文件index.php

use \Folder\Aa;
Aa::test();
$test = new Aa();

file Folder / Aa.php

namespace  Folder;
class Aa
{
    static function test()
    {
        $a = 3;
        echo $a;
    }
}

写信致命错误:/home/ademidko/www/first.local/index.php中找不到“文件夹\ Aa”类

我在Аа.php中更改了命名空间,写了“use \ Folder”和其他 - >但不起作用

1 个答案:

答案 0 :(得分:1)

PHP不会自动动态加载类。为了能够使用您的课程,您的代码必须如下所示:

require_once('Folder/Aa.php');
use \Folder\Aa;
Aa::test();
$test = new Aa();

如果不手动编写requirerequire_once,如何使这项工作有很多种可能的方法。其中之一是使用作曲家的自动加载功能(详情可在此处找到:https://getcomposer.org/doc/04-schema.md#psr-4)。 您也可以考虑编写自己的自动加载器(详情请见http://php.net/manual/en/function.spl-autoload-register.php