PHP:将经常遇到的简单操作放在方法中
我已经读了很多关于编写“高质量”PHP脚本的书,很多人都提到将经常遇到的简单操作放在方法中是一个很好的实践,例如乘法等 [示例]PHP:将经常遇到的简单操作放在方法中,php,design-patterns,Php,Design Patterns,我已经读了很多关于编写“高质量”PHP脚本的书,很多人都提到将经常遇到的简单操作放在方法中是一个很好的实践,例如乘法等 [示例] <?php class Test { public function __construct() { $result = 0; for ( $i = 0; $i < 10; $i++ ) { $result += $this->multiply($result,
<?php
class Test
{
public function __construct()
{
$result = 0;
for ( $i = 0; $i < 10; $i++ )
{
$result += $this->multiply($result, $i);
}
return $result;
}
private function multiply($a, $b)
{
return $a * $b;
}
}
而不是创建新方法。这些方法真的是一种很好的实践吗?它们是否会降低性能(即使是微秒级)
编辑:
[问题2]
随机发现这段代码:,你认为不需要乘法吗?我想一行简单的代码
$result+=$result*$I代码>在这个上下文中就足够了。函数multiply
是冗余的,除非预见到一些可伸缩性,否则在这种情况下,我会这样编写代码:
<?php
class Test{
private $result;
function __construct() {
// our construct does what it do best: initialize $result
}
function multiply() {
for ($i = 0; $i < 10; $i++) {
$this->result += $this->result * $i;
}
return $this->result;
}
// by moving the for loop inside multiply
// our code becomes more concise, modular and it encourages high cohesion
}
通常,当您发现自己在整个应用程序中一遍又一遍地重复相同的代码时,您需要将其移动到自己的功能中。
尤其是在几个不同的类中使用它
您可以尝试将所有常用函数放入某种类型的函数类中,并在加载时实例化它:
<?php
class Functions {
public function multiply($num1, $num2) {
return ($num1 * $num2);
}
}
$helper = new Functions();
?>
这样做完全没有意义,代码的可读性和可维护性也大大降低。是的,它大大增加了开销。在单次使用的情况下是次要的,但是加起来很快。我随机发现了下面的代码:你认为乘法方法不需要吗?它也是多余的。最好将乘法移到calculate
中,这样代码就更简洁了。
<?php
class Functions {
public function multiply($num1, $num2) {
return ($num1 * $num2);
}
}
$helper = new Functions();
?>
$helper->multiply($arg1, $arg2);