PHP Composer PSR-4自动加载器无法正常工作

时间:2016-09-01 05:13:49

标签: php composer-php autoloader

我正在尝试为我的一个旧库构建一个composer包。我也是GIT的新手。这样做我也在学习git工作流程。我正在关注构建作曲家包的这些文章。

1 - http://culttt.com/2014/05/07/create-psr-4-php-package/

2 - https://knpuniversity.com/screencast/question-answer-day/create-composer-package

我已经向Github上传了一个测试代码,知道一切正常。我的Github链接:https://github.com/mi6crazyheart/youtube-extract

但是,似乎当我通过Composer下载我的软件包时,它的自动加载器无法正常工作。在我的控制台文件中出现以下错误 -

 Uncaught Error: Class 'Youtube\\Extract' not found in /var/www/html/suresh/opensource/test/index.php:4\nStack trace:\n#0 {main}\n  thrown in /var/www/html/suresh/opensource/test/index.php on line 4

我正在尝试加载此库的index.php文件的代码

<?php
require __DIR__ . '/vendor/autoload.php';

$youtube = new Youtube\Extract();

echo $youtube->greeting();

我在composer.json文件中使用以下代码从git repository下载代码

{
    "require": {
        "mi6crazyheart/youtube-extract": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/mi6crazyheart/youtube-extract"
        }
    ]
}

不知道我在哪里做错了。需要一些指导。

1 个答案:

答案 0 :(得分:1)

您的命名空间是&#34; Youtube \ Extract&#34;你的班级是&#34;提取&#34;这意味着您创建类Extract的新实例的代码需要如下所示:

<?php

$youtube = new Youtube\Extract\Extract();