最近一段时间开始学习了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需要有耐心,当然还需要有长久的坚持.总有一天会成为一个合格的程序员._
网友评论