我正在使用 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 等),还是在控制器中完成所有这些工作,让视图只进行格式化和显示。