首页 php教程 PHP视频 摘自PHP手册[3] – Classes/Objects 类/对象函数

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

Dec 22, 2016 am 10:11 AM

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

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 — 返回由类的方法名组成的数组




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)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24