PHP class_exists 检查类是否已定义

PHP class_exists 检查类是否已定义

class_exists

(PHP 4, PHP 5)

class_exists — 检查类是否已定义

说明

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

如果由 class_name 所指的类已经定义,此函数返回 TRUE,否则返回 FALSE

Example #1 class_exists() 例子

<?php
// Check the class exists before trying to use it
if (class_exists(‘MyClass‘)) {
    $myclass = new MyClass();
}

?>

class_exists() 默认将会尝试调用 __autoload,如果不想让
class_exists() 调用
__autoload,可以将 autoload 参数设为 FALSE

Example #2 autoload 参数例子


<?php
function __autoload($class)
{
    include($class . ‘.php‘);

// Check to see if the include declared the class
    if (!class_exists($class, false)) {
        trigger_error("Unable to load class: $class", E_USER_WARNING);
    }
}

if (class_exists(‘MyClass‘)) {
    $myclass = new MyClass();
}

?>

Note:

autoload 参数是 PHP 5 添加的。

参见 interface_exists()get_declared_classes()

时间: 2024-08-28 10:47:09

PHP class_exists 检查类是否已定义的相关文章

class_exists&#160;—&#160;检查类是否已定义

class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload = true ] ) 检查指定的类是否已定义. <?php class Person{    public $username;    public $age;    public $height;    public $weight;        public function __construct($username,$age,

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

array get_declared_classes ( void ) 返回由当前脚本中已定义类的名字组成的数组. 需要注意的是额外类的出现依赖于你已编译到 PHP 中的库.这意味着你不能使用这些类名定义自己的类. <?phpheader("Content-type:text/html;charset=utf-8");class A{    public function __construct(){        echo '这是类A的构造函数<br>';    }

chapter 13_2 关系类、库定义的元方法

元表还可以指定关系操作符的含义,元方法为__eq ,__lt(小于) ,__le(小于等于). 而其它3个关系操作符则没有单独的元方法,Lua会 把a ~= b 转化为not(a == b) 将a>b   转化为 b < a ; 将a>=b 转化为 b <= a ; 因此需要分别为__le和__lt提供实现: mt.__le = function(a,b) --set containment for k in pairs(a) do if not b[k] then return

vector类的ADT定义

vector类的ADT定义 /****************************************************************************************** * Data Structures in C++ * Junjie Mao [email protected] * Computer Science & Technology, Tsinghua University * Copyright (c) 2018. All rights re

第1章 类和对象——定义类和创建对象

1.1     定义类.创建对象 在编程时,要定义类,然后在创建这个类的对象(实例). 1.1.1 定义类 定义类的语法个式如下: 访问修饰符 Class 类名 {     类的成员1:     ................     类的成员n:       } 各项的含义如下. 1)  “访问修饰符”用来限制类的作用范围或访问级别,类的修饰符只有public和internal两种(嵌套类除外).其中,声明为public的类可以被任何其他类访问:声明为internal的类智只能从同一个程序集

javascript类的简单定义

在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法. Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类". 一.构造函数法 这是经典方法,也是教科书必教的方法.它用构造函数模拟"类",在其内部用this关键字指代实例对象. function Cat() { this.name = "大毛"; } 生成实例的时候,使用ne

使用new分配内存的类需要自己定义拷贝构造函数

13.22 假定我们希望HasPtr的行为像一个值.即,对于对象所指向的string成员,每个对象都有一份自己的拷贝. #include<iostream> #include<string> #include<new> using namespace std; class HasPtr { public: HasPtr(const string &s=string()):ps(new string(s)),i(0){cout<<"const

php批量检查域名是否已注册并获取注册域名的注册公司

一个小任务,给了一个包含了几千条域名的Excel,检测是否已经注册,注册的话获取注册公司,并获取对应网站是否能正常打开,最终以Excel文件呈现. 1.起初,想到的就是读取域名,通过http调用 xinnet或者是万网的 whois查询接口查询,而后将页面结果正则匹配Registrant:,registrant organization:,registrant name:字段,获取该行:后边的内容.这样的结果就是很乱,很多注册公司不用这三个字段,没有一个统一的标准来判定是否注册及注册公司. 2.

类继承,定义了一个点类point,然后线条类line继承了point类,正方形类square继承line类

类继承,定义了一个点类point,然后线条类line继承了point类,正方形类Suare继承line类 正方形四个角坐标关系如图 1 /** 2 * 3 java继承实例. 4 5 6 定义了一个点类point,然后线条类line继承了point类,正方形类square继承line类. 7 8 */ 9 10 //点类 11 class PointDemo 12 { 13 private int x; 14 private int y; 15 private static int pCount