php Static关键字实用方法


Posted in PHP onJune 04, 2010

为了兼容PHP4,如果没有指定“可见性”,属性和方法默认为public。
由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。
静态属性也可以由对象通过->操作符来访问。
用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。
就像其它所有的PHP静态变量一样,静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 所以你可以把静态属性初始化为整型或数组,但不能指向另一个变量或函数返回值,也不能指向一个对象。
PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。

<?php 
class Foo 
{ 
public static $my_static = 'foo'; 
public function staticValue() { 
return self::$my_static; 
} 
} 
class Bar extends Foo 
{ 
public function fooStatic() { 
return parent::$my_static; 
} 
} 
print Foo::$my_static . "\n"; 
$foo = new Foo(); 
print $foo->staticValue() . "\n"; 
print $foo->my_static . "\n"; // Undefined "Property" my_static 
print $foo::$my_static . "\n"; 
$classname = 'Foo'; 
print $classname::$my_static . "\n"; // PHP 5.3.0之后可以动态调用 
print Bar::$my_static . "\n"; 
$bar = new Bar(); 
print $bar->fooStatic() . "\n"; 
?>

PHP里边用Static关键字来定义静态属性和方法.

实例一:静态属性的引用方法

<?php 
/* 
*author:ajax123 
*qq:283400245 
*/ 
class person{ 
static$name="ajax123";//static声明静态属性 
static$age=25;//static声明静态属性 
static$address="北京";//static声明静态属性 
function song(){ 
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性 
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性 
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性 
} 
} 
echoperson::$name."<br>";//类外部:通过类名person访问静态属性 
echoperson::$age."<br>";//类外部:通过类名person访问静态属性 
echoperson::$address."<br>";//类外部:通过类名person访问静态属性 
?>

实例二:静态方法的引用方法

<?php 
/* 
*author:ajax123 
*qq:283400245 
*/ 
class person{ 
static$name="ajax123";//static声明静态属性 
static$age=25;//static声明静态属性 
static$address="北京";//static声明静态属性 
staticfunction song(){ //声明静态方法song 
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性 
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性 
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性 
} 
} 
person::song()."<br>";//类外部:通过类名person访问静态方法 
?>
PHP 相关文章推荐
一个自定义位数的php多用户计数器代码
Mar 11 PHP
五个PHP程序员工具
May 26 PHP
PHP学习笔记之一
Jan 17 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
PHP输出日历表代码实例
Mar 27 PHP
php 问卷调查结果统计
Oct 08 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
CodeIgniter配置之config.php用法实例分析
Jan 19 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 #PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 #PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
Jun 03 #PHP
php ftp文件上传函数(基础版)
Jun 03 #PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 #PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 #PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 #PHP
You might like
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
Python中用于返回绝对值的abs()方法
2015/05/14 Python
python友情链接检查方法
2015/07/08 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
python实现的config文件读写功能示例
2019/09/24 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
如何撰写一封出色的求职信
2014/04/27 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏