PHP风格指南

时间:2013-12-09 06:57:32

标签: php coding-style

用PHP编写这样的代码的最佳样式方法是什么?

$result = $this->funcA(param1, param2, param3, ...)->funcB(...)->funcC(...)

另外,如果参数超长,怎么办?如何以及在何处将它们分成多行?

3 个答案:

答案 0 :(得分:2)

这就是我喜欢的:

$result = $this->funcAaAaA ( param1, param2, param3, ... )
               ->funcBb    ( 'a',    'b' )
               ->funcCcc   ( "word", TRUE )

很多冗余的空白,是的。但它的外观非常清晰,并且很容易一目了然,因为逻辑块变得非常清晰。

还有其他一些事情:

  • 每个文件只有一个单独的类
  • 决定类和方法名称​​的名称中的拼写大小写并保持。我自己使用smallCamelCase。
  • 在打开语言构造的行上打开大括号,除非在第一级或类上打开方法
  • 每个级别缩进2个空格,大多数现代编辑器允许输入制表符并将它们转换为2个空格
  • 每个类,方法和函数之前的代码内文档,以便您可以使用phpdoc之类的
  • 使用名称空间,但不要太过分了
  • 使用什么可见性选择器php提供(私人,公共,...),虽然PHP非常沉闷,通常你被迫公开,为什么。不过请记下来。
  • 使用“技术标识符”的单引号和“人类可读文本”的双引号,通常用于输出。
  • 尽可能使用类常量
  • 静态类方法通常允许更清晰的代码并使您免于实现冗余对象
  • 对常量和语言结构使用大写拼写,例如TRUEFALSE
  • 使用period operator阻止字符串连接,而不是使用sprintf()
  • 在每个文件的顶部放置一个清晰的注释标题,说明文件的名称,目的,作者和许可证。在所有文件中使用相同的标题结构,甚至跨语言边框(sql文件或js等)

答案 1 :(得分:1)

here开始,使用流畅的应用程序编程接口通常会导致许多串联函数调用。这些电话可能分成几行。执行此操作时,所有后续行都会缩进4 spaces,并以"->"箭头开头。

示例:

<?php

$result=$this->funcA(param1, param2, ...)
    ->funcB(23, 42)
    ->funcC();
?> 

为了支持可读性,后续调用相同函数/方法的参数可以通过参数名称对齐。

示例:

<?php

$this->callSomeFunction('param1',     'second',        true);
$this->callSomeFunction('parameter2', 'third',         false);
$this->callSomeFunction('3',          'verrrrrrylong', true);
?> 

这同样适用于参数变量,也适用于嵌套函数调用和数组

答案 2 :(得分:0)

尝试将这些指南用于PHP代码http://www.php-fig.org/psr/psr-2/