类文件如何包含在另一个使用名称APCE和Use的php文件中?

类文件如何包含在另一个使用名称APCE和Use的php文件中?,php,class,namespaces,composer-php,Php,Class,Namespaces,Composer Php,我在Errors.php中有一个名为Errors的类 namespace MyClass; class Errors { private $_CODES = array( 301 => array( "code"=> 301, "message"=> "User With ID Not Found", "type"=> "

我在Errors.php中有一个名为Errors的类

namespace MyClass;
    class Errors
    {
        private $_CODES = array(
            301 => array(
                "code"=> 301,
                "message"=> "User With ID Not Found",
                "type"=> "Error"
            )
        );


        public static function getError($code)
        {
            return $this->_CODES[$code];
        }
在Myclass.php中,我有

namespace MyClass;

use MyClass\Errors;

require'vendor/autoload.php'; 
在Myclass中,我有一个函数,我正在检查错误

echo Errors::getError(301);
它显示类Myclass not found错误

Fatal error: Class 'Myclass\Errors' not found in /var/www/Myclass/Myclass.php

我在这里遗漏了什么?

您必须包括您的
错误。php
composer autoloader与标准兼容。在当前解决方案中,文件
Errors.php
必须放在名为
MyClass
的子文件夹中

似乎您正在使用Composer的自动加载器。 您是否修改了“composer.json”以使其为您加载

可能是这样的:

“自动加载”:{“classmap”:[“path/to/your/source/directory”]}


或者

这个问题解决了。Errors.php如下所示

class Errors{
    private static $_CODES = array(
        301 => array(
          "code"=> 301, 
          "message"=> "User With ID Not Found", 
          "type"=> "Error"
        )
    ); 

    public static function getError($code) { 
        return self::$_CODES[$code]['message'];
    }
}

我还添加了require_once“Errors.php”;在MyClass.php文件中,现在我可以调用函数
echo Errors::getError(301)

您在哪里存储了
Errors.php
?在
autoload.php
require\u once DIR中显示代码/作曲家“/自动加载_real.php';返回Composer AutoloaderInitDDB04CF330F79DFB9CB9654960258D63::getLoader();他使用composer的Autoloader Autoloading是为了避免在类加载中显式使用
include
require
,这是毫无疑问的。尽管如此,
Errors.php
还是必须包括在内,但目前看来似乎没有。