我在我的项目中使用命名空间。但命名空间不起作用。
文件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”和其他 - >但不起作用
答案 0 :(得分:1)
PHP不会自动动态加载类。为了能够使用您的课程,您的代码必须如下所示:
require_once('Folder/Aa.php');
use \Folder\Aa;
Aa::test();
$test = new Aa();
如果不手动编写require
或require_once
,如何使这项工作有很多种可能的方法。其中之一是使用作曲家的自动加载功能(详情可在此处找到:https://getcomposer.org/doc/04-schema.md#psr-4)。
您也可以考虑编写自己的自动加载器(详情请见http://php.net/manual/en/function.spl-autoload-register.php)