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