• PHP对类和对象的逻辑判断和操作


    1.检测类是否存在

      函数:class_exist();    1.可以使用isset(),直接检测

    、 2.if(class_exist('MyClass')){

          $myclass = new MyClass();

    }

    2.获取脚本进程中定义的所有类的数组

      

    函数: get_declared_classes()

    它会列出用户自己定义的类以及PHP内置的类. 注意:它只返回在函数调用时已经声明的类.

    3:通过实例对象获取类名

    函数: get_class($classname)

    通过将对象的实例作为参数传递进去,返回对象的类名.

    4:检测对象是否属于某类

    关键字: instanceof

    (PHP4不支持instanceof关键字,而是提供了is_a()函数,但是这个函数在PHP5.0的时候就不使用了,从PHP5.3开始,又重新使用is_a())

    instanceof 有两个操作数,要检测的对象在关键字左边,类或者接口名在右边.如果左侧的对象属于右侧类型的实例,则返回true,反之返回false

    if(对象实例 instanceof 类或接口){

    }

    5:获取类中的所有方法

    函数: get_class_methods(‘Person’)

    参数为字符串的类名,需要注意的是,在获取类中方法的时候,只能获取类中公共方法,对private,protected类型的方法都无法获取的到.

    6:检测方法是否存在于类中

    函数: is_callable(),method_exists()

    is_callable():  接受字符串变量形式的方法名作为第一个参数,如果类方法存在且可以被调用,则返回true.如果要检测类中的方法能不能被调用,可以给这个函数传递一个数 组,而不是类方法名作为参数.数组必须包含对象或者类名,以将其作为第一个元素,要检测的方法名则作为第二个元素,如果该方法在类中存在,函数则会返回 true.

    method_exists(): 相比而言,这个函数就简单多了,这个方法需要传递两个参数,第一个参数对对象名,第二个参数为方法名,如果给定的方法在类中存在则返回true.

    7: 了解类中的属性.

    函数: get_class_vars(‘class’)

    就想查询类的方法一样,我们也可以查看类有哪些属性.(只能查看public的属性,如果属性为private或者protected将无法查看).该函数的参数为一个字符串的类名.

    8:通过子类名获取父类的名字

    函数:get_parent_class()

    这个函数需要一个对象或者类名作为参数,如果这个类或者对象存在父类的话,则把父类的名字返回.如果不存在则返回false

    9:检测一个类是否是另一个类的子类

    函数: is_subclass_of()

    这个函数需要接受两个参数,第一个参数为子类的对象,第二个参数为父类的名字.如果第二个参数是第一个参数的父类的话,则返回true.

  • 相关阅读:
    【Java多线程】Fork/Join 源码分析(三十一)
    【Java多线程】Fork/Join 框架(三十)
    【Java】 Iterator(迭代器)
    【Java多线程】ScheduledThreadPoolExecutor实现原理(二十九)
    【Java多线程】ScheduledThreadPoolExecutor详解(二十八)
    【Java多线程】Executor框架 (二十七)
    【Python基础编程252 ● 包 ● 使用import 包名 as 别名 语句导包】
    【Python基础编程251 ● 包 ● 使用from 包名 import * 语句导包】
    【Python基础编程250 ● 包 ● 导包的方式】
    【Python基础编程249 ● 包 ● 包的基本概念、作用和命名规则】
  • 原文地址:https://www.cnblogs.com/ylei11/p/6626677.html
Copyright © 2020-2023  润新知