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 03 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
比较详细PHP生成静态页面教程
Jan 10 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
php实现数组重复数字统计实例
Sep 30 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
基于PHP的微信公众号的开发流程详解
Aug 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
ext 代码生成器
2009/08/07 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
AngularJS快速入门
2015/04/02 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Python中使用HTMLParser解析html实例
2015/02/08 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
使用Python处理BAM的方法
2018/09/28 Python
pyshp创建shp点文件的方法
2018/12/31 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python跳出双层for循环的解决方法
2019/06/24 Python
python求绝对值的三种方法小结
2019/12/04 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
工会换届选举方案
2014/05/21 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
财务管理专业求职信
2014/06/11 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
初任公务员培训心得体会
2016/01/08 职场文书