Composer 自动加载问题
Composer Autoload Issue
我已将 Composer 添加到使用 PHP 自动加载功能的现有项目中。现在正在使用 composer autoload.php
我已经删除了我的旧自动加载功能并且我正在尝试通过 composer autoload 加载我现有的源目录但它没有获取我现有的任何源 类 .
composer 安装的所有东西都可以正常加载并且可以通过名称空间等访问,所以只是源目录中的现有源没有被拾取。有什么建议吗?
我在 Whosebug 上查看了作曲家的其他一些问题,但我读过的内容都没有解决我的问题。
文件结构:
index.php
root/
sources/
vendor/
composer.json
media/
作曲家自动加载:
"autoload": {
"psr-0": {
"" : "sources/"
}
}
如果您的代码结构太复杂而无法转换为 PSR-* 结构,您可以同时使用旧的自动加载器和 composer 自动加载。
spl_autoload_register( function ( $class ) {
$file = "sources/" . $class . ".class.php";
if ( file_exists( $file ) ) {
require $file;
return;
}
} );
require "vendor/autoload.php";
有两件事给我带来了问题,一是 class 文件名,二是作曲家命令需要 运行.
我的 class 文件名采用 {classname}.class.php
格式,而它们需要采用 PSR-0 期望的格式,即 Classname.php
(首字母大写),依次class 文件中的 class 名称跟在文件名之后。
class Classname
{
...
第二个问题是我需要运行下面的命令。
composer dump-autoload
来自composer.org:
If you need to update the autoloader because of new classes in a classmap package for example, you can use "dump-autoload" to do that without having to go through an install or update.
我已将 Composer 添加到使用 PHP 自动加载功能的现有项目中。现在正在使用 composer autoload.php
我已经删除了我的旧自动加载功能并且我正在尝试通过 composer autoload 加载我现有的源目录但它没有获取我现有的任何源 类 .
composer 安装的所有东西都可以正常加载并且可以通过名称空间等访问,所以只是源目录中的现有源没有被拾取。有什么建议吗?
我在 Whosebug 上查看了作曲家的其他一些问题,但我读过的内容都没有解决我的问题。
文件结构:
index.php
root/
sources/
vendor/
composer.json
media/
作曲家自动加载:
"autoload": {
"psr-0": {
"" : "sources/"
}
}
如果您的代码结构太复杂而无法转换为 PSR-* 结构,您可以同时使用旧的自动加载器和 composer 自动加载。
spl_autoload_register( function ( $class ) {
$file = "sources/" . $class . ".class.php";
if ( file_exists( $file ) ) {
require $file;
return;
}
} );
require "vendor/autoload.php";
有两件事给我带来了问题,一是 class 文件名,二是作曲家命令需要 运行.
我的 class 文件名采用 {classname}.class.php
格式,而它们需要采用 PSR-0 期望的格式,即 Classname.php
(首字母大写),依次class 文件中的 class 名称跟在文件名之后。
class Classname
{
...
第二个问题是我需要运行下面的命令。
composer dump-autoload
来自composer.org:
If you need to update the autoloader because of new classes in a classmap package for example, you can use "dump-autoload" to do that without having to go through an install or update.