继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

Iamasb
关注TA
已关注
手记 25
粉丝 4
获赞 37

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、执行结果

https://img2.mukewang.com/5ce7b9a70001f3f416180120.jpg

3、总结

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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP