2017-08-17 更新:因为服务器到期,下述方法已经失效。加速的方法请参照这里的方法设置 composer 镜像源,并使用下面的方式创建项目。

composer create-project --prefer-dist laravel/laravel [project_name]

这样创建项目时,将使用镜像源下载框架,而不会从墙外的 cabinet.laravel.com 下载。

前段时间有个项目用到了 laravel 框架。laravel 本身是个很优秀的框架,OOP 的思想贯穿始终,大量使用已经开源的第三方类库,用反向控制(IoC)的思想对服务进行抽象和隔离,帮助程序员完成对服务的分治,大大提高了架构效率和开发效率、后期维护效率。

laravel 目前最新的稳定版是 laravel 5.1。因为我是从 5.1 开始使用 laravel 的,对 5.0 及 4.x 版本并不熟悉。但从网上大家的反馈来看,laravel 4.x 的使用方法和 5.x 相差较多,甚至 5.0 和 5.1 在细节处也有很多大的改进。我这里针对的主要是使用 laravel 5.1 的朋友,下面如果未明确提及版本,也默认指代 laravel ^5.1。

laravel 中新建项目的方法如下:

laravel new [project_name]

但是这个命令很慢,原因在于每次执行这个命令,laravel installer 都会从 http://cabinet.laravel.com/latest.zip 下载最新的稳定版 laravel 空项目代码,用以创新新项目。

# ~/.composer/vendor/laravel/installer/src/NewCommand.php  (Line.97)

// ......
    /**
     * Download the temporary Zip to the given file.
     *
     * @param  string  $zipFile
     * @return $this
     */
    protected function download($zipFile)
    {
        $response = (new Client)->get('http://cabinet.laravel.com/latest.zip');

        file_put_contents($zipFile, $response->getBody());

        return $this;
    }
// .......

恰好因为『你懂的』原因,我们访问 cabinet.laravel.com 这个站点的时候会比较慢,由此造成了新建项目的时候很慢。

我们自己做了一个 mirror 来解决这个问题。

修改 /etc/hosts(*nux / Mac OSX)或 %SYSTEMROOT%\System32\drivers\etc\hosts(Windows) 文件,新增下面一行:

123.59.41.89    cabinet.laravel.com

这样新建项目的时候,就可以直接从我们的 mirror 上拉取最新的 laravel 发布版,很快完成新项目创建。