|
|
1
13
使用本地静态变量:
避免为此使用全局变量。它使全局名称空间变得混乱,使函数的封装程度降低。如果函数内部以外的其他地方需要知道它是否被调用,那么将此函数放入Alan Storm所指示的类中是值得的。 |
|
|
2
6
你真的分析过这段代码吗?我怀疑额外的布尔测试是否会对页面呈现时间产生任何可测量的影响。 |
|
|
3
4
有条件的
但目前,函数在定义时会变成一块砖块。
你可以用
等到PHP5.3,我们有“闭包” http://wiki.php.net/rfc/closures 那你就可以这样做了
进一步阅读后,这就是你想要的效果。
它将执行您想要的操作,但是调用可能比普通函数调用要贵一点。 在PHP5.3中,这也应有效:
(就我个人而言,我当然认为所有这些巧妙的技巧都会比你之前比较的2个正数慢很多。) 如果你真的想得到 到处飞驰
然而,你可能无法做到这一点,但你没有给予足够的空间来澄清。但是,如果你能做到这一点,那么简单的答案通常是最好的:) |
|
|
4
1
请不要使用
|
|
|
5
0
如果最终发现额外的布尔测试过于昂贵,可以将变量设置为函数名并调用它:
试一试 |
|
6
0
在javascript中,您可以执行以下操作:
使用类(在PHP中),您可以执行以下操作:
是的,基于类的oop比函数式编程更冗长,但在性能方面,它们应该差不多。 |
|
|
7
0
使用局部静态变量怎么样?
如果您只需要为给定的参数值执行一次昂贵的操作,则可以使用数组缓冲区:
局部静态变量在函数调用中是持久的。他们记住返回后的值。 |
|
|
8
0
你有什么理由选择功能型模式吗?尽管有匿名函数和闭包计划,PHP实际上并不是一种函数语言。在这里,类和对象似乎是更好的解决方案。
如果你想变得有趣,你可以使用神奇的方法来避免预定义所谓的布尔值。如果不想实例化对象,请转到静态。 |