许多PHP开发人员都知道使用类静态成员函数比类的普通成员函数更高效,并且这个问题是从应用程序层次结构来分析的。

下面是一个例子:

将代码复制如下:
头('content-type:文本/ HTML;字符集= UTF-8);
类xclass {
公共静态变量var1 =1111111111111111;
美元的aaaaaaaaaaaaa公众var2 =;
公共功能__construct()
{
美元-> var2 =bbbbbbbbbbbbbbbb;
}
公共静态函数secho1()
{
回声自::var1美元。;
}
公共功能secho2()
{
Echo $this - > var2. '';
}
公共功能secho3()
{
echo' cccccccccccccc;
}
}
XClass::secho1();
XClass::secho3();
回声;
XC =新XClass(美元);
$ XC ->(secho1);
$ XC ->(secho2);
>
认真看上面的例子,你会发现一个有趣的地方,(secho1)被定义为静态方法,动态类的例子如还可引称为动态方法,和(secho3)也可以作为一个静态成员函数,从这个层面上,就不难理解为什么比动态快速静态成员函数。

可能是由于兼容性原因,PHP类成员实际上没有明显的动态和静态点,所有成员都将存储在某个特定的内存区域中作为静态成员,没有明确的语句情况,所以称为静态成员函数和公共函数调用,速度非常快。

但是调用动态类是不同的。它以阶级结构为样本和再生一个对象实例在内存中,所以有更多的过程,这可能不是简单的课程是非常重要的,但对于复杂的类,这显然会影响效率。

一些人担心,静态方法的使用不会造成太多的记忆,事实上,从以上的分析我们可以知道,你不声明一个静态方法,该系统将保持为静态成员,那么一类完全静态的方法和一个完全动态的声明,但该对象类的记忆实例几乎相同,所以,对逻辑的直接比较,推荐一个静态成员通过直接的方法,当然,一些复杂的或像一个清晰的逻辑,如果完全静态的类是不可能的,但它将失去意义的类,如果是的话,为什么面向对象,根据静态方法的目的特别适合于MVC模式类的逻辑。