LaravelLaravel是一套非常现代的PHP框架。基于composer的构建方式,它的很多核心依赖并不完全由Laravel自己维护,而是依赖于symfony/http-、eloquent/等比较成熟的库,从而实现现代框架的集合都是胜于一(站在巨人的肩膀上)。通过前面对LaravelFly的了解,我们已经知道Swoole给PHP带来的无可比拟的优势,但是由于Swoole的一些局限性,我们不能直接将其用于成熟的PHP框架,需要做一些修改才能在Swoole上运行。LaravelFly就是这样一个工具(或者,你可以称它为其他东西,无论如何)。好吧,让我们开始吧。我们先新建一个Laravel#Composer下载Laravel安装包:composerglobalrequire"laravel/installer"#新建一个项目laravelnewtestcdtest/composerupdatecp.env.example.envvim.env#修改数据库配置phpartisankey:generatephpartisanserve这时候我们通过http://localhost:8000就可以访问到这个新建的laravel项目了,但是还要继续composerrequire"scil/laravel-fly":"dev-master"vendor/bin/publish-laravelfly-config-filesvim应用程序/Http/Kernel.php###########################################classKernelextendsHttpKernel#-->###if(defined('LARAVELFLY_GREEDY')){#if(LARAVELFLY_GREEDY){#classWhichKernelextends\LaravelFly\Greedy\Kernel{}#}else{}#classWhichKernelextends\LaravelFly\Kernel{}#}#}else{#classWhichKernelextendsHttpKernel{}#}##classKernelextendsWhichKernel#vendor/bin/start-laravelfly-serverOK,我们的laravel项目现在运行在Swoole扩展,几乎没有bug。但是经过测试,发现debugbar存在一些问题。debugbar调试过程中记录的queryhistory在请求完成后不会被清除,而是会继承到下一次请求中。这其实就是Swoole和创建的资源在每次请求完成后是不会回收的,我们只需要在config/lavelfly.php中声明单次请求完成后需要回收的实例即可。
