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 相关文章推荐
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
php单一接口的实现方法
Jun 20 PHP
详谈PHP编码转换问题
Jul 28 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
PHP实现批量删除(封装)
Apr 28 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 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程序员基本要求和必备技能
2014/05/09 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
QQ登录简单实现代码
2021/03/09 Javascript
Javascript 获取LI里的内容
2008/12/17 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
python实现解数独程序代码
2017/04/12 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
pandas计数 value_counts()的使用
2019/06/24 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
一套带答案的C++笔试题
2014/01/10 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
银行求职自荐书
2014/06/25 职场文书
统计学教授推荐信
2014/09/18 职场文书
办公室务虚会发言材料
2014/10/20 职场文书