码迷,mamicode.com
首页 > Web开发 > 详细

php -- instanceof、class_exists、insterface_exists、method_exists、get_class、get_parent_class

时间:2015-07-21 16:56:58      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

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

 

php -- instanceof、class_exists、insterface_exists、method_exists、get_class、get_parent_class

标签:

原文地址:http://www.cnblogs.com/hf8051/p/4664835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!