晓夏

北漂的女孩

Good Luck To You!

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)

    引入或继承自其他文件





神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。