在PHP中使用OOP组合许多函数(某种名称空间)?
我正在使用PHP,我想知道将许多函数组合到一个类中是多么糟糕的做法。我知道这不是类的目的,但我之所以这样做是为了提供一个名称空间。如果在执行PHP脚本时启动10个类而不是2个或3个类,会产生多大的影响?您可能不知道,到目前为止,PHP具有一流的名称空间支持:。如果您使用的是PHP版本<5.3(您可能是,因此无法使用名称空间),那么您可以使用以下内容:在PHP中使用OOP组合许多函数(某种名称空间)?,php,oop,class,performance,Php,Oop,Class,Performance,我正在使用PHP,我想知道将许多函数组合到一个类中是多么糟糕的做法。我知道这不是类的目的,但我之所以这样做是为了提供一个名称空间。如果在执行PHP脚本时启动10个类而不是2个或3个类,会产生多大的影响?您可能不知道,到目前为止,PHP具有一流的名称空间支持:。如果您使用的是PHP版本
<?php
class Foo {
public static function aStaticMethod() {
// ...
}
}
Foo::aStaticMethod();
?>
(抄自)
我可以说它是一个类的函数——功能分组
这不会有任何与性能相关的问题(你可以做数百万次,你甚至不会注意到-应该没有运行时成本,只有一分钟额外的解析成本,这是可以忽略不计的)。现代php框架带来了大量代码,并在内部创建了大量对象——我不担心php性能,数据库性能几乎总是首先影响到您。确保您的代码可读性和可维护性(是的,尤其是php代码;),如果这意味着要对函数进行分组,那么就这样做
“97%的时间过早优化是万恶之源”,特别是当你在做网页而不是核模拟时;)
编辑:public和static仅适用于php5,在php中,如果您非常关心性能,以至于加载10个类太慢,那么您不应该使用php
至少,使用像APC这样的操作码缓存,然后加载类应该不会成为负担。几乎-最新的稳定版本是5.2.8;名称空间将在5.3.0版中,感谢您的关注!期待该功能的发布。
<?php
class Foo {
function aStaticMethod() {
// don't touch $this
}
}
Foo::aStaticMethod();
?>