資料庫初始化父類繼承的有關問題

來源:互聯網
上載者:User
資料庫初始化父類繼承的問題
小弟剛開始學ZendFramework架構,有個問題想請教各位大神

資料庫初始化代碼,我原先寫在Bootstrap類中,是沒有問題的。
寫在控制器的init()方法裡也可以。
但是我想抽象出一個類,並繼承這個類,就是不行
總是報錯 An error occurred Application error,錯誤記錄檔也沒有東西
我覺得應該是沒有調用父類的init()方法導致沒有初始化資料庫造成的
但是應該怎麼修改代碼呢,求指教

下面是My Code

1 父類 BaseController

class BaseController extends Zend_Controller_Action{

public function init()
{
//初始化資料庫適配器
$url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
$dbconfig = new Zend_Config_Ini($url,'mysql');
$db = Zend_Db::factory($dbconfig->db);
$db->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($db);
//echo "
"; 通過訪問base控制器測試這裡是有值的
//print_r($db);
//exit();
}

public function indexAction()
{

}
}


2 IndexController

require_once APPLICATION_PATH. '/models/tb_user.php';
require_once 'BaseController.php';

//有對資料庫進行操作的控制器繼承BaseController,沒有對資料庫進行操作的控制器繼承Zend_Controller_Action
class IndexController extends BaseController
{

public function init()
{
//把下面的注釋就沒有問題,放開第一句的注釋就會報錯An error occurred Application error
$user = new tb_user();
$res = $user->fetchAll()->toArray(); //查詢資料表tb_user中的資料
$this->view->res = $res; //將獲得的資料分配給View
$this->render('index');
}

public function indexAction()
{
// action body
}

------解決方案--------------------
parent::init();//調用父類的建構函式試試
$user = new tb_user();
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.