Zend框架和学说(getter和setter)
-
20-09-2019 - |
题
是否可以使用现有的实体模型学说,如:
class user{
protected $_id;
protected $_name;
public function set_id($_id){}
public function get_id(){}
public function set_name($_name){}
public function get_name(){}
}
或产生或使用模型通过硬编码getter和setter。
我不想使用
$user->name
$user['name']
$user->get('name')
可以这样与教义做什么?
感谢名单
解决方案
有关所有版本高达学说1.2: 你的实体模型类需要扩展Doctrine_Record类。
在模型字段的定义需要做的“主义之路”了。 请参阅: http://www.doctrine-project.org/文档/手动/ 1_2 / EN /限定的模型
示例:
公共函数setTableDefinition() {
$this->hasColumn('username', 'string', 255); $this->hasColumn('password', 'string', 255);
}
如果你想使用自己的自定义硬编码的制定者/吸气可以覆盖魔法getter / setter方法。 请参阅: HTTP://www.doctrine-project。组织/文档/手动/ 1_2 / EN /引入到模型 例如:
类User延伸BaseUser {
public function setPassword($password) { return $this->_set('password', md5($password)); }
}
最后一个备注/问题:使用魔法的setter / getter方法是很好的做法。你应该只使用自定义的方法,如果你需要操作以某种方式将数据
不隶属于 StackOverflow