Heim > Artikel > Backend-Entwicklung > 数据库初始化父类继承的有关问题
数据库初始化父类继承的问题
小弟刚开始学ZendFramework框架,有个问题想请教各位大神
数据库初始化代码,我原先写在Bootstrap类中,是没有问题的。
写在控制器的init()方法里也可以。
但是我想抽象出一个类,并继承这个类,就是不行
总是报错 An error occurred Application error,错误日志也没有东西
我觉得应该是没有调用父类的init()方法导致没有初始化数据库造成的
但是应该怎么修改代码呢,求指教
下面是我的代码
1 父类 BaseController
<br />class BaseController extends Zend_Controller_Action{<br /> <br /> public function init()<br /> {<br /> //初始化数据库适配器<br /> $url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';<br /> $dbconfig = new Zend_Config_Ini($url,'mysql');<br /> $db = Zend_Db::factory($dbconfig->db);<br /> $db->query('SET NAMES UTF8');<br /> Zend_Db_Table::setDefaultAdapter($db);<br /> //echo "<pre class="brush:php;toolbar:false">"; 通过访问base控制器测试这里是有值的<br /> //print_r($db);<br /> //exit();<br /> }<br /> <br /> public function indexAction()<br /> {<br /><br /> }<br />}<br />
<br />require_once APPLICATION_PATH. '/models/tb_user.php';<br />require_once 'BaseController.php';<br /><br />//有对数据库进行操作的控制器继承BaseController,没有对数据库进行操作的控制器继承Zend_Controller_Action<br />class IndexController extends BaseController<br />{<br /><br /> public function init()<br /> { <br /> //把下面的注释就没有问题,放开第一句的注释就会报错An error occurred Application error<br /> $user = new tb_user(); <br /> $res = $user->fetchAll()->toArray(); //查询数据表tb_user中的数据<br /> $this->view->res = $res; //将获得的数据分配给View<br /> $this->render('index');<br /> }<br /><br /> public function indexAction()<br /> {<br /> // action body<br /> }<br />