0
class Patient {

   protected static $table_name = "siteA";
   public $id;
   public $first_dx;
   public $confidence;
   public $second_dx;
   public $path_dx;

}

我在这里简单地展示了类属性。我在课堂上有 CRUD 方法,但我没有发布它们只是为了说明这一点。在这种情况下,$table_name上面是 siteA 但是我需要使这个动态。当用户登录到我的站点时,他们的站点将保存在会话中(站点A、站点B、站点C 等),我需要根据登录的人在此处切换表名。站点是$_SESSION['user_site'],我尝试在花括号,没有引号,引号等等等,没有运气。

显然,我缺乏知识(技能)。这可以做到吗?任何帮助表示赞赏。西蒙

4

1 回答 1

0
class Patient {

    protected static $table_name = "siteA";
    public $id;
    public $first_dx;
    public $confidence;
    public $second_dx;
    public $path_dx;

    public function __construct(){
        self::$table_name = $_SESSION['user_site'];
    }

}

基本上,构造函数是一种神奇的方法,在创建对象的新实例时首先要执行它,这是初始化值的完美候选者。

您不能$_SESSION['user_site']在属性声明中使用的原因是因为它们是在会话尚不存在的编译时创建的。

于 2013-12-28T12:24:36.737 回答