PHP和编写干净的代码

PPP*_*PHP 5 php coding-style code-formatting

我试图找到编写PHP的最佳实践.

我只是想知道这是一个坏习惯.

例如,处理变量.

$var = 1
$var = doSomething($var);
$var = doSomething2($var);
$var = doSomething3($var);
Run Code Online (Sandbox Code Playgroud)

看起来有点可怕.

这是我刚才做的真实代码的示例:

$this->rSum = explode(",", $this->options["rSum"]);
$this->rSum = array_combine(array_values($this->rSum), array_fill(0, count($this->rSum), 0));
Run Code Online (Sandbox Code Playgroud)

如果有人可以通过我一些编写更干净的代码的好教程,那将是很好的!

它让我再次提出愚蠢的问题.:)


顺便说说..

模型中可以进行多少自动处理?

我有一个具有执行方法的模型,当我调用它时,它会执行许多操作,例如读取定义文件和进行数据库查询.

例如

$object = new Object()
$object->setFile("example.txt");
$object->execute();

// Then i can fetch things from it
echo $object->getName();
Run Code Online (Sandbox Code Playgroud)

小智 8

在我看来,智能代码不一定是好的代码.我个人更喜欢干净,简单易懂的代码.你的2个班轮将让你的同伴认真思考,而不是你的初始"坏"代码.

无论如何,这只是我的看法


Bor*_*éry 7

  1. Zend框架编码标准
  2. 梨编码标准

最重要的是,要保持一致.


Ali*_*xel 3

我真的很喜欢你的(真实的)代码,而且我通常很难喜欢其他人的代码(我没有太多时间深入研究 ZF,但例如 PEAR [他们也有自己的编码标准] 在我看来就很糟糕),您给出的第一个示例似乎很愚蠢,但关于第二个示例,至少对我来说真的很容易理解,并且从您提供的简短片段来看,您似乎具有一致的编码风格,并且在正确的位置使用正确数量的空格地方 - 这对于干净的代码来说非常重要(如果你不相信我,只需看看一些 Perl 片段)。

我只想指出三点:

  1. 语义:虽然rSum对于属性来说这不是一个糟糕的名称,但不太清楚它包含什么值,也许您可​​以为该属性找到一个更具描述性的名称?
  2. 变量重用:正如我之前所说,您的第一个示例似乎很愚蠢,但重用变量实际上是明智的,主要原因有两个:
    1. 你不会浪费内存。
    2. 而且您不会污染您正在使用的范围。
  3. 如果您使用正确的函数,您的第二个“真实”示例可能会更干净、更快:

    $this->rSum = array_flip(explode(",", $this->options["rSum"]));

编辑:我刚刚注意到我上面提供的代码并不完全是你正在做的事情(它0没有被我的大脑处理),这是另一个可行的替代方案:

$this->rSum = array_fill_keys(explode(",", $this->options["rSum"]), 0);
Run Code Online (Sandbox Code Playgroud)

这里似乎有很多人不喜欢单调,但我相信上面的代码是清晰、高效和描述性的 - 但这可能只是我......=)