首页 > php教程 > PHP视频 > 正文

摘自PHP手册[3] – Classes/Objects 类/对象函数

黄舟
发布: 2016-12-22 10:11:00
原创
1756人浏览过

简介:本类函数允许获取类和对象实例的信息。可以取得对象所属的类的名字,以及它的成员属性和方法。通过使用这些函数,不仅可以弄清楚一个对象类的全体成员,而且可以知道它的起源(例如,该对象类是哪个类的扩展)。

class_exists — 检查类是否已定义




bool class_exists ( string $class_name [, bool $autoload ] )

如果由 class_name 所指的类已经定义,此函数返回 TRUE,否则返回 FALSE。
class_exists() 默认将会尝试调用 __autoload,如果不想让 class_exists() 调用 __autoload,可以将 autoload 参数设为 FALSE。

get_class_methods — 返回由类的方法名组成的数组

立即学习PHP免费学习笔记(深入)”;




array get_class_methods ( mixed $class_name )

从 PHP 4.0.6 开始,可以指定对象本身来代替 class_name,即:




$class_methods = get_class_methods('myclass');
// or
$class_methods = get_class_methods(new myclass());


自 PHP 5 起,本函数按照方法被定义的名字返回(区分大小写)。在 PHP 4 中总是返回小写的。

get_class_vars — 返回由类的默认属性组成的数组




array get_class_vars ( string $class_name )


返回由类的默认公有属性组成的关联数组,此数组的元素以 varname => value 的形式存在。

get_class — 返回对象的类名




string get_class ([ object $obj ] )


返回对象实例 obj 所属类的名字。如果 obj 不是一个对象则返回 FALSE。

get_declared_classes — 返回由已定义类的名字所组成的数组




array get_declared_classes ( void )


get_declared_interfaces — 返回一个数组包含所有已声明的接口




array get_declared_interfaces ( void )


get_object_vars — 返回由对象属性组成的关联数组




array get_object_vars ( object $obj )


get_parent_class — 返回对象或类的父类名




string get_parent_class ([ mixed $obj ] )


如果 obj 是对象,则返回对象实例 obj 所属类的父类名。
如果 obj 是字符串,则返回以此字符串为名的类的父类名。此功能是在 PHP 4.0.5 中增加的。
自 PHP 5 起,如果在对象的方法内调用,则 obj 为可选项。

interface_exists — 检查接口是否已被定义




bool interface_exists ( string $interface_name [, bool $autoload ] )


本函数在由 interface_name 给出的接口已定义时返回 TRUE,否则返回 FALSE。

is_a — 如果对象属于该类或该类是此对象的父类则返回 TRUE




bool is_a ( object $object , string $class_name )


【天涯注】PHP 5 中此函数已废弃,取而代之的是PHP中的唯一的 类型运算符 instanceof ,使用方法如下:




class A { }
class B { }
$thing = new A;
if ($thing instanceof A) {
echo 'A';
}
if ($thing instanceof B) {
echo 'B';
}
?>


is_subclass_of — 如果此对象是该类的子类,则返回 TRUE




bool is_subclass_of ( object $object , string $class_name )


method_exists — 检查类的方法是否存在




bool method_exists ( object $object , string $method_name )


property_exists — 检查对象或类是否具有该属性




bool property_exists ( mixed $class , string $property )


【天涯注】需要说明的是,如果在‘当前范围’内,属性访问不到的话,比如是private,则依然返回 FALSE ,例如:




class myClass {
public $mine;
private $xpto;
 
static function test() {
// true, it can be accessed from here
var_dump(property_exists('myClass', 'xpto'));
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //false, isn't public
myClass::test();
?>

以上就是摘自PHP手册[3] – Classes/Objects 类/对象函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号