首页 > 代码库 > laravel 控制器

laravel 控制器

1.定义控制器

在之间的输出hello world! 通过路由指向控制器就是所为的简单定义控制器。

app/Http/Controllers 目录下建一个控制器 IndexController.php 

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class IndexController extends Controller
{    
    public function index()
    {
        echo ‘Hellow world!‘;
    }
}

注:文件名与类的名相同

在路由定向控制器:

<?php


Route::get(‘index‘, ‘IndexController@index‘);

http://localhost/index  就能看到hellow world!

 

2. 控制器与命名空间

app/Http/Controllers 建一个文件夹 admin 下面放置后台管理的控制器

app/Http/Controllers/admin 新建一个控制器  adminController.php 

<?php
// 命名空间也要改为相应的目录
namespace App\Http\Controllers\admin;

use App\User;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{    
    public function index()
    {
        echo ‘Hellow world!‘;
    }
}

在路由指向控制器:

Route::get(‘/admin‘, ‘admin\AdminController@index‘);

注意: ‘admin\AdminController@index‘  的斜线一定是要"\",  不能是"/"。

除了单一的指向定义,还可以用路由组:

Route::group([‘namespace‘ => ‘Admin‘], function () {
    Route::get(‘/admin‘, ‘AdminController@index‘);
});

 3.单一操作的控制器

 所为单一操作可以无视,其实就是默认的方法,其它的路由器一般默认使用的是index, 这里使用 __invoke

Route::group([‘namespace‘ => ‘Admin‘], function () {
    Route::get(‘/admin‘, ‘AdminController@index‘);
    Route::get(‘/one‘, ‘AdminController‘);//不写方法就使用默认__invoke
    
});

控制器为:

<?php

namespace App\Http\Controllers\admin;

use App\User;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{    
    public function index()
    {
        echo ‘Hellow world!‘;
    }
    public function __invoke()
    {
        echo "单一";
    }
}

 4.路由器的中间件

 

 

 

laravel 控制器