如题

解决方案 »

  1.   

    那在什么情况下用php的静态类呢?是把它当作函数封装用么?我怎么觉得没有什么情况下会用到静态类
      

  2.   

    第一。两者模型无关的情况下。静态方法访问比生成对象实例要理论上更合理。
    第二。就效率上讲,一个静态方法访问,并不比生成一个实例对象访问要来得快。你可以测试便知。就我在5.3下屡试的结果,反而是静态访问要慢一丝丝。第三。但是,这里要考虑到一种情况。比如你有10个业务类。里面都要调用数据库访问的类,那么在这10个业务类里去统统new一遍db类,或者在外部new一遍db类然后用接口方法传到这10个业务类里。自然不如把db类的方法设置成静态方法。然后静态方式调用。原因嘛。涉及到内存分布等。不详解了。大概差不多如上。所以总结:你要只在一个地方用,其实从程序上讲差不多。要看模型的关系。如果多个地方都在调。静态自然划算。
      

  3.   

    php 能定义这样的静态类?static class a{};
      

  4.   

    没有静态类的说法.只有静态方法.
    上面的程序段自然不成立.class sample
    {
     Public static function test()
     {
       echo 'hello!';
     }}sample::test();