我有一种感觉,我忽略了一些简单的东西,但我无法弄清楚如何从我班级中的构造函数调用的函数中获取值。下面是一个非常简单的例子,但实际上,我需要在我的index.php页面上使用userId值,该值由构造函数调用的函数getUser返回。
提前感谢您的帮助!
的index.php:
$test = new Test($username);
//Need to get value of userId here....
类/功能:
class Test
{
//CONSTRUCTOR
public function __construct($username)
{
$this->getUserId($username);
}
//GET USER ID
public function getUserId($username)
{
//DB query here to get id
return $userId;
}
}
我应该补充一点,我知道我可以初始化类然后从index.php调用函数并以这种方式获取值。这是一个非常简单的示例,但我正在调用6或7的一些脚本在构造函数中运行以执行各种任务。
答案 0 :(得分:0)
您忘记在构造函数中返回$this->getUserId($username);
的值,但这并不重要,因为PHP构造函数不返回值。在启动对象后,您必须再次调用以获取该值。
$test = new Test();
$userId = $test->getUserId($username);
class Test
{
// constructor no longer needed in this example
//GET USER ID
public function getUserId($username)
{
//DB query here to get id
return $userId;
}
}
或许更为明智:
$test = new Test($username);
$userId = $test->getUserId();
class Test
{
protected $username;
public function __construct($username)
{
$this->username = $username;
}
//GET USER ID
public function getUserId()
{
// username is now access via $this->username
//DB query here to get id
return $userId;
}
}