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)
我真的很喜欢你的(真实的)代码,而且我通常很难喜欢其他人的代码(我没有太多时间深入研究 ZF,但例如 PEAR [他们也有自己的编码标准] 在我看来就很糟糕),您给出的第一个示例似乎很愚蠢,但关于第二个示例,至少对我来说真的很容易理解,并且从您提供的简短片段来看,您似乎具有一致的编码风格,并且在正确的位置使用正确数量的空格地方 - 这对于干净的代码来说非常重要(如果你不相信我,只需看看一些 Perl 片段)。
我只想指出三点:
rSum
对于属性来说这不是一个糟糕的名称,但不太清楚它包含什么值,也许您可以为该属性找到一个更具描述性的名称?如果您使用正确的函数,您的第二个“真实”示例可能会更干净、更快:
$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)
这里似乎有很多人不喜欢单调,但我相信上面的代码是清晰、高效和描述性的 - 但这可能只是我......=)