Class 未找到使用自定义作曲家包
Class not found using custom composer package
我已经创建了一个自定义的 comoposer 包,我想在我的项目中使用它 composer.json:
{
"name": "papillon/test",
"type": "library",
"version": "dev-master",
"require": {
"php": "^7.1.11"
},
"autoload": {
"psr-4": {
"Papillon\Fountaine\Eau\": "src/Papillon/Fountaine/Eau/"
}
}
}
我把它压缩成zip。在主项目中,我添加了一个名为 repo 的文件夹,我在其中添加了 de composer package zip。然后,我像这样修改主项目的composer.json:
{
"repositories": [
{
"type": "artifact",
"url": "var/main/repo"
}
],
"require": {
"papillon/test": "dev-master"
}
}
我执行 composer update 并将 pakage 添加到 vendor 文件夹;一切似乎都很顺利......但是如果我想用这个脚本测试主项目中的包:
<?php
require (__DIR__ . '/vendor/autoload.php');
use Papillon\Fountaine\Eau\FlowerClass;
echo FlowerClass::bloom();
它returns:PHP 致命错误:未捕获错误:Class 'Papillon\Fountaine\Eau\FlowerClass' 未在.../test_package.php 中找到:6
堆栈跟踪:
#0 {主要}
在第 6 行
中抛出 .../test_package.php
我认为这个包可能无法被主项目识别;也许包在主项目中安装不正确?
调试自动加载对于捕获错误非常有用。注意路由路径,自动加载试图在包 composer.json 中用小写文件夹的路径中找到 类 文件,路由是用大写文件夹定义的。
我已经创建了一个自定义的 comoposer 包,我想在我的项目中使用它 composer.json:
{
"name": "papillon/test",
"type": "library",
"version": "dev-master",
"require": {
"php": "^7.1.11"
},
"autoload": {
"psr-4": {
"Papillon\Fountaine\Eau\": "src/Papillon/Fountaine/Eau/"
}
}
}
我把它压缩成zip。在主项目中,我添加了一个名为 repo 的文件夹,我在其中添加了 de composer package zip。然后,我像这样修改主项目的composer.json:
{
"repositories": [
{
"type": "artifact",
"url": "var/main/repo"
}
],
"require": {
"papillon/test": "dev-master"
}
}
我执行 composer update 并将 pakage 添加到 vendor 文件夹;一切似乎都很顺利......但是如果我想用这个脚本测试主项目中的包:
<?php
require (__DIR__ . '/vendor/autoload.php');
use Papillon\Fountaine\Eau\FlowerClass;
echo FlowerClass::bloom();
它returns:PHP 致命错误:未捕获错误:Class 'Papillon\Fountaine\Eau\FlowerClass' 未在.../test_package.php 中找到:6 堆栈跟踪: #0 {主要} 在第 6 行
中抛出 .../test_package.php我认为这个包可能无法被主项目识别;也许包在主项目中安装不正确?
调试自动加载对于捕获错误非常有用。注意路由路径,自动加载试图在包 composer.json 中用小写文件夹的路径中找到 类 文件,路由是用大写文件夹定义的。