【每日函数】每日函数(2021.08.20)

一梦千年系列

今日函数class_aliasclass_existsget_called_classget_class_methodsget_class_vars

class_alias1

为类创建一个别名

  1. 说明
class_alias(string $original, string $alias, bool $autoload = true) : bool
  1. 参数

original原来类的名称

alias类的别名

autoload是否自动加载

  1. 返回值

成功返回true,失败返回false

  1. 范例
class A {}

class_alias('A', 'B');

$obj1 = new A();
$obj2 = new B();

var_dump($obj1 instanceof $obj2);

以上范例会输出

bool(true)
  1. 特别注意

别名和原有的类完全相同

class_exists2

检查类是否定义

  1. 说明
class_exists(string $class, bool $autoload = true) : bool
  1. 参数

class需要检查的类名

autoload是否自动加载

  1. 返回值

类定义了返回true,否则返回false

  1. 范例
$res = class_exists('A');

var_dump($res);

以上范例输出

bool(false)

get_called_class3

获取后期静态绑定的类名,经过测试发现动态方法也可以使用

  1. 说明
get_called_class() : string
  1. 返回值

返回调用方法的类名,如果不是在类中调用的则返回false

  1. 范例
class A
{
    public static function test()
    {
        var_dump(get_called_class());
    }
}

class B extends A
{}

A::test();

B::test();

以上范例输出

string(1) "A"
string(1) "B"

get_class_methods4

返回由类中方法名组成的数组,必须是public的方法,不区分静态和动态

  1. 说明
get_class_methods(mixed $class) : array
  1. 参数

class类的名称或者对象

  1. 返回值

返回由方法组成的数组

  1. 范例
class A
{
    public function test()
    {}

    protected function demo()
    {}

    private function hello()
    {}
}

$res = get_class_methods('A');

print_r($res);

以上范例输出

Array
(
    [0] => test
    [1] => hello1
)
  1. 特别说明

必须是公共方法,不区分静态、动态

get_class_vars5

返回由类属性组成的数组,属性名是键名,属性值是键值,必须是公共属性,不区分静态和动态

  1. 说明
get_class_vars(mixed $class) : array
  1. 参数

class需要操作的类名或者对象

  1. 返回值

返回由属性名和属性值组成的数组

  1. 范例
class A
{
    public $name = 'swk';
    protected $age = 22;
    private $sex = 1;
}

$res = get_class_vars('A');

print_r($res);

以上范例输出

Array
(
    [name] => swk
)
  1. 特别说明

必须是公共属性,不区分静态和动态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值