返回首页 - Notes - 2014

Laravel 控制器


常规控制器

控制器存放的位置为:app/controllers

基本结构:

<?php

class TestController extends \BaseController {

    public function showIndex () {
        // Other
    }

    // Other
}

控制器的命名并没有特定的约束,写成 TestControllerTest 都是可以的,只是最好将类名与文件名保持一致


RESTfull控制器

RESTfull 是由 Rails 框架发扬光大的,Laravel 借鉴了这一优秀思想

基本结构:

<?php

class TestController extends \BaseController {

    public function getIndex () {
        // Other
    }

    public function postCreate () {
        // Other
    }

    // Other
}

RESTfull 是使用 HTTP 请求动词来描述的,如 getpostputdelete


使用控制器

可以在 app/routes.php 中指定哪个路由由哪个控制器处理,如:Route::get('test', 'TestController@showIndex')


启用RESTfull路由

RESTfull 路由就没那么麻烦了,不需要一个个方法去写路由,只需指定好控制器就行了:Route::controller('test', 'TestController')

可以在项目根目录使用命令行 php artisan routes 查看当前项目全部的路由规则


注意事项

路由严格区分大小写,如果控制器方法为 getHello,则匹配的 RESTfull 路由是 hello,而 HelloHELLO 之类的都是不匹配的

控制器方法为驼峰命名,Hello 为大写开头;而路由则去掉了驼峰,hello 全小写

如果同时存在普通路由和 RESTfull 路由,则在 app/routes.php 中,普通路由要写在 RESTfull 路由的前面,否则报错


date : 2014-04-25、2014-04-29