我搜索了这个网站和谷歌,最终创建了这个帐户…
我需要一些关于php、traits和类的帮助。我有两个不同的特点,有一些同名的方法。
问题在于我需要他们两个!我不能用insteadof...
下面是一个示例代码:http://sandbox.onlinephpfunctions.com/code/b69f8e73cccd2dfd16f9d24c5d8502b21083c1a3
trait traitA {
protected $myvar;
public function myfunc($a) { $this->myvar = $a; }
}
trait traitB
{
public function myfunc($a) { $this->myvar = $a * $a; }
}
class myclass
{
protected $othervar;
use traitA, traitB {
traitA::myfunc as protected t1_myfunc;
traitB::myfunc as protected t2_myfunc;
}
public function func($a) {
$this->myvar = $a * 10;
$this->othervar = t2_myfunc($a);
}
public function get() {
echo "myvar: " . $this->myvar . " - othervar: " . $this->othervar;
}
}
$o = new myclass;
$o->func(2);
$o->get();
所以,这个例子以一个明显的
致命错误:尚未应用特征方法 myfunc,因为与 myclass 上的其他特征方法发生冲突
如何在不更改方法名称的情况下解决此问题?有可能吗?
顺便说一句,这是我一生中见过的最糟糕的编辑!
您仍然需要解决冲突以支持一个特征。在这里,您只使用了别名。这不是重命名,而是别名。
添加到使用
块:
traitA::myfunc insteadof traitB;
(或者< code>traitB::myfunc代替traitA)
它应该有效。
您现在有两个所需的别名,冲突也已解决。
问题内容: 我说错了 不推荐使用的:与类相同名称的方法在将来的PHP版本中将不再是构造函数;TSStatus在第10行的C:\ Program Files(x86)\ Zend \ Apache24 \ htdocs \ viewer \ modules \ tsstatus \ tsstatus.php中已弃用构造函数 TSStatus类是第10行,并在底部的TSStatus显示 问题答案: 如
本文向大家介绍PHP函数超时处理方法,包括了PHP函数超时处理方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP函数超时处理方法。分享给大家供大家参考,具体如下: register_shutdown_function Registers the function named by function to be executed when script processing is c
本文向大家介绍PHP pthreads v3下同步处理synchronized用法示例,包括了PHP pthreads v3下同步处理synchronized用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP pthreads v3下同步处理synchronized用法。分享给大家供大家参考,具体如下: 之所以会用到同步,是因为如果多个线程中对同一个资源进行操作时,会发生混乱。
本文向大家介绍PHP date函数常用时间处理方法,包括了PHP date函数常用时间处理方法的使用技巧和注意事项,需要的朋友参考一下 PHP星期几获取代码: 获取中文星期可以这样 获取指定日期是: [code] $weekarray=array("日","一","二","三","四","五","六"); echo "星期".$weekarray[date("w","2011-11-11")];
本文向大家介绍pandas 使用apply同时处理两列数据的方法,包括了pandas 使用apply同时处理两列数据的方法的使用技巧和注意事项,需要的朋友参考一下 多的不说,看了代码就懂了! 以上这篇pandas 使用apply同时处理两列数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
说完Invoker接口,我们继续看Reflector对象依赖的PropertyNamer对象。 PropertyNamer对象是mybatis中提供的一个处理属性的工具类,它主要用于获取getter/setter方法对应的属性名称,校验方法名称是否是getter/setter方法,以及判断方法可以获取属性名称。 PropertyNamer提供了四个静态方法完成了上述的功能: 其中methodToP