Heim  >  Artikel  >  Backend-Entwicklung  >  数据库初始化父类继承的有关问题

数据库初始化父类继承的有关问题

WBOY
WBOYOriginal
2016-06-13 11:52:47819Durchsuche

数据库初始化父类继承的问题
小弟刚开始学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 />


2 IndexController
<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 />

------解决方案--------------------
parent::init();//调用父类的构造函数试试
$user = new tb_user();  

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求解一个php有关问题Nächster Artikel:学php前程不好是真吗