手记

25、面向对象例子-Static延迟绑定

1、案例源码

<?php
/**
* Copyright(C) Iamasb
* @project : 3、workerman相关知识点
* @explain : static延迟绑定
* @filename : 5、static延迟绑定.php
* @author : Iamasb
* @date : 2019/4/27
*/
class T
{
/**
* 调用内部方法
*/
public function func1()
{
$this->func2();
$this->func3();
}

/**
* self代替当前运行上下文
*/
public function func2()
{
echo self::class,PHP_EOL;
}

/**
* 后期绑定
*/
public function func3()
{
echo static::class,PHP_EOL;
}
}

/**
* Class T1
*/
class T1 extends T
{
}

$t1 = new T1();
$t1->func1();

2、执行结果

3、总结

“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的


1人推荐
随时随地看视频
慕课网APP