读书人

怎么在类的构造函数中终止类的运行

发布时间: 2012-09-07 10:38:15 作者: rapoo

如何在类的构造函数中终止类的运行
比如一个class


class car {

public $name;


function __construct() {
if ($name= 'end ')
//这里要设置终止类的执行

}

function showname() {
echo 'name is '.$this-> name;
}

}


然后

$aaa= new car();

$aaa-> name= 'test1 ';
$aaa-> showname(); //打印 name is test1


$bbb=new car();
$bbb-> name= 'end ';
$bbb-> showname(); //应该不显示任何内容

请问有没有类似循环中break这样的语句可以打断类的执行,但是在构造函数中位于该语句之前的语句还是能正常执行。

[解决办法]

PHP code
class car  {    public   $name;    function   __construct()   {    }    public function   showname()   {        echo   'name   is   '.$this-> name;    }    public function setname($name){        $this->name=$name;        if ($this->name=='end'){            exit();        }    }}$aaa=new car();$aaa->setname('test1');$aaa-> showname();$bbb=new  car();$bbb->setname('end');$bbb-> showname();
[解决办法]
想了一下 你是要停止 而不是终止整个运行
PHP code
class car  {    public   $name;    protected $goon;    function   __construct()   {        $this->goon=true;    }    public function   showname()   {        if ($this->goon==true){            echo   'name   is   '.$this-> name;        }    }    public function setname($name){        $this->name=$name;        if ($this->name=='end'){            $this->goon=false;        }    }}$aaa=new car();$aaa->setname('test1');$aaa-> showname();$bbb=new  car();$bbb->setname('end');$bbb-> showname();$bbb=new  car();$bbb->setname('ttt');$bbb-> showname(); 

读书人网 >PHP

热点推荐