当前位置:Gxlcms > PHP教程 > 怎么在类的构造函数中终止类的运行

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

时间:2021-07-01 10:21:17 帮助过:20人阅读

如何在类的构造函数中终止类的运行
比如一个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();                     

人气教程排行