laravel很优秀很灵活但是它真的太优秀太灵活不太敢轻易用它

我没用过几个php框架用得最多的就是laravel然后就是Phalcon Symfony  Yii1 Yii2 Thinkphp3还有Workerman,CMS的不算在内。

除了Symfony没用来做过真正的项目,其他都做过,当然laravel是最近正在做的,在使用过程中以及接手别人的代码中,遇到了一些问题,让人很苦恼,让我感觉laravel真的太灵活了不方便使用。


先说一下接手别人代码,因为laravel对IDE不友好真的很不好用,laravel-ide-helper这个工具相信用过laravel的都不陌生,你能告诉我,它真正的有啥用?然后我觉得它并没啥鸟用,除了让我的代码在IDE看起来不那么难看而已,可以对laravel用过一段时间的都不需要它,并且它还不简洁不优雅,是的就是不简洁不优雅。


当你使用Facade的时候,当然刚开始你会觉得好神奇,真是好神奇,然并卵,它除了能定义一个标识外还有什么用?你可能会说它好灵活,因为它的灵活你能多写几行代码么?阿里的12亿行代码是这样子写出来的么?


当一个页面使用use导入二三十个或者更多的Facade后你会发现,你要去找它的provider,找到后还要去找instance,你要去跑一大圈再绕回来。再让你去改别人的代码你会特别的烦燥,有没有同感的。


以前Facade需要手动注册provider,现在新版本框架不需要手动注册了,但是也并没有什么鸟用,不信来看看Facades\App\Xxxx这是啥你懂的,其实它就是App\Xxxx是不是很懵逼,直接use App\Xxxx不行么,当然你可能说你就想用Facade,怎么越用感觉越麻烦了,还是我太菜了。


当你看到代码中有一个app('xxx'),这个xxx是什么?谁能告诉我?$request->yyy($request->get('yyy'),$request->['yyy'])  这个yyy是啥东西,是Requestr的属性还是从哪儿来的?谁给我讲一下?Eloquent也有同样的问题,整个框架中随处可见的这些魔法,让人头疼,当遇到这样的代码的时候,这个时候除了想快点找到它是什么来至哪儿外,你还会觉得自己对laravel 一点都不了解,这货还有这么多种姿势?这个时候你会不会从你自己的laravel中醒过来。


最后就是路由的定义很灵活,但是我更喜欢Symfony的写在注释里,然后可以一并生成文档,当然laravel也可以写在注释里,虽然它与路由并没有啥关系。


不过就是Blade还是很好用,我习惯了Blade,我听人报怨过Blade说Blade里允许写php代码很乱,一点也不规范,也不像模板,其实我自己对这些倒没什么,相反我觉得Blade可以写php代码反正更灵活也没什么问题,最终所有的模板还不都是要解析成php文件缓存来执行的,并没有什么不好的。


以上纯属个人观点,不喜请绕道。转载请注明来源。

Tags php 建站

留言(0)

评论