首页 > 后端开发 > php教程 > 如何在 PHP 中正确初始化静态变量?

如何在 PHP 中正确初始化静态变量?

Patricia Arquette
发布: 2024-11-29 03:32:09
原创
467 人浏览过

How Can I Properly Initialize Static Variables in PHP?

在 PHP 中初始化静态变量

初始化静态变量时,您可能会遇到类似于给定代码片段中示例的语法错误。这是因为 PHP 无法解析变量初始值设定项中的复杂表达式。

替代初始化方法

要解决此问题,请考虑使用以下替代方法:

  • 单独初始化:照常定义静态变量,然后使用单独的初始化它类定义之外的语句。
class Registration {
  static $dates;
}
Registration::$dates = array(
  'start' => mktime(0, 0, 0, 7, 30, 2009),
  'end' => mktime(0, 0, 0, 8, 2, 2009),
  'close' => mktime(23, 59, 59, 7, 20, 2009),
  'early' => mktime(0, 0, 0, 3, 19, 2009),
);
登录后复制
  • 初始化函数:在类中创建一个静态函数来处理初始化。
class Registration {
  private static $dates;

  static function init() {
    self::$dates = array(
      'start' => mktime(0, 0, 0, 7, 30, 2009),
      'end' => mktime(0, 0, 0, 8, 2, 2009),
      'close' => mktime(23, 59, 59, 7, 20, 2009),
      'early' => mktime(0, 0, 0, 3, 19, 2009),
    );
  }

  // Call the init function to initialize the variable
  public function __construct() {
    static::init();
  }
}
登录后复制

PHP 5.6支持

PHP 5.6 引入了对静态变量初始值设定项中的非平凡表达式的有限支持。不过,为了清晰起见以及与早期版本的 PHP 兼容,建议使用上述方法。

以上是如何在 PHP 中正确初始化静态变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板