如何解决作曲家-找不到课程
我仍然无法让作曲家工作。当不使用作曲家自动加载时,我可以require_once类文件并实例化一个对象。但是,当尝试使用自动加载时,我收到此错误:
PHP Fatal error: Uncaught Error: Class 'MyCompany\User' not found in /var/www/html/portal/login.php:7
Stack trace:
#0 {main}
thrown in /var/www/html/portal/login.php on line 7
login.php看起来像这样:
<?php
require_once __DIR__ . "/vendor/autoload.php";
use MyCompany\User;
$user = new User();
当前的composer.json如下所示:
{
"autoload": {
"psr-4": {
"MyCompany\\User\\": "vendor/mycompany/user/"
}
},"require": {
"mycompany/user": "dev-master"
},"repositories": [
{
"packagist.org": false
},{
"type": "vcs","version": "master","url": "git@mysrc.example.com:/opt/git/phplib/classes/User.git"
}
]
}
User.php文件是这样的:
<?php
namespace mycompany;
class User {
function __construct() {
print "composer has done something\n";
}
} //end class User
?>
最后,文件夹结构为:
portal\
composer.json
login.php
vendor\
mycompany\
\user\User.php
\pdo\PDO.php
\page\Page.php
以某种方式命名空间似乎是潜在的问题,但是我不确定如何设置它以支持此结构。最终,即使名称空间是“ mycompany”,也可以,但是在类,composer.json autoload语句和use语句中没有名称空间的组合都可以使用。我在这里浏览了无数问题,但似乎没有一个与这种情况完全相符。这是在Linux系统上,我还尝试了文件和文件夹的大写和小写的各种组合,尽管有些失败,因为作曲家不允许在某些区域使用大写。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。