late-static-binding相关内容
我有以下父级和子级. class Parent_class { protected static function method_one() { echo "I am in Parent_class in method_one"; } protected function execute() { static::method_one
..
在这个StackOverflow问题中,我了解到self::不支持继承static::所在的位置(在PHP中).在类中定义一堆常量时,如果要覆盖子类中的这些常量以更改默认的“行为",则必须使用static::,以便父类上的方法可以引用该常量,以表扬“超越". 问了最初的问题以来的两年中,我开始广泛使用static::,以至于我很少使用self::,因为self::似乎会限制使用常量的类的可扩
..
我正在阅读有关LSB功能的php手册,我了解它在静态上下文中的工作方式,但是我在非静态上下文中不太了解它.手册中的示例是这样的: foo();
..
我正在尝试为php 5.3构建的脚本在php 5.2服务器上工作.该脚本使用了大量后期静态绑定,例如: return new static($options); php 5.2中的等效项是什么?会以某种方式成为新的自我吗?还是不可能达到同样的效果... 谢谢 编辑: 这是一个相关的问题新的自我与新的静态 Juts试图把我的头缠在这个后来的静态绑定东西上...
..
大多数PHP IDE都依赖phpdoc来获取有关表达式类型的提示.但是,我经常使用这种模式,但似乎没有涉及到它: class Control { private $label = ''; /** @return ??? */ public static function Make(){ return new static(); } /** @return
..
从5.3版开始,PHP支持后期绑定用于静态方法.虽然这无疑是有用的功能,但只有极少数情况下确实需要使用它(例如,Active Record模式). 考虑以下示例: 1.便捷构造函数(::create()) class SimpleObject { public function __construct() { /* ... */ } public static
..
PHP 7.1 我目前正在尝试制作一个抽象类,以提供和定义并部分实现其子类的功能. 在这里,我使用以下结构: abstract class Parent { public static function fromDB(string $name = '') { $instance = new static(); if (!empty($na
..
PHP中最新的静态绑定到底是什么? 解决方案 您肯定需要阅读基本上,可以归结为self关键字不遵循相同的继承规则的事实. self始终解析为使用它的类.这意味着,如果您在父类中创建一个方法并从子类中调用它,则self不会像您期望的那样引用该子代. 最新的静态绑定为static关键字引入了新用法,从而解决了这一特殊缺点.当您使用static时,它表示您首次使用它的类,即.它“绑定"到运
..
我正在转换一个PHP 5.3库以在PHP 5.2上工作.阻碍我前进的主要因素是使用后期静态绑定(如return new static($options);),如果将其转换为return new self($options),是否可以获得相同的结果? new self和new static有什么区别? 解决方案 我会得到相同的结果吗? 并非如此.不过,我不知道针对PHP 5.
..
我正在尝试在不需要子类上函数的情况下完成此任务……这可能吗?我感觉不是,但是我真的想确定...
..
为什么有些人创建一个返回新静态值的方法,而不是使所有方法都静态化?使用该方法返回新的静态变量的原因是什么? 我不是在问静态和自我之间有什么区别,或者什么是静态与静态?自卑.例如,这是一个简单的类:
..
如何从父静态函数调用子函数? 在php5.3中,有一个名为get_called_class()的内置方法可以从父类调用子方法.但是我的服务器运行的是 php 5.1 . 有什么办法可以做到这一点? 我想从静态函数调用它.这样我就不能使用"$ this" 所以我应该使用“自我"关键字. 在下面的示例中,我的父类是"Test123",它试图从父类静态函数"myfunc"调
..
看看这个例子,并注意指示的输出.
..
如果我按如下方式声明基类: abstract class Parent { protected static $ message =“UNTOUCHED”; public static function yeah(){ static :: $ message =“YEAH”; } public static function nope(){ static :: $
..
我遇到与这个人和我正在写的应用程序。问题是静态属性不是在子类中继承的,所以如果我在我的主类中使用static ::关键字,它也会在我的主类中设置变量。 如果我在子类中重新声明静态变量,它可以工作,但我希望有大量的静态属性和子类,并希望避免代码重复。我链接的页面上排名最高的响应有一些指向“解决方法”的链接,但似乎有404个。任何人都可以借给我一些帮助,或者可能指出我所说的解决方法吗? 解
..
我从一个网站获得了一个代码示例,但我很难理解输出。我分享代码: class A { public static function foo() { static :: who(); public static function who() { echo __CLASS __。“\\\ ”; class B extends A { public
..