Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel自动加载器:引导过程中的不同行为_Php_Laravel_Autoload - Fatal编程技术网

Php Laravel自动加载器:引导过程中的不同行为

Php Laravel自动加载器:引导过程中的不同行为,php,laravel,autoload,Php,Laravel,Autoload,在Laravel4.2应用程序中,我有以下类文件 #File: app/models/Hello.php <?php class Hello { } 但是,如果我尝试在 bootstrap/start.php PHP似乎找不到类文件,我得到以下错误 Fatal error: Class 'Hello' not found in /path/to/laravel/bootstrap/start.php on line 15 Call Stack # Time Memory

在Laravel4.2应用程序中,我有以下类文件

#File: app/models/Hello.php
<?php
class Hello
{
}
但是,如果我尝试在

bootstrap/start.php
PHP似乎找不到类文件,我得到以下错误

Fatal error: Class 'Hello' not found in /path/to/laravel/bootstrap/start.php on line 15

Call Stack
#   Time    Memory  Function    Location
1   0.0002  241880  {main}( )   ../index.php:0
2   0.1130  1917640 require_once( '/path/to/laravel/bootstrap/start.php' )  ../index.php:35
通常,我认为这是因为所有的自动装弹机还没有安装好。但是,如果我在这两种上下文中查看带有
spl\u autoload\u函数的自动加载器,它们包含相同的四个自动加载器(在
bootstrap/start.php的末尾调用)

var_dump(spl_autoload_functions());

这让我有点困惑,为什么自动加载可以从我的routes.php文件中工作,而不是在
start/bootstrap.php
中。我的假设是其他一些情况会给四个自动加载程序中的一个添加一些状态。我想知道其他情况是什么,或者,如果我不正确,自动加载程序如何在一个位置工作,而不是在另一个位置另一个。

虽然拉雷维尔的四个自动加载器已经加载,但拉雷维尔的主自动加载器尚未使用
ClassLoader::addDirectories添加任何目录

bootstrap/start.php
文件中使用类的最佳方法是将该类(或类目录)添加到Composer的
classmap
属性,然后使用

$ composer dumpautoload
$ composer dumpautoload