Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用OOP组合许多函数(某种名称空间)?_Php_Oop_Class_Performance - Fatal编程技术网

在PHP中使用OOP组合许多函数(某种名称空间)?

在PHP中使用OOP组合许多函数(某种名称空间)?,php,oop,class,performance,Php,Oop,Class,Performance,我正在使用PHP,我想知道将许多函数组合到一个类中是多么糟糕的做法。我知道这不是类的目的,但我之所以这样做是为了提供一个名称空间。如果在执行PHP脚本时启动10个类而不是2个或3个类,会产生多大的影响?您可能不知道,到目前为止,PHP具有一流的名称空间支持:。如果您使用的是PHP版本

我正在使用PHP,我想知道将许多函数组合到一个类中是多么糟糕的做法。我知道这不是类的目的,但我之所以这样做是为了提供一个名称空间。如果在执行PHP脚本时启动10个类而不是2个或3个类,会产生多大的影响?

您可能不知道,到目前为止,PHP具有一流的名称空间支持:。

如果您使用的是PHP版本<5.3(您可能是,因此无法使用名称空间),那么您可以使用以下内容:

<?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();
?>