php学习笔记之static的问题
2016-07-22 00:00
519 查看
<?php
/**
* 静态调用非静态方法
*/
class Test{
public static function testStatic(){
echo "test";
}
public function testNotStatic(){
echo "test2"; //静态调用非静态方法,不推荐但是可以效率很慢
}
}
Test::testStatic();
echo "***";
$a = 'Test';
$a::testStatic(); //赋给变量也可以
echo "***";
Test::testNotStatic();//静态调用非静态方法,不应该但是可以效率很慢
/**
* 延迟加载,使用static关键字在父类中引用扩展类的最终状态
*/
class ParentClass{
static $property = 'Parent value';
public static function getProperty(){
return static::$property; //使用static,获得最终状态值
}
public static function getCallClass(){
return get_called_class(); //获得从那个派生类中调用
}
}
class ChildClass extends ParentClass{
static $property = 'Child value';
}
var_dump( ChildClass::getProperty() ); //获得扩展中最终值 Child value
var_dump( ChildClass::getCallClass() ); //获得扩展中从那个派生类调用 ChildClass
?>
/**
* 静态调用非静态方法
*/
class Test{
public static function testStatic(){
echo "test";
}
public function testNotStatic(){
echo "test2"; //静态调用非静态方法,不推荐但是可以效率很慢
}
}
Test::testStatic();
echo "***";
$a = 'Test';
$a::testStatic(); //赋给变量也可以
echo "***";
Test::testNotStatic();//静态调用非静态方法,不应该但是可以效率很慢
/**
* 延迟加载,使用static关键字在父类中引用扩展类的最终状态
*/
class ParentClass{
static $property = 'Parent value';
public static function getProperty(){
return static::$property; //使用static,获得最终状态值
}
public static function getCallClass(){
return get_called_class(); //获得从那个派生类中调用
}
}
class ChildClass extends ParentClass{
static $property = 'Child value';
}
var_dump( ChildClass::getProperty() ); //获得扩展中最终值 Child value
var_dump( ChildClass::getCallClass() ); //获得扩展中从那个派生类调用 ChildClass
?>
相关文章推荐
- php学习笔记之 array+array 和 array_merge
- php学习笔记之list()赋值问题及each()结合遍历
- PHP配置xdebug不成功的问题
- PHP实现文件下载断点续传
- 1.CGI 简介
- php-自动生成sql语句
- PHP-无限级分类(迭代法创建)
- PHP 一致性Hash
- 最简单的php文件上传
- 主题:vsftpd之虚拟用户
- 编译部署LAMP+xcache (php-fpm模式)
- PHP基础练习。。。
- CCNA系列八之STP协议
- [php学习九]html的表单练习
- LeetCode OJ 题解 2.1.2 Remove Duplicates from Sorted ArrayII
- 你必须了解的Session的本质
- PHP+MySql(第一节:实现简单的数据库连接+查询)
- YIi2 Pjax简单使用
- php联想搜索
- 关于Draw Call与SetPass Call的优化备忘录