PHP学习之旅

Laravel框架-自定义路由

2018-08-18  本文已影响11人  记忆的北极

最近一段时间开始学习了PHP中的Laravel框架,PHP的基础的知识已经学会,然后就是安装Laravel框架都已经OK了,接下来就是要添加Laravel中的自定义路由了.

一,添加路由Controller.php文件

在/app/Http/Controller下创建一个home文件夹,然后创建indexController.php控制器.

<?php 
namespace App\Http\Controllers\Home;

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

class IndexController extends Controller
{
    public function index()
    {
        echo "111222";
    }

    public function home()
    {
        echo "333";
    }
}

在indexController.php中创建了一个IndexController的类,集成基类Controller,并且包含了两个函数,一个是index()函数,另一个是home()函数.这两个函数就是路由的分发处理函数,在接下来要创建的home.php的路由里面会映射这些函数.

二,创建自定义路由home.php文件

在/routes路径下创建一个home.php文件,然后添加路由映射.添加映射请求的方法,这里使用的GET方法, 'aaa' 是请求路径,后面的 'IndexController@index' 是映射相应的控制器和响应的函数.

<?php
Route::get('aaa','IndexController@index');
Route::get('sss','IndexController@home');
三,在/Providers/RouteServiceProvider.php中添加路由的路径.

(1),先创建一个路由函数

   protected function mapHomeRoutes()
    {
        Route::prefix('home')
            ->middleware('home')
            ->namespace($this->namespace.'\home')
            ->group(base_path('routes/home.php'));
    }

(2),然后再map函数里添加路由方法

   public function map()
    {
        $this->mapApiRoutes();

        $this->mapWebRoutes();

        $this->mapHomeRoutes(); //添加执行的路由方法

        //$this->mapHomeLoginRoutes();
        //
    }

(3),至此,简单的自定义路由就已经创建完毕了,这个时候我们可以在浏览器里请求测试.

屏幕快照 2018-09-05 下午3.31.21.png

这里的aaa路径在home.php里已经定义好了会映射到IndexController.php中的index()函数.所以index()函数里会echo'111222'.

四,添加路由验证.路由验证功能是访问当前的路由的时候需要验证身份.

(1),添加路由验证文件
在app/Http/Middlewarex下创建一个VerifyHome.php文件,代码如下

<?php 
namespace App\Http\Middleware;
use Closure;

class VerifyHome
{
    public function  handle($request, Closure $next)
    {
        //if ("判断条件"){


        return $next($request);
        // }

        //返回跳转到网站首页
        // return redirect('/')
    }
}

这里我也把验证的条件给去掉了,相当于没有验证方法.

(2),添加验证文件路径
在app/Http/Kernel.php文件中添加路由验证文件路径

   protected $routeMiddleware = [
        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

        //添加home路由验证文件路径.
        'home'=>\App\Http\Middleware\VerifyHome::class, 
     
    ];

以上就是自定义路由的添加和路由验证的添加的所有操作,这些都只是基本的操作,刚开始学php需要有耐心,当然还需要有长久的坚持.总有一天会成为一个合格的程序员._

https://blog.csdn.net/createNo_1/article/details/81035154

上一篇下一篇

猜你喜欢

热点阅读