在使用laravel框架式可能有些业务需求会频繁地用到我们自定义的类库 这时候我们把这些自定义类库加入到框架的自动加载中会方便很多
如果我们使用的composer安装的laravel框架,那么添加自定义类库就会方便很多 1 首先在app目录下创建一个新的目录,命名Lunar(这个是自定义的)
2 类文件Lunar.php放在Lunar目录下 注意文件中的类名和文件名要一致
3 接着找到框架根目录下的composer.json文件 在文件中做出如下修改 "autoload": { "classmap": [ "database", "app/Lunar/Lunar.php" ], "psr-4": { "App\\": "app/" } }, 4 在cmd或者linux中进入laravel框架的根目录 执行如下命令 composer dumpautoload
此后就可以在laravel的控制器中使用Lunar类了 当然使用前要注意一点就是在控制器的头部先引入命名空间 use App\Lunar\Lunar; public function index() { $lunarClass = new Lunar(); }
如果laravel不是通过composer安装的该怎么引入这个类库呢 在我使用composer添加完毕Lunar类后框架内全局搜索 发现 laravel/vendor/composer/autoload_classmap.php 文件中的第9行多了如下数据 'App\\Lunar\\Lunar' => $baseDir . '/app/Lunar/Lunar.php', laravel/vendor/composer/autoload_static.php 文件中的第266行多了如下数据 'App\\Lunar\\Lunar' => __DIR__ . '/../..' . '/app/Lunar/Lunar.php', 所以个人猜想手动添加这两处也可以达到效果
ps:我所用的laravel框架版本为5.2 |
|