[英]declare $var_1 = $var_2 inside a class
有没有办法声明类似$session_username = $_SESSION['simple_auth']['username'];
在php类中,因此我可以在此类内的每个方法中使用$ session_username?
这是我不必在每个方法中都再次声明我的变量名称。
手册告诉我,如果此变量是“简单的”(例如字符串或数字),则只能声明一个变量,否则会出现解析错误。 我也尝试将其声明为常量或公共变量,但据我所知,它不是那样工作的。
正确的方法是什么?
编辑:谢谢您的解释。 这是我现在最终得到的一个例子(还有一些事情需要理解)
new session_auth();
class session_auth{
public $sessionID; // php session variable for id
public $sessionUSERNAME; // php session variable for username
public function VarSession() {
$this->sessionID = $_SESSION['simple_auth']['id']; // php session variable for id
$this->sessionUSERNAME = $_SESSION['simple_auth']['username']; // php session variable for username
}
function is_user_logged_in() {
if (!empty($this->sessionUSERNAME) && $this->sessionUSERNAME != 'guest') {
return true;
}
}
}
所以我在php类中声明了我的变量。 然后在函数VarSession()
定义变量。 但是由于我无法使用它们,函数is_user_logged_in()
是否正确?
将变量设置为类的属性,如下所示:
class Helloworld
{
// Create your class property
public $sessionUsername;
public function helloWorld()
{
// Set your class property
$this->sessionUsername = $_SESSION['simple_auth']['username'];
}
}
然后,您可以通过以下操作在整个课程中访问它:
$this->sessionUsername
您可以创建对象/类的名为username
的属性
private $username = null;
并使用类构造函数__constructor
初始化用户名,以便每次调用该类时,用户名也会被初始化。
例如
class ClassName extends AnotherClass {
private $username = null;
public function __construct() {
$this->username = $_SESSION['simple_auth']['username'];
}
public function get () {
return $this->username;
}
}
并创建一个作为类的getter的函数get
,以正确获取名为username
的类的实例的值。
class abc{
private $variable = "test"
public function function1(){
echo $this->variable;
}
}
希望这会有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.