作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我了解 OOP。到目前为止我所理解的是,不能使用 $this->blah 符号从类外部引用 private 和 protected 。如果这是正确的,以下代码如何工作?
<?php
class test {
protected $a = "b";
public static function oo(){
$instance = new static();
echo $instance->a;
}
}
test::oo();
最佳答案
在 PHP 5.3 中,添加了一个称为后期静态绑定(bind)的新功能——这可以帮助我们获得在这种情况下可能更可取的多态行为。简单来说,后期静态绑定(bind)意味着对继承的静态函数的调用将在运行时“绑定(bind)”到调用类。所以,如果我们使用后期静态绑定(bind),这意味着当我们调用“test::oo();”时,测试类中的oo()函数将被调用。然后你返回$instance->一种; static 关键字允许函数在运行时绑定(bind)到调用类。所以如果你使用 static 那么你使用的任何访问修饰符(private、public、protected)只是意味着更少......
请阅读此 link , another
关于php - 如何从 PHP 中的静态方法中看到类的 protected 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139019/
我是一名优秀的程序员,十分优秀!