加速你的laravel框架运行, 教你如何减少服务提供者的启动.
Laravel
有一个很强大的功能,就是服务提供者,它使得开发者能很容易的便能调用各种服务,但这也使得框架变得臃肿,今天就教大家如何优化各种不必要的服务提供者.
- 找到不需要启动的服务提供者. 执行
php artisan package:discover
或者composer dump-auto
查看我们引导了什么服务提供者. - 从这里可以看到我们所有自动启动的外部服务提供者,我们可以优化其中一些,
- 比如
encore/laravel-admin
是一个后台,但实际上我们每一次请求都会启动这个,所以我们只需要判断url
中出现admin
才启动这个服务 - 比如
intervention/image
实际上是一个图片处理包,我们也不需要每一次请求都启动它,只需要压缩,操作图片时才启动这个包,这时候就可以写一个Service
类,在类的构造方式启动这个服务
- 比如
- 首先我们想要排除某个服务提供者,把它加入项目根目录下
composer.json
文件中的extra.laravel.dont-discover
的数组中即可 - 如果我们不启动这些服务,但又使用的话,这时候就会出现不可意料的结果
- 所以,这时候我们就需要按需启动服务提供者.比如只有在
url
包含有admin
才启动encore/laravel-admin
- 首先我们先查看这个包的根目录下的
composer.json
文件
近期评论