PHP函数-类和对象函数
2012-07-22 11:36 BytesLoop 阅读(239) 评论(0) 编辑 收藏 举报- class_exists 检查类是否已定义
1 <?php 2 class Book{} 3 if(class_exists('Book')){ 4 $obj=new Book(); 5 echo 'Book 的类存在'; //Book 的类存在 6 } 7 ?>
- get_class_methods 以数组形式列出类的所有方法
1 <?php 2 class Book 3 { 4 function asp(){} 5 function php(){} 6 function jsp(){} 7 } 8 $array=get_class_methods('book'); 9 print_r($array); //Array ( [0] => asp [1] => php [2] => jsp ) 10 ?>
- get_class_vars 以数组形式列出类的默认属性
1 <?php 2 class Book 3 { 4 var $asp; 5 var $php=123; 6 var $jsp='jsp'; 7 function book() 8 { 9 $this->php=100; 10 } 11 } 12 $book=new Book(); 13 $array=get_class_vars('book'); 14 print_r($array); //Array ( [asp] => [php] => 123 [jsp] => jsp ) 15 ?>
- get_class 返回对象实例所属的类的名字
1 <?php 2 class Book 3 { 4 var $name = "明日科技"; 5 var $book = "php与mysql开发手册"; 6 var $time; 7 function setTime($time) 8 { 9 $this->time = $time; 10 } 11 function getAll() 12 { 13 echo $this->book.",作者:".$this->name.",出版日期:".$this->time; 14 } 15 } 16 17 class PhpBook 18 { 19 var $bookc = "人民邮电出版社"; 20 function sendAll($obj) 21 { 22 if(get_class($obj)=="Book"){ 23 echo $obj->book.",作者:".$obj->name.",出版社:".$this->bookc.",出版日期:".$obj->time; 24 } 25 else{ 26 echo "来源错误"; 27 } 28 } 29 } 30 31 $book = new Book(); 32 $book->setTime("2007年"); 33 34 $php = new PhpBook(); 35 $php->sendAll($book); 36 echo "<br>"; 37 class Asp 38 { 39 40 } 41 $asp = new Asp(); 42 $php->sendAll($asp); 43 44 ?>
- get_declared_classes 以数组的形式返回当前脚本中所有类的名称
1 <?php 2 class Book 3 { 4 var $php; 5 } 6 class Php{} 7 class Phpbook{} 8 $class=get_declared_classes(); 9 print_r($class); 10 ?>
- get_object_vars 返回由对象中定义的属性所组成的关联数组
1 <?php 2 class Book 3 { 4 var $var1; 5 var $var2="php"; 6 var $var3; 7 function book($var1,$var2) 8 { 9 $this->var1=$var1; 10 $this->var2=$var2; 11 } 12 function setVar3($var3) 13 { 14 $this->var3=$var3; 15 } 16 } 17 $book = new Book("图书","明日"); 18 print_r(get_object_vars($book)); //Array ( [var1] => 图书 [var2] => 明日 [var3] => ) 19 $book->setVar3("明日科技"); 20 print_r(get_object_vars($book)); //Array ( [var1] => 图书 [var2] => 明日 [var3] => 明日科技 ) 21 ?>
- get_parent_class 返回对象或类的父类名称
1 <?php 2 class MingRi 3 { 4 var $mr; 5 } 6 class Book extends MingRi 7 { 8 var $book; 9 } 10 class Soft extends MingRi 11 { 12 var $soft; 13 } 14 $book=new Book(); 15 $obj=get_parent_class($book); 16 $str=get_parent_class("soft"); 17 echo '$book 对象的父类是:'.$obj.'<br>'; //$book 对象的父类是:MingRi 18 echo "soft 类的父类是:$obj"; //soft 类的父类是:MingRi 19 ?>
- is_a 检查对象是否属于该类或该类是否是此对象的父类
1 <?php 2 class Book 3 { 4 var $var='php'; 5 } 6 $book=new Book(); 7 if(is_a($book,'book')){ 8 echo '$book 是 Book 的对象'; //$book 是 Book 的对象 9 } 10 ?>
- is_subclass_of 检查对象是否是该类的子类
1 <?php 2 class Book 3 { 4 var $var='php'; 5 } 6 class Soft extends Book 7 { 8 var $var=100; 9 } 10 $book=new Book(); 11 $soft=new Soft(); 12 if(is_subclass_of($book,'book')){ 13 echo '$book 是 Book 的子类的对象'; 14 }else{ 15 echo '$book 不是 Book 的子类的对象'; //$book 不是 Book 的子类的对象 16 } 17 18 if(is_subclass_of($soft,'book')){ 19 echo '$soft 是 Book 的子类的对象'; //$soft 是 Book 的子类的对象 20 }else{ 21 echo '$soft 不是 Book 的子类的对象'; 22 } 23 24 if(is_subclass_of('soft','book')){ 25 echo 'soft 是 Book 的子类的对象'; //soft 是 Book 的子类的对象 26 }else{ 27 echo 'soft 不是 Book 的子类的对象'; 28 } 29 ?>
- method_exists 检查类的方法是否在对象中存在
1 <?php 2 class Book 3 { 4 function php() 5 { 6 } 7 function asp() 8 { 9 } 10 function jsp() 11 { 12 } 13 } 14 $book=new Book(); 15 if(method_exists($book,'php')){ 16 echo 'PHP 方法存在于 $book 对象的类中'; //PHP 方法存在于 $book 对象的类中 17 }else{ 18 echo 'PHP 方法不存在于 $book 对象的类中'; 19 } 20 if(method_exists($book,'java')){ 21 echo 'Java 方法存在于 $book 对象的类中'; 22 }else{ 23 echo 'Java 方法不存在于 $book 对象的类中'; //Java 方法不存在于 $book 对象的类中 24 } 25 ?>
作者:skyXnet
邮箱:iwanc@qq.com
出处:http://www.iwanc.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。