PHP开发人员需知道的几个知识
浏览量:432
一、PSR 代码规范
0:自动加载(主要是针对PHP5.3以前没有命名空间的版本)
1:编码规范
2:编码风格推荐
3:Log结果
4:自动加载更细(在出现命名空间后有很大的改变)
7:HTTP消息接口
二、Composer
Composer是php中的一种管理工具,和Pear、Pecl都不同,它不仅仅是用于安装扩展,更重要的是定义了一种现代PHP框架的实现和扩展管理的方法。类似node.js的npm、Python的pip,但又比以上做的更多。
Composer的核心是实现扩展的标准安装和类的自动加载
目前比较知名的PHP扩展都可以通过composer安装了。而调用仅仅只需要加载一个autoload.php的文件即可。
周知,PHP引入文件要通过include和require实现,这其实写起来并不好看。PHP5.3提供了命名空间,这本来和文件引入也不相干。但是composer实现了PSR-4(在老版本的PHP上是PSR-0),使用use时通过调用spl_autoload_register实现的方法在调用时加载所需要的类,在写法上类似Python的import,即美观也起到了按需加载、延迟加载的作用。
三、php-cs-fixer
php-cs-fixer主要是用于按照PSR-1和PSR-2的规范格式化代码,还有一些可选的编码风格是Symfony的规范,因为其成员大部分都是来自Symfony项目。其具体的使用和配置方法在官方文档上面都有介绍,这里就不在赘述。
或许有人会觉得代码实现功能最重要,风格并不是那么重要。其实如果想成为一名优秀的php开发工程师,相信能实现既定功能肯定是远远不够的,还要能编写出高质量的代码,何谓高质量的代码,相信这个不用多说,你也清楚。
四、PsySH
PsySH是php中的一个类似于Python的IDLE的交互运行环境。这个在Laravel中常见,Laravel5的artisantinker的功能就是通过它来实现的。PsySH还常常用于测试一些php的简单的函数和特性。
五、一些框架和组件
Laravel
Larval的核心实现是一个容器(Container)以及PHP的反射类(ReflectionClass)(Yii2也是一样)。
Symfony2
Symfony2是php中提供了很多组件的框架。http-kernel和http-foundation在Laravel中也有被继承过来直接使用。
CodeIgniter
CodeIgniter是一个小巧而强大的PHP开发框架。虽然CI并没有使用Composer组件的方式进行开发,但3.0以后的版本也加入了Composer的支持(这无非就是多一个vendor的目录,引入autoload.php)的文件。
ORM
ORM亦或ActiveRecord我觉得还是需要的。也许有人认为PHP就是一个模板引擎、就应该手写SQL。请不要被这些话所困扰。
模板引擎
变量值的输出(echo),
条件判断和循环(if...else、for、foreach、while)
引入或继承自其他文件
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。