【发布时间】:2012-04-15 20:14:44
【问题描述】:
我是 Zend 框架的新手,所以请多多包涵。
我让控制器与模型交互,然后将该信息发送到视图。目前我的代码看起来像这样:
//Controller
$mapper = new Application_Model_Mapper();
$mapper->getUserById($userID);
$this->view->assign('user_name', $mapper->user_name);
$this->view->assign('about', $mapper->about;
$this->view->assign('location', $mapper->location);
//Model
class Application_Model_Mapper
{
private $database;
public $user_name;
public $about;
public $location;
public function __construct()
{
$db = new Application_Model_Dbinit;
$this->database = $db->connect;
}
public function getUserById($id)
{
$row = $this->database->fetchRow('SELECT * FROM my_table WHERE user_id = '. $id .'');
$this->user_name = $row['user_name'];
$this->about = $row['about'];
$this->location = $row['location'];
}
}
//View
<td><?php echo $this->escape($this->user_name); ?> </td>
<td><?php echo $this->escape($this->about); ?></td>
<td><?php echo $this->escape($this->location); ?></td>
该代码显然不是完整的,但您可以想象我是如何尝试使用该模型进行操作的。我想知道这是否是一个好的 Zend 编码策略?
我想知道,因为如果我要从模型中提取更多数据,控制器开始变得非常大(每个项目一行)并且模型有很多公共数据成员。
我不禁想到有更好的方法,但我试图避免让视图直接访问模型。
提前谢谢你!
【问题讨论】:
标签: php model-view-controller zend-framework frameworks