zoukankan      html  css  js  c++  java
  • 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 ?>
  • 相关阅读:
    30行代码让你理解angular依赖注入:angular 依赖注入原理
    图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
    HTML5 Application cache初探和企业应用启示
    使用idea的groovy脚本自动创建Jpa的实体
    使用idea的groovy脚本自动创建MybatisPlus的实体
    判断汉字和英文
    PostgreSQL 字符串分隔函数(regexp_split_to_table、regexp_split_to_array)
    golang实现文字云算法
    Java中的String真的无法修改吗
    使用asyncio实现redis客户端
  • 原文地址:https://www.cnblogs.com/iwanc/p/2603562.html
Copyright © 2011-2022 走看看