get_called_class--后期静态绑定("Late Static Binding")类的名称
get_called_class--后期静态绑定("Late Static Binding")类的名称
string get_called_class ( void )
获取静态方法调用的类名。
返回类的名称,如果不是在类中调用则返回 FALSE。
<?php
class Person{
public $username;
public $age;
public $height;
public $weight;
static public $number = 0;
public function __construct($username,$age,$height,$weight){
$this->username = $username;
$this->age = $age;
$this->height = $height;
$this->weight = $weight;
self::$number++;
}
public function __set($name,$value){
$this->$name = $value;
}
public function __get($name){
return $this->$name;
}
/**
* 1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
* 2)static方法中不能用this(与实例相关)
* 3)非static方法中可以使用static成员
*/
static public function getUsernumber(){
var_dump(get_called_class());
return self::$number;
}
public function getUsername(){
var_dump(get_called_class());
return $this->username;
}
public function __toString(){
return '';
}
}
$p_person1 = new Person('zhaofei',23,185,62);
echo $p_person1->getUsername();
$p_person2 = new Person('zhaofei1',24,165,68);
$p_person3 = new Person('zhaofei2',23,180,82);
$p_person4 = new Person('zhaofei3',22,175,72);
echo Person::getUsernumber();
?>
get_called_class--后期静态绑定("Late Static Binding")类的名称的更多相关文章
- php中的后期静态绑定("Late Static Binding")
在我们以往中,在类中使用self关键字的时候都是指向了被调用方法定义时的类,而非原始的调用类. 例如: class Animal{ static $IQ_lv_avg = 1; public stat ...
- 139-PHP static后期静态绑定(二)
<?php class test{ //创建test类 public function __construct(){ static::getinfo(); //后期静态绑定 } public s ...
- 138-PHP static后期静态绑定(一)
<?php class test{ //创建test类 public function __construct(){ self::getinfo(); //后期静态绑定 } public sta ...
- static后期静态绑定
先说一下__CLASS__,get_class() , get_called_class() 区别: __CLASS__获取当前的类名, get_class()与上面一样,都是获取当前的类名, ge ...
- php Late Static Bindings延迟静态绑定
官网说道: As of PHP 5.3.0, PHP implements a feature called late static bindings which can be used to ref ...
- PHP之后期静态绑定
PHP后期静态绑定的(late static bindings) 理解PHP延迟静态绑定 static::中的static其实是运行时所在类的别名,并不是定义类时所在的那个类名.这个东西可以实现在父类 ...
- PHP的后期静态绑定
self 是个孝子 不管后来 谁是它的领导(调用它) 谁生了它 它就听谁的 子类调用父类的方法 self 的生存空间是父类 不管是不是子类调用 我生在哪 我就在哪个类里面找属性/方法 static ...
- php中的后期静态绑定
后期静态绑定PHP手册 使用的保留关键字: static 定义: static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的.也可以称之为"静态绑定",因为它可以用 ...
- php后期静态绑定
php后期静态绑定 自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类. 虽然也可以调用非静态方法,但是不会在运行时绑定. static 不再只是简 ...
随机推荐
- 支付宝热补丁技术— AndFix原理[阿里Hao]
本文由嵌入式企鹅圈原创团队成员.阿里资深project师Hao分享. 上次我们介绍了用dexposed方案实施热补丁的原理.它本质上就是hook要改动的函数.这样一来在正式版本号公布时就不能直接拿热补 ...
- VS2005 Manifest 配置问题总结
一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...
- JAVA的protected权限
1.派生类能够訪问父类的protected数据.这是毫无疑问的. 2.今天做Think in java的习题发现,同一个包内的一个类调用还有一个类的protected数据是能够的.代码例如以下: pa ...
- 41个Web开发者必须收藏的JavaScript实用技巧
1. 将彻底屏蔽鼠标右键 oncontextmenu=”window.event.returnValue=false” < table border oncontextmenu=return(f ...
- 如何通过PHP判断年份是否是闰年----两种方法
1.定义:闰年是对4取余为0,对100取余不等于0,对400取余等于0的年是闰年. 2.代码: 第一种方法:直接函数判断 $day = date('Y'); if ($day%4==0&&am ...
- diango-tinymce富文本编译器
应用到项目中 在settings.py中为INSTALLED_APPS添加编辑器应用 INSTALLED_APPS = ( ... 'tinymce', ) 在settings.py中添加编辑配置项 ...
- Wedding (poj 3648 2-SAT 输出随意一组解)
Language: Default Wedding Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9004 Accept ...
- 洛谷P1122 最大子树和
P1122 最大子树和 题目提供者该用户不存在 标签动态规划树形结构 难度普及/提高- 通过/提交54/100 提交该题 讨论 题解 记录 题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在 ...
- 【BZOJ2282】[Sdoi2011]消防 树形DP+双指针法+单调队列
[BZOJ2282][Sdoi2011]消防 Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这 ...
- Android输入法的显示与隐藏
显示输入法: public void ShowSoftInput(View v) { // v 接受输入的控件 mInputMethodManager = (InputMethodManager) ( ...