Composer自动加载文件debug

时间:2015-09-27 20:13:48

标签: php composer-php

我正在尝试通过composer

自动加载非基于类的文件
"autoload" : {
    "files": ["app/routes.php"]
},

但是我无法在脚本中获取此文件的内容。我已添加vendor/autoload.php以及dump-autoload

我想要的是,如果有一种方法,我们可以看到由浏览器或终端中的作曲家自动加载的文件列表,这样我就可以确定自动加载工作正常,还有其他一些问题我的代码。

由于

更新:文件Heiarchy

的index.php

/**
 * Including the Composer's autoloader
 */
require_once 'vendor/autoload.php';

/**
 * Bootstrap our application
 */
require_once 'app/init.php';

的init.php

<?php var_dump($route); ?>

routes.php文件

<?php
$route = 'abc';
?>

所以我的问题是我想在我的init.php文件中访问$ route变量。

2 个答案:

答案 0 :(得分:3)

我查看autoload_real.php,我注意到这些文件未包含在全局范围内。

public static function getLoader()
{
    [...]

    $includeFiles = require __DIR__ . '/autoload_files.php';
    foreach ($includeFiles as $file) {
        require $file;
    }

    [...]
}

variable scope。只需在routes.php文件中添加echo "test";即可确认其已正确包含。然后,您可能希望使用类似

的内容更改routes.php
function getRoutes()
{
    return "abc";
}

Init.php

<?php var_dump(getRoutes()); ?>

答案 1 :(得分:0)

您是否包含Composer生成的autoload.php文件?

require_once 'path/to/autoload.php';

此外,该文件不会加载到每个请求