PHP函数-类和对象函数

  1. class_exists   检查类是否已定义
    1 <?php
    
    2 class Book{}
    
    3 if(class_exists('Book')){
    
    4     $obj=new Book();
    
    5     echo 'Book 的类存在';    //Book 的类存在
    
    6 }
    
    7 ?>
  2. 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 ?>
  3. 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 ?>
  4. 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 ?>
  5. 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 ?>
  6. 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 ?>
  7. 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 ?>
  8. 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 ?>
  9. 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 ?>
  10. 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 ?>

你可能感兴趣的:(类和对象)