【问题标题】:How to keep object object properties in PHP?如何在 PHP 中保留对象对象属性?
【发布时间】:2014-04-11 15:08:38
【问题描述】:

我最近遇到了一个问题:每次创建新对象时都会重新创建对象属性。流程:

  1. 在 index.php 下创建一个新的 Bootstrap 类实例
  2. 在 Bootstrap 下创建了 X 类的新实例

关键是要保留类 X 的所有属性,如果 X 已经创建过一次,则不要创建它的新实例。实现这一目标的最佳方法是什么?还是应该改变流程本身?

谢谢

【问题讨论】:

  • PHP 被设计为一种“运行和终止”语言。如果您正在寻找运行请求之间的持久性,那么您需要查看会话或缓存或数据库或 memcache 或 redis 或类似的以在请求之间存储数据....但您确实应该使用 如果您打算将 PHP 用作一种语言,请使用 PHP 的“运行和终止”范例,而不是试图强迫它像 java 或其他对象实例独立存在或运行请求的语言一样

标签: php oop properties


【解决方案1】:
$x = new Bootstrap();

在引导类中的某处:

private function instance_maker ()
{
   if($_SESSION['made_instance']=="")
   {
      //make instance
      $m = new Subclass();

      // set session to prevent further instanciation
      $_SESSION['made_instance'] = true;
   }
}

【讨论】:

  • 是的,我是用 $_SESSION 做的,正在考虑用其他方式做 :) thx
猜你喜欢
  • 2023-01-19
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2015-06-01
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
相关资源
最近更新 更多