作曲家自动加载不会工作
composer autoload wont work
我刚刚开始了一个新的 PHP 项目,并且在前面,我 运行 遇到了自动加载器的问题。我搜索了错误并查阅了文档(http://www.php-fig.org/psr/psr-4/),但问题仍然存在。
因此,我创建了一个最小示例来缩小错误原因的范围 - 然而,即使使用这个最小示例,它也不起作用:(
我的文件夹结构是这样的:
+ src/
| + Xyz.php
+ composer.json
+ test.php
这是我的代码
composer.json:
{
"name": "sg/ABC",
"description": "abc",
"autoload": {
"psr-4": {
"sg\ABC\": "src/"
}
}
}
Xyz.php:
<?php namespace sg\ABC;
class Xyz
{}
?>
test.php:
<?php namespace sg\ABC;
use sg\ABC\Xyz;
$a = new Xyz();
?>
即使 运行 composer install
没有显示任何错误,但当 运行 代码:
时我立即收到此错误
$ php test.php
PHP Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5
Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5
此外,运行 composer dump-autoload
(如本版块中的建议)也无济于事
您仍然需要包含 composer autoload.php file 以包含加载的库。
您需要自动加载器..通常是 require_once "path/to/vendor/autoload.php"
。
我刚刚开始了一个新的 PHP 项目,并且在前面,我 运行 遇到了自动加载器的问题。我搜索了错误并查阅了文档(http://www.php-fig.org/psr/psr-4/),但问题仍然存在。
因此,我创建了一个最小示例来缩小错误原因的范围 - 然而,即使使用这个最小示例,它也不起作用:(
我的文件夹结构是这样的:
+ src/
| + Xyz.php
+ composer.json
+ test.php
这是我的代码
composer.json:
{
"name": "sg/ABC",
"description": "abc",
"autoload": {
"psr-4": {
"sg\ABC\": "src/"
}
}
}
Xyz.php:
<?php namespace sg\ABC;
class Xyz
{}
?>
test.php:
<?php namespace sg\ABC;
use sg\ABC\Xyz;
$a = new Xyz();
?>
即使 运行 composer install
没有显示任何错误,但当 运行 代码:
$ php test.php
PHP Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5
Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5
此外,运行 composer dump-autoload
(如本版块中的建议)也无济于事
您仍然需要包含 composer autoload.php file 以包含加载的库。
您需要自动加载器..通常是 require_once "path/to/vendor/autoload.php"
。