Rumah > Artikel > pembangunan bahagian belakang > 怎么在类的构造函数中终止类的运行
如何在类的构造函数中终止类的运行
比如一个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(); <br><font color="#e78608">------解决方案--------------------</font><br>想了一下 你是要停止 而不是终止整个运行<br>
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(); <div class="clear"> </div>