zoukankan      html  css  js  c++  java
  • php -- instanceof、class_exists、insterface_exists、method_exists、get_class、get_parent_class

    class_exists:类是否存在

    在创建对象之前判断类是否存在,如果不存在就应该先加载类,再创建对象,容错。

    interface_exists:接口是否存在

    method_exists:方法是否存在

    get_class:得到对象类名

    get_parent_class:得到父类的类名(不管父类是否继承自其他类)

    <?php
    
        //对象相关函数
        class S{
            
        }
    
        class A extends S{
            private function test(){
    
            }
        }
    
        class B extends A{
    
        }
        echo '<pre>';
        //子类对象是否属于父类
        $b = new B;
        var_dump($b instanceof A);                    //true
        var_dump($b instanceof B);                    //true
    
        //判断类是否存在
        var_dump(class_exists('A'));                //true
    
        //判断接口是否存在
        var_dump(interface_exists('A'));            //false
    
        //判断方法是否存在,只是判断类中是否有该方法,而不是去访问
        //不管方法是用什么访问修饰限定符
        var_dump(method_exists(new A,'test'));        //true        
        var_dump(method_exists('A','test'));        //true        
        var_dump(method_exists('B','test'));        //true    
        //一旦类与类之间进行继承,只会判断继承链上是否存在该方法,判断不出来方法是否被继承
    
        //得到对象的类名
        var_dump(get_class($b));                    //B
        var_dump(get_parent_class($b));                //A
  • 相关阅读:
    测试VPS
    [转] 如何在vps上安装和登录Xwindows
    [转]设置修改CentOS系统时区
    顺序队列
    求二叉树的高度
    VMware Workstation cannot connect to the virtual machine
    如何查看hadoop是32位还是64位
    64位CentOS上编译 Hadoop 2.2.0
    hadoop 2.X下eclipse配置
    删除文件及文件夹
  • 原文地址:https://www.cnblogs.com/hf8051/p/4664835.html
Copyright © 2011-2022 走看看