如何在类的构造函数中终止类的运行
比如一个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这样的语句可以打断类的执行,但是在构造函数中位于该语句之前的语句还是能正常执行。
[解决办法]
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();
[解决办法]
想了一下 你是要停止 而不是终止整个运行
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();