dil*_*ini 0 php mysql oop session
我正在尝试将会话变量传递给下面的类.但是,它似乎没有工作,并抛出以下错误:
解析错误:语法错误,第6行的C:\ wamp\www\pard_config\configuration.php中的意外T_VARIABLE
我怎么解决这个问题?
我的代码:
<?php
session_start();
class pardEngine{
public $hostname = $_SESSION['HOSTNAME'];
public $database = $_SESSION['DATABASE'];
public $database_user = $_SESSION['USER'];
public $database_user_pass = $_SESSION['PASSWORD'];
}
?>
Run Code Online (Sandbox Code Playgroud)
从" 属性"手册页面:
类成员变量称为"属性".您也可以使用"属性"或"字段"等其他术语来查看它们,但出于本参考的目的,我们将使用"属性".它们通过使用public,protected或private之一,然后是普通变量声明来定义.此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估.
会话数据不适合编译时类别,因此您的属性只能通过常规代码设置,无论是在类外(因为它们是公共的)还是来自方法(可能是构造函数).
将这些值硬编码到类代码中通常是不切实际的,所以我会选择构造函数方法:
<?php
class pardEngine{
private $hostname;
private $database;
private $database_user;
private $database_user_pass;
public function __construct($hostname, $database, $database_user, $database_user_pass){
$this->hostname = $hostname;
$this->database = $database;
$this->database_user = $database_user;
$this->database_user_pass = $database_user_pass;
}
}
session_start();
$engine = new pardEngine($_SESSION['HOSTNAME'], $_SESSION['DATABASE'], $_SESSION['USER'], $_SESSION['PASSWORD']);
Run Code Online (Sandbox Code Playgroud)