【发布时间】:2012-04-10 16:34:48
【问题描述】:
我正在使用 Doctrine2 和 CodeIgniter2,并且对两者以及 OOP/MVC 都是新手,所以请使用简单的解释 :)
出于测试目的,我有一个控制器、模型和视图。我想显示包含用户信息的表中的数据。名字、姓氏、身份证号码等。
我的控制器调用模型——它从理论实体中检索数据,然后控制器将该数据传递给视图。
(控制器)
class Test_v_to_m extends CI_Controller {
public function index() {
$this->load->model('testing/test_v_to_m_model');
$data = $this->test_v_to_m_model->display_user_info();
$this->load->view('testing/test_v_to_m_view', $data );
}
}
(型号)
class Test_v_to_m_model extends CI_Model{
public function display_user_name() {
$query = $this->doctrine->em->createQuery("select u from ORM\Dynasties2\Users u");
return $query->getResult();
(查看)
//print_r($data);
第一个问题是:如何以有用的方式将对象或数组传递给视图?如果我只处理一个变量,这很有效:
(控制器)
$user = $this->doctrine->em->find('Entities\User', $user_id);
$data['firstname'] = $user->getFirstName();
$this->load->view('testing/test_v_to_c_view_2',$data);
(查看)
echo $firstname;
但是当它是一个数组或多维数组时,我不知道如何做类似的事情。
第二个问题是是否让视图做任何真正的工作(php 逻辑、循环、foreach 等),还是在控制器中完成所有这些工作,让视图只做格式化和显示。
【问题讨论】:
标签: php arrays model-view-controller codeigniter doctrine