我不确定我是否理解
I'm not sure if I understand
我不确定我是否理解 properties() 方法
它从 $db_table_fields 中提取值并将它们作为数组 $properties 中的键,并将它们分配为同一数组的值...?
不想只是 copy/paste 试图理解它的代码..
class User{
protected static $db_table = "users";
protected static $db_table_fields = array('username','password','first_name','last_name');
public $id;
public $username;
public $password;
public $first_name;
public $last_name;
protected function properties(){
$properties = array();
foreach(self::$db_table_fields as $db_field ){
if(property_exists($this,$db_field)){
$properties[$db_field] = $this->$db_field;
}
}
return $properties;
}
}
它正在创建所谓的 'associative array'。这意味着数组是使用字符串键而不是数字索引来索引的。
有关详细信息,请查看数组的文档:
Arrays in PHP
它正在创建一个关联数组,其元素对应于对象的选定属性。数组 $db_table_fields
列出了这些属性。然后循环遍历该数组并检查 $this
是否包含每个名称的 属性。如果 属性 存在,它会向 $properties
数组添加一个条目,其键为 属性 名称,其值为 属性 值。这是临界线:
$properties[$db_field] = $this->$db_field;
$properties[$db_field] =
表示创建$properties
数组的一个元素,其键为$db_field
(循环的当前元素)。并且 $this->$db_field
使用 $db_field
作为 属性 名称在当前对象中访问。
我不确定我是否理解 properties() 方法 它从 $db_table_fields 中提取值并将它们作为数组 $properties 中的键,并将它们分配为同一数组的值...?
不想只是 copy/paste 试图理解它的代码..
class User{
protected static $db_table = "users";
protected static $db_table_fields = array('username','password','first_name','last_name');
public $id;
public $username;
public $password;
public $first_name;
public $last_name;
protected function properties(){
$properties = array();
foreach(self::$db_table_fields as $db_field ){
if(property_exists($this,$db_field)){
$properties[$db_field] = $this->$db_field;
}
}
return $properties;
}
}
它正在创建所谓的 'associative array'。这意味着数组是使用字符串键而不是数字索引来索引的。
有关详细信息,请查看数组的文档: Arrays in PHP
它正在创建一个关联数组,其元素对应于对象的选定属性。数组 $db_table_fields
列出了这些属性。然后循环遍历该数组并检查 $this
是否包含每个名称的 属性。如果 属性 存在,它会向 $properties
数组添加一个条目,其键为 属性 名称,其值为 属性 值。这是临界线:
$properties[$db_field] = $this->$db_field;
$properties[$db_field] =
表示创建$properties
数组的一个元素,其键为$db_field
(循环的当前元素)。并且 $this->$db_field
使用 $db_field
作为 属性 名称在当前对象中访问。