菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1362
0

生产环境下的 Laravel 调优: 减少 providers 的加载

原创
05/13 14:22
阅读数 3410

说明

此文章翻译自: Crunching Laravel 4 for Production Server

生产环境下, 可以去除一些不必要的 providers 来减小框架的加载负担.

关闭 Workbench

生产环境下, Workbench 几乎是用不到的, 可以使用以下方法进行关闭:

  • 'Illuminate\Workbench\WorkbenchServiceProvider'app/config/app.php 文件 providers 数组里面移除;
  • 删除 bootstrap/autoload.php 文件里面对 Workbench 的加载代码;

参照这个 Commit.

命令行的 providers 按需加载

命令行相关的 providers 只需要在快用到的时候再进行加载, 下面是处理的方法:

1.编辑 app/global/artisan.php. 文件, 如下:

<?php

$provides = array(
    'Illuminate\Foundation\Providers\CommandCreatorServiceProvider',
    'Illuminate\Session\CommandsServiceProvider',
    'Illuminate\Foundation\Providers\ComposerServiceProvider',
    'Illuminate\Foundation\Providers\KeyGeneratorServiceProvider',
    'Illuminate\Foundation\Providers\MaintenanceServiceProvider',
    'Illuminate\Foundation\Providers\OptimizeServiceProvider',
    'Illuminate\Foundation\Providers\RouteListServiceProvider',
    'Illuminate\Foundation\Providers\ServerServiceProvider',
    'Illuminate\Foundation\Providers\TinkerServiceProvider',
);

foreach ($provides as $provide)
{
    App::register($provide);
}

2.从 app/config/app.php 里移除多余的 provides;

参见这个 Commit

还有什么可以优化?

如果你的应用里面没有使用到发送 Email 功能的话, 可以移除 Illuminate\Mail\MailServiceProvider, 或者不需要使用到队列, 可以移除 Illuminate\Queue\QueueServiceProvider.

发表评论

0/200
1362 点赞
0 评论
收藏
为你推荐 换一批