Laravel控制器简单总结

来源:互联网 发布:知乎2016年度100问 编辑:程序博客网 时间:2024/06/06 04:55

控制器一般存储在app/controllers目录下,所有的控制器都要继承BaseController类。BaseController类也存储在app\controllers下,通常用来放置公用的控制器逻辑。BaseController 类继承自框架的Controller 类。

在终端新建控制器和指定操作:

 php artisan controller:make PostController --only='index,show'

基础控制器

  • 基础控制器例子
<?phpclass UserController extends BaseController {   public function showUser($username)   {      return 'My name is '.$username;   }}
  • 在路由中调用控制器
Route::get('user/{username}', 'UserController@showuser');

RESTful控制器

  • RESTful控制器例子
class UserController extends BaseController {    public function getIndex()    {        //    }    public function postProfile()    {        //    }    public function anyLogin()    {        //    }}
  • 在路由中使用 Route::controller 方法定义路由
Route::controller('users', 'UserController');

资源控制器

资源控制器让围绕资源构建的RESTful控制器变得更加简单。

  • 在终端新建控制器
php artisan controller:make PhotoController
  • 资源控制器例子
<?phpclass PhotoController extends \BaseController {   /**    * Display a listing of the resource.    *    * @return Response    */   public function index()   {      //   }   /**    * Show the form for creating a new resource.    *    * @return Response    */   public function create()   {      //   }   /**    * Store a newly created resource in storage.    *    * @return Response    */   public function store()   {      //   }   /**    * Display the specified resource.    *    * @param  int  $id    * @return Response    */   public function show($id)   {      //   }   /**    * Show the form for editing the specified resource.    *    * @param  int  $id    * @return Response    */   public function edit($id)   {      //   }   /**    * Update the specified resource in storage.    *    * @param  int  $id    * @return Response    */   public function update($id)   {      //   }   /**    * Remove the specified resource from storage.    *    * @param  int  $id    * @return Response    */   public function destroy($id)   {      //   }}
  • 在路由中使用 Route::resource() 方法定义路由
Route::resource('photo', 'PhotoController');
0 0
原创粉丝点击