说我有一个代表一个人的类,该类中的变量将是$ name。面向对象的PHP最佳实践
以前,在我的剧本我会创建对象的实例,然后设置只要使用的名称:
$object->name = "x";
然而,有人告诉我,这是不是最好的做法?我应该有一个函数set_name()或类似这样的:
function set_name($name)
{
$this->name=$name;
}
这是正确的吗?
如果在这个例子中我想插入一个新的“人”记录到数据库中,我如何将有关该人的所有信息(例如$ name,$ age,$ address,$ phone等)传递给该类插入它,我应该这样做:
function set($data)
{
$this->name= $data['name'];
$this->age = $data['age'];
etc
etc
}
然后发送一个数组?这是最佳做法吗?或者有人可以推荐最佳做法?
使用getters/setters的另一个重要的事情是避免将所有方法都设置为'public',以防止开发人员无法控制地更改/访问它们。 – Strae 2010-03-09 12:01:56