>  기사  >  백엔드 개발  >  怎么在类的构造函数中终止类的运行

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

WBOY
WBOY원래의
2016-06-13 10:37:271016검색

如何在类的构造函数中终止类的运行
比如一个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으로 문의하세요.