PHP中静态类中是不是__construct()和__destruct()是不是是没用的?

解决方案 »

  1.   

    其实,并没有静态类的概念,只有static关键字及相关的一些规定。举个例子:class Demo {
    /**
     * 构造方法
     * @access public
     * @return void
     */
    public function __construct() {
    echo __METHOD__, PHP_EOL;
    } /**
     * 析构方法
     * @access public
     * @return void
     */
    public function __destruct() {
    echo __METHOD__, PHP_EOL;
    } /**
     * 测试1
     * @access public
     * @return void
     */
    public static function test1() {
    echo __METHOD__, PHP_EOL, PHP_EOL;
    } /**
     * 测试2
     * @access public
     * @return void
     */
    public function test2() {
    echo __METHOD__, PHP_EOL;
    }
    }// 调用静态方法
    Demo::test1();// 调用非静态方法
    $demo = new Demo();
    $demo->test2();
    输出:Demo::test1Demo::__construct
    Demo::test2
    Demo::__destruct
      

  2.   

    __construct()和__destruct() 这个只有new才会触发啊  静态类没有new。。
      

  3.   

    单例模式,禁止new,不是没有new