W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
CodeIgniter的核心Controller不應(yīng)更改,但可以在app / Controllers / BaseController.php中為您提供默認(rèn)的類(lèi)擴(kuò)展 。您制作的任何新控制器都應(yīng)擴(kuò)展BaseController
以利用預(yù)加載的組件和您提供的任何其他功能:
<?php namespace App\Controllers;
use CodeIgniter\Controller;
class Home extends BaseController {
}
基本控制器是在每次項(xiàng)目運(yùn)行時(shí)加載打算使用的任何幫助程序,模型,庫(kù),服務(wù)等的好地方。助手應(yīng)添加到預(yù)定義的$helpers
數(shù)組中。例如,如果您希望通用的HTML和文本幫助器:
protected $helpers = ['html', 'text'];
任何其他要加載的組件或要處理的數(shù)據(jù)都應(yīng)添加到構(gòu)造函數(shù)中initController()
。例如,如果您的項(xiàng)目大量使用會(huì)話(huà)庫(kù),則可能要在此處啟動(dòng)它:
public function initController(...)
{
// Do Not Edit This Line
parent::initController($request, $response, $logger);
$this->session = \Config\Services::session();
}
基本控制器不可路由(系統(tǒng)配置會(huì)將其路由到“ 404頁(yè)面未找到”)。作為一種附加的安全措施,應(yīng)將您創(chuàng)建的所有新方法聲明為protected
或,private
并且只能通過(guò)您創(chuàng)建的擴(kuò)展控制器來(lái)訪(fǎng)問(wèn)BaseController
。
您可能會(huì)發(fā)現(xiàn)您需要多個(gè)基本控制器。您可以創(chuàng)建新的基本控制器,只要您制造的任何其他控制器擴(kuò)展了正確的基本控制器即可。例如,如果您的項(xiàng)目具有涉及的公共界面和簡(jiǎn)單的管理門(mén)戶(hù),則您可能希望擴(kuò)展BaseController
到公共控制器并AdminController
使用任何管理控制器。
如果您不想使用基本控制器,則可以通過(guò)讓控制器擴(kuò)展系統(tǒng)控制器來(lái)繞過(guò)它:
class Home extends \CodeIgniter\Controller
{
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: