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中的加密功能
Oct 09 PHP
PHP cron中的批处理
Sep 16 PHP
php calender(日历)二个版本代码示例(解决2038问题)
Dec 24 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 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
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
js分页代码分享
2014/04/28 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
python获取指定时间差的时间实例详解
2017/04/11 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
python实现手势识别的示例(入门)
2020/04/15 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
高职教师岗位职责
2013/12/24 职场文书
办公室人员先进事迹
2014/01/27 职场文书
初一学生期末评语
2014/04/24 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
装配出错检讨书
2014/09/23 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
工作表现证明
2015/06/15 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书