PHP:未初始化的类成员/属性出错

时间:2013-07-05 00:51:40

标签: php

在我看来,即使在最严格的错误报告中,PHP类成员也不如变量严格。 例如

class A
{
    public function __construct()
    {
        $this->test = 0;
    }
}

$a = new A();

在任何情况下都不会出错。我想手动定义$ test(作为public / protected / private)。当然我可以定义__get($ field)和__set($ field),但我正在寻找全球解决方案。

1 个答案:

答案 0 :(得分:-1)

<?php
class A
{
    private  $test;

    public function __construct( $test = 0 ) // set a default value to 0 if no parameters

    {

        $this->test = $test;



    }

    public function __set( $field  )

    {
        if( isset( $field ) === true )

        {  
            $this->test = $field;
            return true;
        }

        return false;

    }
    public function __get()

    {

        return $this->test;

    }

}
 $a = new A();

 echo $a->get();
?>