php强大,PHP中非常强大的对象工具

自动加载类

__autoload是一个强大的工具,但是也存在一些局限性。尤其是,在一个进程中你只能定义它一次。当php引擎遇到试图实例化未知类的操作时会调用此方法。

function __autoload( $classname ) {

include_once("$classname.php");

}

$product = new ShopProduct( 'The Darkening', 'Harry', 'Hunter', 12.99 );

查找类

• class_exista()接收表示类的字符串返回布尔值

• get_declared_classes()获取当前脚本进程中定义的所有类,以数组方式返回

• get_class()检测对象的类,以字符串的形式返回对象的类名。

• instanceof检测对象是不是给定类型的实例

• get_class_methods()得到类中的所有方法,返回数组格式。

• is_callable()检测类中的方法是否可以被调用,返回布尔值。

了解类属性

• get_class_vars()接收类名返回属性的键值对数组

了解继承

• get_parent_class()查找类的父类

• Is_subclass_of()检测类是否是另一个类的派生类,不会告诉你类实现的接口。

• Class_implements()接收一个类名或对象返回他实现的接口。

方法的调用与重载

普通的方法调用

$product = getProduct();//获取对象

$method = "getTitle"; //定义方法名

print $product->method;

call_user_func(array(对象,方法名),可选参数)方式的调用 。为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。

class Ass{

function __call($function_name, $args){

echo "你所调用的函数:$function_name(参数:
";

var_dump($args);

echo ")不存在!";

}

}

$ass=new Ass();

$ass->a();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值