Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么autoload_psr4.php或其他autoload_*.php文件中不包含Composer包(来自github)?_Php_Laravel_Composer Php_Autoload - Fatal编程技术网

为什么autoload_psr4.php或其他autoload_*.php文件中不包含Composer包(来自github)?

为什么autoload_psr4.php或其他autoload_*.php文件中不包含Composer包(来自github)?,php,laravel,composer-php,autoload,Php,Laravel,Composer Php,Autoload,我在github上分叉了Laravel Firebird包,目的是用Laravel 6解决ignite Firebird(以前的Laravel Firebird包是为Laravel 5.x设计的),我遇到了无法从新包加载类的问题。我包括var_dump(get_declared_classes())在我的代码和Firebird中没有提到,因此无法加载该包,尽管它自豪地与其他成功加载的包一起位于供应商文件夹中。因此,我试图发现,为什么包没有加载composer require没有错误,compos

我在github上分叉了Laravel Firebird包,目的是用Laravel 6解决ignite Firebird(以前的Laravel Firebird包是为Laravel 5.x设计的),我遇到了无法从新包加载类的问题。我包括
var_dump(get_declared_classes())在我的代码和Firebird中没有提到,因此无法加载该包,尽管它自豪地与其他成功加载的包一起位于供应商文件夹中。因此,我试图发现,为什么包没有加载
composer require
没有错误,composer diagnose
也没有错误,我可以调用
composer dumpautload
而无需改进

现在我正在研究vendoer/composer自动生成的包。installed.json包含:

   {
        "name": "alex153490/laravel-firebird",
        "version": "1",
        "version_normalized": "1.0.0.0",
        "source": {
            "type": "git",
            "url": "https://github.com/alex153490/laravel-firebird.git",
            "reference": "master"
        },
        "type": "library",
        "installation-source": "source"
    }

但是没有一个自动加载的php文件包含或提到Firebird或Firebird Laravel?为什么我的软件包(Firebird Laravel)没有包含在自动加载的php中?如何纠正这一点?

我也有这个问题,不得不求助于将PSR4规范嵌入应用程序“composer.json:“psr-4”:{“MyNamespace\\SubNamespace\\”:“vendor/MyPackageNamespace/MyPackageDirectory/lib/”}。在您的情况下,它会像“psr-4”:{“Firebird\\”:“vendor/alex153490/laravel Firebird/src/Firebird”}也许这与composer.json的更新有关-与现有的包(如或)相比-它们有一个带有“component”的“extra”部分:“package”条目。是的,在项目的composer.json中添加这个intry并执行
composer dumpautoload
将Firebird引入autoload_psr4.php,该类也可以在Laravel项目文件中使用,这很好。奇怪的是,
var_dump(get_declared_classes())的输出中没有提到导入的类,这很奇怪,但这并不妨碍我继续开发。我一定会检查额外的部分,并告知是否可以将其格式化为完整答案。我将添加一个链接到我关于此问题的问题,以便它们可以连接: