公告:
  • 要报名培训 PHP 的同学抓紧时间了,黎老师手把手教学,现在报名白菜价了 [2017-08-25]

php 框架之谈

在实际工作中,我发现,很多同学对框架的学习不深,总是断章取义一知半解。甚至在一些教学视频的内容中,都能发现这些现象。

框架总是设计过的,有什么配置,有什么函数,有什么类,有什么接口,类有什么方法,这个类的对象是该 new 的还是提供了工厂方法,等等的,都会精心策划精心设计。而我们应该学习它,使用它。

当框架没有提供你想要的功能时,首先应该尝试去互联网上搜索,未果的情况下,再自己设计。设计的时候,要注意,框架一般又会提供扩展的方式,这时遵循扩展就好了。

比如 yii2 框架中,就拿响应来说,我们知道 php 设置响应头是用 header 函数实现的,那么当我们想设置文档格式的时候,到底是用 header 函数呢还是怎样,这时如果我们知道 yii2 提供了 \yii\web\Response::format 属性时,就可以直接用这个属性了,而不用 header 函数。又比如设置不让错误信息作为响应内容而输出给访客看时,很多同学可能会想到在全局的某处直接 error_reporting(0)这样子做,这样做其实是不对的,框架提供了很好的错误处理机制了。对于请求参数,一般的框架都会有提供获取的 API,可是还是看到过很多同学直接用 $_GET, $_POST 等的原生变量获取,还有更多的例子,这里我就不举了。简而言之,学框架用框架。

说说大家口中的“重量级”。我的世界了,软件包的容量不是衡量它重不重的参数,这个参数一点也体现不出它的“重量”。真正的重量是指,在一次处理请求的过程中,如果加载了太多对处理请求无用的类、函数、变量和实例化了太多无关对象时等,这才是重量级,但是为了安全而做的一些处理,可以妥协。

一次和同事的技术切磋时,同事说,小项目小企业站,不该用 laravel 这样的框架,我说,该用。同事观点是“重”,这个上面已经论述,不存在“重”的问题。我的观点是 laravel 是 php 中最好的框架,没有之一。用它省心,具备互操作性,人人可以直接使用它,因为大家都学习了它。常常听说公司有自己的框架,我说这是大忌,为什么呢,因为公司的框架没有互操作性,离开了公司就什么都不是,这个同事不懂,往里面加了点东西,那个同事不懂,又往里面加了点东西,久而久之,就会面临散烂和无法收拾的局面,新同事厌之老同事烦之。

发表评论:(支持 Markdown 语法)
访客评论(0):