找回密码
 立即注册
搜索
查看: 1792|回复: 0

[面向对象] 【OOP代码示例】常用函数

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2016-1-27 18:21:48 | 显示全部楼层 |阅读模式
class_exists 与 get_class_methods 函数
  1. <?php
  2. class person{
  3.    
  4.     public function say(){
  5.    
  6.     }

  7.     protected function run(){
  8.    
  9.     }

  10.     private function eat(){
  11.    
  12.     }
  13. }

  14. $p = new person();
  15. //get_class_methods() 得到类或对象中的成员方法组成的数组
  16. //如果是私有的或受保护的成员方法就不会被得到
  17. //参数可以传类名也可以传对象
  18. var_dump(get_class_methods($p));
复制代码
  1. <?php
  2. class person{

  3. }

  4. function __autoload($className){
  5.     $fileName = "./class/{$className}.class.php";
  6.     if(file_exists($fileName)){
  7.         include($fileName);
  8.     }else{
  9.         die("你使用的类{$className}.class.php不存在");
  10.     }
  11. }
  12. //class_exists()函数 判断类是否存在
  13. //第一个参数:要判断类的名
  14. //第二个参数:(可选)如果设置为true则会自动去调用__autoload()方法进行类的自动加载
  15. var_dump(class_exists("student",false));
复制代码
  1. <?php
  2. class student{

  3. }
复制代码

get_class 与 get_object_vars 函数
  1. <?php
  2. class demo{

  3.     public $a = "aa";
  4.     private $b = "bb";
  5.     protected $c = "cc";
  6. }

  7. $demo = new demo();
  8. //get_object_vars()
  9. //返回一个由成员属性组成的关联数组 数组的下标为成员属性名数组的值为成员属性值
  10. //参数:对象
  11. //注意:只能得到公有的成员属性,私有的和受保护的成员属性不能得到
  12. var_Dump(get_object_vars($demo));
复制代码
  1. <?php
  2. class demo{

  3. }

  4. $demo = new demo();
  5. //get_class()
  6. //返回:类名
  7. //参数:对象
  8. var_dump(get_class($demo));
复制代码
get_parent_class 与 is_a 函数
  1. <?php
  2. class parentClass{

  3. }

  4. class demo extends parentClass{

  5. }

  6. //get_parent_class() 得到类或对象的父类名
  7. //参数:可以是类名与可以是对象
  8. //var_dump(get_parent_class("demo"));
  9. $demo = new demo();
  10. var_dump(get_parent_class($demo));
复制代码
  1. <?php
  2. class person{

  3. }

  4. class student extends person{

  5. }

  6. $person = new person();
  7. $student = new student();
  8. //is_a() 判断对象是否由一个类或这个类的子类实例化来的
  9. //第一个参数:要判断的对象
  10. //第二个参数:要判断的类名
  11. //返回值: boolean
  12. var_dump(is_a($person, "person"));
  13. var_dump(is_a($student, "person"));
  14. var_dump(is_a($person, "student"));
  15. var_dump(is_a($student,"student"));
复制代码
method_exists 与 property_exists 函数
  1. <?php
  2. class demo{

  3.     public function d(){
  4.    
  5.     }
  6. }

  7. $demo = new demo();
  8. //method_exists() 用于判断一个成员方法是否是在一个对象或类中
  9. //第一个参数:类名或对象
  10. //第二个参数:成员方法名
  11. //返回值:true 或 false
  12. var_dump(method_exists($demo,"c"));
复制代码
  1. <?php

  2. class person{
  3.     public $name;
  4.     private $age;
  5.     protected $sex;
  6. }

  7. $person = new person();
  8. //property_exists() 用于判断成员属性是否在一个类或对象中
  9. //第一个参数:类名或对象
  10. //第二个参数:要判断的成员属性名
  11. //返回值:true 或 fasle
  12. var_dump(property_exists($person,"aaa"));
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 18:37 , Processed in 0.079784 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表