<?php
trait Counter {
static $a = 5;
public function inc() {
static $c = 0;
$c += 1;
echo "$c<br />";
}
}
class C1 {
use Counter;
}
class C2 {
use Counter;
}
$o = new C1();
$o->inc();
echo Counter::$a;
echo '<br />';
$p = new C2();
$p->inc();
?>
手册上讲“静态变量可以被 trait 的方法引用,但不能被 trait 定义。但是 traits 能够为使用的类定义静态方法”,但为什么我这个例子中的static $a = 5;又可以成功定义并最后成功输出?classfunctionphp
解决方案 »
- 求助ZendStudio的重装问题
- 根据域名判断跳转后如何隐藏路径?
- PHP调用c程序的问题
- 正则式取得的数组与数组如何替换
- 动态生成GIF动画,麻烦高手给个思路
- PHP初学者关于字符集的疑问
- 一个值班的程序,大家帮忙看下,多谢
- 求PHP版的ewebeditor,谢谢
- 请问:哪里有很全的php文件上传函数!小弟搜了一上午,也没有搜到那!谁有啊!!!谢谢了~
- 困惑,用temp表还是不用好...
- php的post传值出现问题,新安装的wamp
- 用phpmailer写邮件发送功能,在本地中可以成功发送,可是放到网上就出现Mailer Error: SMTP Error: Could not authen
你的手册是最新的吗?
echo Counter::$a; //5echo C1::$a; 试试?