天天看点

php类方法储存在哪里,php判断一个类是否存在的方法

在php脚本中可以使用预设函数 class_exists() 来检测一个类是否被定义或引用,当然使用它时也要注意很多的地方,下面就来详细的说一下吧。

php class_exists() 函数

class_exists():检查指定的类是否已定义或引用,如已定义或被引用返回 true 否则返回 false.

语法:class_exists ( $class_name ,$autoload = true )

参数:

$class_name:要检查的类名,不区分大小写的。

$autoload:默认为 true,是否调用 是否默认调用 __autoload

php class_exists() 函数的用法

1、php检测一个类是否存或定义// 普通的写法

var_dump(class_exists('mochu'));

// 推荐的写法

var_dump(class_exists('mochu',false));

// 输出结果 bool(true)

var_dump(class_exists('feiniao'));

// 输出结果 bool(false)

注意:在使用 class_exists() 函数时,推荐设置它的第二个参数为 false.

2、php 检测引用的文件中是否存在某个类

(1)、先创建一个php文件“d.php”,代码如下<?php

class feiniao {

}

(2)、在另一个文件中检测类是否存在<?php

require 'd.php';

var_dump(class_exists('feiniao'));

// bool(true)

(3)、如果先执行php类的判断再引入文件,则判断会失效。<?php

var_dump(class_exists('feiniao'));

require 'd.php';

// bool(false)

3、php检测带有命名空间的类是否存在<?php

namespace mochu;

class add{

}

// 错误的写法

var_dump(class_exists('add',false));

// 输出结果 bool(false)

// 正确的写法

var_dump(class_exists('mochu\add',false));

// 输出结果 bool(true)

注意:使用 class_exits() 判断带有命名空间的类时,必须带上命名空间,也就是说 class_exists() 是和命名空间有着相关联系的。