php 静态变量的初始化


Posted in PHP onNovember 15, 2009

例如:
class A {
public $f1 = 'xxxx';
static public $f2 = 100;
}

如果要将变量赋值为对象,那么只能在构造器中进行初始化,例如:
class A {
private $child;
public function __construct() {
$this->child = new B();
}
}

但是php中并没有一个类似java中的静态构造器/静态块的东西,就没有合适的时机对其进行初始化了。

对于共有的成员还有办法解决,例如:
class A {
static public $child;
}
A::$child = new B();

对于私有的成员似乎就没有什么干净的方法了,只能这样做:
class A {
static private $child;
static public initialize() {
self::$child = new B();
}
}
A::initialize();

PHP 相关文章推荐
色色整理的PHP面试题集锦
Mar 08 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
Jul 29 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP 程序员的调试技术小结
Nov 15 #PHP
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 #PHP
php $_SERVER当前完整url的写法
Nov 12 #PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 #PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 #PHP
php 分库分表hash算法
Nov 12 #PHP
PHP 面向对象实现代码
Nov 11 #PHP
You might like
用PHP连接Oracle数据库
2006/10/09 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
python错误处理详解
2014/09/28 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
pycharm修改file type方式
2019/11/19 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
保险公司早会主持词
2014/03/22 职场文书
信访维稳承诺书
2015/05/04 职场文书
离婚被告答辩状
2015/05/22 职场文书
九年级化学教学反思
2016/02/22 职场文书
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js