Php 对于与类的属性匹配的每个列名,是否有任何短方法可以将数据加载到类的属性中?
我想使用对象的构造函数将数据加载到对象的实例中,然后编写Php 对于与类的属性匹配的每个列名,是否有任何短方法可以将数据加载到类的属性中?,php,oop,class,properties,iterator,Php,Oop,Class,Properties,Iterator,我想使用对象的构造函数将数据加载到对象的实例中,然后编写 $this->property=$row["colname"] 每次都是针对每一个属性 mysql_fetch_object函数将数据作为对象获取,但我不确定是否可以从内部将对象的实例分配给某个对象。否则我会用 __construct($object) { $this=$object; } //doesn't give any syntax error 也许我应该研究属性的迭代和使用 foreach($object as $k
$this->property=$row["colname"]
每次都是针对每一个属性
mysql_fetch_object函数将数据作为对象获取,但我不确定是否可以从内部将对象的实例分配给某个对象。否则我会用
__construct($object) { $this=$object; } //doesn't give any syntax error
也许我应该研究属性的迭代和使用
foreach($object as $key => $value) $value=$object[$key];
或者我可以像这样分配任务吗
$this=$object;
在构造函数中?您不能将任何内容分配给
$this
,否则会出现错误
我会这样做:
class SomeObject
{
function __construct($base = null)
{
if ($base != null)
{
$this->load($base);
}
// continue construction as you normally would
}
function load($object)
{
foreach ($object as $key => $value)
{
$this->$key = $value;
}
}
}
然后,您可以选择在构建时或在构建后通过load()
将数组加载到对象中
用法示例:
演示:您不能将任何内容分配给
$this
,否则会出现错误
我会这样做:
class SomeObject
{
function __construct($base = null)
{
if ($base != null)
{
$this->load($base);
}
// continue construction as you normally would
}
function load($object)
{
foreach ($object as $key => $value)
{
$this->$key = $value;
}
}
}
然后,您可以选择在构建时或在构建后通过load()
将数组加载到对象中
用法示例:
演示:因为如果我能将$this赋值给构造函数的参数,我会使用它。你能解释一下“$base=null”的作用吗?@UğurGümüşhan它只是
$base
的默认参数,所以如果你想创建不带基的对象,它可以这样做。是的,就像php文档所说的那样,这是可行的,我确信这一点。我想知道赋值构造($object){$this=$object;}正如我所说的,你不能把$this
赋值给任何东西,因为如果我能把$this赋值给构造函数的参数,我会用它。你能解释一下“$base=null”的作用吗?@UğurGümümühan这只是$base
的默认参数,所以,如果你想创建一个没有基的对象,它可以做到。是的,就像php文档所说的那样,这是可行的,我确信这一点。我想知道赋值uu构造($object){$this=$object;}正如我所说的,你不能给任何东西赋值$this