您好,登錄后才能下訂單哦!
怎么在laravel框架中創(chuàng)建一個控制器?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
laravel中我們可以使用 artisan 命令來幫助我們創(chuàng)建控制器文件。
php artisan make:controller TestController
TestController 控制器名我們可以任意指定。文件默認會創(chuàng)建在 app\Http\Controllers 目錄下。
打開控制器文件,我們就可以添加自已的方法了。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class TestController extends Controller { public function test() { echo 'test...'; } }
在路由文件 routes/web.php 中配置路由就可以訪問了。
Route::get('/test', 'TestController@test');
如何獲取用戶的輸入,一般推薦通過依賴注入的方式來獲取。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class TestController extends Controller { public function test(Request $request) { //獲取所有請求數(shù)據 $data = $request->all(); //獲取指定請求數(shù)據 $id = $request->input('id'); } }
laravel中為我們編寫 restful 風格的代碼,提供了簡單方式,只需在創(chuàng)建控制器命令后面加上 --resource 選項。
php artisan make:controller OrderController --resource
laravel幫我們創(chuàng)建指定的方法,各自表示不同的意義和作用。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class OrderController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }
具體方法的作用如下所示:
HTTP 方法 | URI | 控制器方法 | 路由名稱 | 作用描述 |
GET | /order | index | order.index | 顯示所有訂單列表 |
GET | /order/create | create | order.create | 顯示創(chuàng)建訂單頁面 |
POST | /order | store | order.store | 接收提交數(shù)據,創(chuàng)建訂單 |
GET | /order/{id} | show | order.show | 顯示單個訂單信息 |
GET | /order/{id}/edit | edit | order.edit | 顯示修改訂單頁面 |
PUT/PATCH | /order/{id} | update | order.update | 接收提交數(shù)據,修改訂單 |
DELETE | /order/{id} | destroy | order.destroy | 刪除訂單 |
最后我們通過 Route::resource() 來綁定上面的所有路由。
Route::resource('order', 'OrderController');
我們也可以通過命令查看,綁定的路由列表。
php artisan route:list
看完上述內容,你們掌握怎么在laravel框架中創(chuàng)建一個控制器的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。