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服务器实现多session并发运行
Oct 09 PHP
使用网络地址转换实现多服务器负载均衡
Oct 09 PHP
FCKeditor的安装(PHP)
Jan 13 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
php中定时计划任务的实现原理
Jan 08 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
php7 安装yar 生成docker镜像
May 09 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
Laravel框架路由管理简单示例
May 07 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
PHP 多维数组排序实现代码
2009/08/05 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
checkbox使用示例
2013/08/23 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
js继承的这6种方式!(上)
2019/04/23 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
Python 面试中 8 个必考问题
2018/11/16 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Python 代码调试技巧示例代码
2020/08/11 Python
美国性感内衣店:Yandy
2018/06/12 全球购物
函授大专自我鉴定
2013/11/01 职场文书
六查六看剖析材料
2014/02/15 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
项目安全员岗位职责
2015/02/15 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
Redis如何实现分布式锁
2021/08/23 Redis
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle