fuelphp 控制器
控制器負(fù)責(zé)處理進(jìn)入 fuelphp 應(yīng)用程序的每個(gè)請(qǐng)求。根據(jù) fuelphp,控制器位于 fuel/app/classes/controller/。讓我們首先創(chuàng)建一個(gè)員工控制器。
employee.php
class controller_employee extends controller { public function action_home() { echo "fuelphp-employee application!"; } public function action_index() { echo "this is the index method of employee controller"; } } </pre--><h2>控制器方法</h2>
控制器使用其 <strong>action</strong>_ 方法之一處理網(wǎng)絡(luò)請(qǐng)求。我們可以根據(jù)應(yīng)用程序的要求創(chuàng)建盡可能多的 <em>action_</em> 方法。默認(rèn)的 <em>action_</em> 方法是 <em>action_index</em>。 <em>action_index</em> 方法可以被以下任一網(wǎng)址調(diào)用。
http://localhost:8080/employee/index http://localhost:8080/employee/<h3>結(jié)果</h3>
<img src="/public/core/edit/php/../attached/20231217205855_98670.jpg" alt="" border="0" />
讓我們?cè)?<strong>employee</strong> 應(yīng)用程序中創(chuàng)建一個(gè)新的 <strong>action</strong> 方法 <em>action_show</em>。
class controller_employee extends controller { public function action_home() { echo "fuelphp-employee application!"; } public function action_index() { echo "this is the index method of employee controller"; } public function action_show() { echo "this is the show method of employee controller"; } } </pre--><em>action_show</em> 方法可以使用 t 調(diào)用他下面的網(wǎng)址。
http://localhost:8080/home/show<h3>結(jié)果</h3>
<img src="/public/core/edit/php/../attached/20231217205928_57351.jpg" alt="" border="0" />
<h2>before( ) 方法</h2>
我們可以在控制器中 <strong>之前</strong>創(chuàng)建一個(gè)方法。此方法將在每個(gè) <em>action_</em> 方法調(diào)用之前執(zhí)行。如果該方法不存在,則不會(huì)調(diào)用它。該方法幫助我們編寫(xiě)常見(jiàn)的操作,例如登錄檢查、默認(rèn)數(shù)據(jù)獲取等。
讓我們創(chuàng)建一個(gè) <em>before</em> 方法并打印一條簡(jiǎn)單的文本消息。
public function before() { echo "this message comes from <em>before()</em> method "; }<h3>帶有動(dòng)作前的索引頁(yè)</h3>
<img src="/public/core/edit/php/../attached/20231217210006_15993.jpg" alt="" border="0" />
<h3>顯示有動(dòng)作前的頁(yè)面</h3>
<img src="/public/core/edit/php/../attached/20231217210046_70232.jpg" alt="" border="0" />
<h2>after() 方法</h2>
<strong>after()</strong> 方法類似于 <strong>before()</strong> 方法,但在調(diào)用 <em>action_</em> 方法之后執(zhí)行。 <em>after()</em> 方法將 <em>response</em> 作為輸入并返回 <em>response</em> 對(duì)象。
public function after($response) { if ( ! $response instanceof response) { $response = \response::forge($response, $this->response_status); } return $response; }如果輸入為 null 或不是響應(yīng)對(duì)象,則使用 response 的偽造方法創(chuàng)建一個(gè)新的 <em>response</em> 對(duì)象并返回它。我們將在后續(xù)章節(jié)中詳細(xì)學(xué)習(xí) response 類。
<h2>擴(kuò)展控制器</h2>
我們可以從另一個(gè)控制器擴(kuò)展一個(gè)控制器。以下是基本語(yǔ)法。
class controller_employee extends controller_welcome { // controller methods }這將有助于分享方法。
<h2>生成控制器</h2>
fuel 可以選擇使用 oil 命令生成控制器。以下是語(yǔ)法。
<h3>語(yǔ)法</h3>
oil g controller <controller-name> </controller-name><h3>示例</h3>
oil g controller sample執(zhí)行上述命令后,您將看到以下響應(yīng)。
<h3>結(jié)果</h3>
creating view: /path/to/project/fuel/app/views/template.php creating view: /path/to/project/fuel/app/views/sample/index.php creating controller: /path/to/project/fuel/app/classes/controller/sample.php<h2>控制器類型</h2>
fuelphp 為各種目的提供了不同類型的控制器。它們?nèi)缦拢?/p> <ul> <li>基本控制器</li> <li>模板控制器</li> <li>休息控制器</li> <li>混合控制器</li> </ul>
<h3>基礎(chǔ)控制器</h3>
controller 是 fuelphp 中可用的所有不同類型控制器的基礎(chǔ)控制器。它提供了處理 web 請(qǐng)求所需的所有基本功能。它支持請(qǐng)求、響應(yīng)、會(huì)話等。除非另有說(shuō)明,否則我們將在所有示例中使用它。
<h3>模板控制器</h3>
模板控制器是基本控制器的擴(kuò)展。它有模板支持,預(yù)定義 before() 和 after() 方法?;旧?,它可用于將視圖包裝在帶有頁(yè)眉、頁(yè)腳、側(cè)邊欄等的布局中。要?jiǎng)?chuàng)建模板控制器,我們需要擴(kuò)展 <em>controller_template</em> 類。默認(rèn)情況下,擴(kuò)展 <em>controller_template</em> 的類的所有方法都需要使用模板。
定義如下。
class controller_employee extends controller_template { public function action_index() { // add methods } }我們將在視圖章節(jié)討論更多關(guān)于模板控制器的內(nèi)容。
<h3>休息控制器</h3>
rest controller 是 base controller 的擴(kuò)展。它具有對(duì) rest api 編程的預(yù)定義支持。這將使您能夠輕松構(gòu)建 api。
要?jiǎng)?chuàng)建 rest 控制器,您需要擴(kuò)展 <em>controller_rest</em> 類。其定義如下。
class controller_employee extends controller_rest { public function action_index() { // add methods } }我們將在 ajax 章節(jié)中討論更多關(guān)于 rest 控制器的內(nèi)容。
<h3>混合控制器</h3>
混合控制器在單個(gè)基本控制器中執(zhí)行 rest 控制器和模板控制器的功能。
<h3><a href="/s7900103/fuelphp 路由.html">下一節(jié):fuelphp 路由</a></h3> <a class="bottom-summary-prompt" href="/php/php_sz/153.html"><h3>fuelphp 教程</h3> </a>
- CodeIgniter 安裝
- CodeIgniter 錯(cuò)誤處理
- CodeIgniter 文件上傳
- CodeIgniter 常用函數(shù)
- CodeIgniter 基準(zhǔn)測(cè)試
- CodeIgniter 國(guó)際化
- CakePHP 查看事件
- FuelPHP 架構(gòu)概述
- FuelPHP 路由
- FuelPHP 視圖
- FuelPHP 模型和數(shù)據(jù)庫(kù)
- FuelPHP Ajax
- FuelPHP 包
- FuelPHP 分析器
- Laravel 路由
- Laravel 響應(yīng)
- Laravel Blade 模板
- Laravel 授權(quán)
- Laravel 加密
- Laravel 哈希