首页  >  文章  >  后端开发  >  怎么在类的构造函数中终止类的运行

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

WBOY
WBOY原创
2016-06-13 13:17:231990浏览

如何在类的构造函数中终止类的运行
比如一个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();
<br><font color="#e78608">------解决方案--------------------</font><br>想了一下 你是要停止 而不是终止整个运行<br>
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(); <div class="clear">
                 
              
              
        
            </div>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn