分类:
2008-04-14 16:23:42
三、 使用"instanceof"操作符
如你所见,"instanceof"操作符的使用非常简单,它用两个参数来完成其功能。第一个参数是你想要检查的,第二个参数是类名(事实上是一个接口名),用于确定是否这个对象是相应类的一个实例。当然,我故意使用了上面的术语,这样你就可以看到这个操作符的使用是多么直观。它的基本语法如下:
if (object instanceof class name){ //做一些有用的事情 } |
class PageGenerator{ private $output=''; private $title; public function __construct($title='Default Page'){ $this->title=$title; } public function doHeader(){ $this->output='<html><head><title>'.$this->title.'</title></head><body>'; } public function addHTMLElement($htmlElement){ if(!$htmlElement instanceof HTMLElement){ throw new Exception('Invalid (X)HTML element'); } $this->output.=$htmlElement->getHTML(); } public function doFooter(){ $this->output.='</body></html>'; } public function fetchHTML(){ return $this->output; } } |
try{ //生成一些HTML元素 $h1=new Header1(array('name'=>'header1','class'=>'headerclass'),'Content for H1 element goes here'); $div=new Div(array('name'=>'div1','class'=>'divclass'),'Content for Div element goes here'); $par=new Paragraph(array('name'=>'par1','class'=>'parclass'),'Content for Paragraph element goes here'); $teststr='This is not a HTML element'; //实例化页面生成器类 $pageGen=new Page生成器(); $pageGen->doHeader(); //添加'HTMLElement'对象 $pageGen->addHTMLElement($teststr) //把简单的字符串传递到这个方法 $pageGen->addHTMLElement($h1); $pageGen->addHTMLElement($div); $pageGen->addHTMLElement($par); $pageGen->doFooter(); //显示网页 echo $pageGen->fetchHTML(); } catch(Exception $e){ echo $e->getMessage(); exit(); } |
Invalid (X)HTML element |