<?php
class User {
private $id;
private $username;
public function __construct($id = null) {
$this->id = $id;
if (!is_null($this->id)) {
$this->load();
}
}
public function load() {
}
}
?>
在'load'方法中,我将加载当前用户的所有信息(id)但是我想知道如何加载所有信息的最佳方法。我可以获取所有数据,然后只分配所有私有变量,但我认为必须有另一种“更便宜”的方式来获取所有数据,所以我可以这样使用
$这 - &GT;变量;
并且不必为每个数据行分配,我在load方法中选择。怎么样?
答案 0 :(得分:1)
我假设以下内容:
您可以在关联数组中检索用户的信息:
$user = array('name' => 'John', 'age' => 20);
然后使用变量变量可能是load()
方法中可行的解决方案:
foreach($user as $key => $userData){
$this->$$key = $userData; //Note the use of variables variable
}
答案 1 :(得分:0)
您可以在php中分配多个这样的变量:
private function getUserData() {
return array("42", "JohnDoe");
}
public function load() {
list($this->id, $this->username) = getUserData();
}