4 - laravel 基础 - 控制器

laravvel 控制器基本使用

创建普通控制器

php artisan make:controller admin/ArticlesController

控制器的命名空间

在使用路由是注意控制器的命名空间

Route::get('/admin/article/index', 'admin\ArticlesController@index');

创建资源控制器

php artisan make:controller admin/ArticlesController -r 
php artisan make:controller admin/ArticlesController --resource

部分资源控制器

在声明资源路由时, 如果只需要一部分方法, 就可以使用部分资源路由

// 指定需要的方法
Route::resource('/admin/user', 'admin\UserController', [
    'only' => ['create', 'store', 'index'],
]);
// 指定不需要的方法
Route::resource('/admin/user', 'admin\UserController', [
    'except' => ['create', 'store', 'destroy'],
]);

补充资源控制器

如果资源控制器默认生成的方法,不足以完成某个功能,还需要添加方法
补充方法的访问路由,一定要定义到资源路由前面,否则可能会被覆盖

Route::get('/user/upload',  'UesrController@upload_form');
Route::post('/user/upload', 'UesrController@upload_file');
Route::resource('/user', 'UserController');

依赖注入

访问路由

Route::get('/article/{articleId}', 'ArticleController@index');

依赖注入的方式

  • 构造方法
  • 成员方法

构造方法注入

namespace App\Http\Controllers;
use App\Article;

class ArticleController extends Controller {
    protected \$article;

    public function __construct(Article $article){
        \$this->article = $article;
    }

    public function index(){
        dump(\$this->article);  
    }
}

成员方法注入

namespace App\Http\Controllers;

use App\Article;

class ArticleController extends Controller {
    public function index(Article \$article) {
        dump(\$article);
    }
}

创建控制器自动注入模型对象

php artisan make:controller ArticlesController --model=Article
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值