php 静态变量的初始化

yipeiwu_com5年前PHP代码库
例如:
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实现删除字符串中任何字符的函数。分享给大家供大家参考。具体如下: function delStr($start, $end, $orgenStr) { /...

PHP 获取远程文件内容的函数代码

如下函数: 复制代码 代码如下: <? /** 获取远程文件内容 @param $url 文件http地址 */ function fopen_url($url) { if (fu...

php中spl_autoload详解

SPL有两个不同的函数 spl_autoload, spl_autoload_call,通过将autoload_func指向这两个不同的函数地址来实现不同的自动加载机制。 spl_aut...

php+ajax无刷新上传图片的实现方法

php+ajax无刷新上传图片的实现方法

本文实例讲述了php+ajax无刷新上传图片的实现方法。分享给大家供大家参考,具体如下: 1.引入文件 <!--图片上传begin--> <script type=...

比较详细PHP生成静态页面教程

一,PHP脚本与动态页面。   PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原...