Composer类加载:找不到类

时间:2017-06-22 16:50:26

标签: php composer-php

你好,

我在与作曲家合作方面相当新,但我遇到了问题。在一些stackoverflow搜索之后,我尝试了一些te解决方案,但是,它们都没有为我工作。我有以下错误:

Fatal error: Class 'Freeby\Basic\Navigator' not found in index.php on line *

所以我看了一下我的索引。它包含以下代码: 的的index.php

namespace Freeby;

use \Freeby\Basic\Navigator as Navigator;

Navigator::execute();

发生错误的行是最后一行Navigator::execute();。所以我去了一下文件夹Basic中找到的这个类。的 Navigator.php

namespace Freeby\Basic;

class Navigator
{

    public static function execute()
    {

    }

}

所以,我有我的命名空间。应该承认。但事实并非如此。所以我继续检查我的 composer.json

{
    "require": {
        "mikecao/flight": "^1.3"
    },
    "autoload": {
        "psr-4": {
            "Freeby\\Basic\\": "Basic/"
        }
    }
}

我认为这是正确的。但是,我不确定。我相信我也会在这里包含我的结构。也许这是一个路径问题?如果是,为什么?我无法找到它。

---- Basic
- Navigator.php
---- Vendor
- autoload.php
-- composer
---- composer.json

1 个答案:

答案 0 :(得分:2)

我认为您需要先在index.php

中加载composer自动加载器
<?php

namespace Freeby;

require __DIR__."/vendor/autoload.php";

use \Freeby\Basic\Navigator as Navigator;

Navigator::execute();