应该避免使用的PHP语法

业务逻辑层的魔法函数、魔法变量

魔法函数、魔法变量,最好只在框架代码、数据访问层中使用,在业务逻辑层或表现层使用有以下缺点

  • 会增加代码逻辑的复杂度
  • 不利于逻辑的移植,限制了代码在不同语言间的重用。

变量不作声明和初始化

PHP作为若类型语言,如果不做声明和初始化,非常容易出现脏数据,比如上一次循环结束后没有清理遗留数据等。

使用base

base的作用相当于多继承,多继承在语义上容易产生歧义。应该保持使用单继承的原则。

goto 语句

降低代码的可读性和可维护性

匿名函数(Lambda functions)和

匿名函数不利于重用和维护。

闭包(closures)

避免使用闭包,应该用Namespace或者class进行封装。

直接使用字符串反射变量、类、函数

使用Reflection类代替 ,提高代码可读性和可维护性。

数组遍历使用计数变量

使用 foreach遍历,因为foreach 性能更高,语法更简洁

总结

  • 如果逻辑在使用语言表达时,可以选用多种语法,则应该C/C++、Java 或其他语言中最通用的语法
  • 谨慎使用或者不用只有PHP拥有的特性函数或语法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax