简体   繁体   English

名称空间如何在laravel路由组内部工作

[英]How does namespace works inside of laravel route group

Routes defines like this in Laravel, I would like to know how Route::get referring to the parent class/namespace. Routes在Laravel中这样定义,我想知道Route :: get如何引用父类/命名空间。

Route::group(['namespace' => 'site'], function()
{
 Route::get('/home', function(){});
}

I mean how does Rout::get cloud get parameters has been set in Route::group 我的意思是如何在Route :: group中设置Rout :: get cloud get参数

namespace is your folder name in which you have created your file 名称空间是您在其中创建文件的文件夹名称

example : 例如:

inside app/Http/Controllers/ , you have create folder site and there you put one file called MyController.php app/Http/Controllers/ ,您创建了文件夹site并在其中放置了一个名为MyController.php文件。

so you can add namespace="site" route group to all routes , for which all the controllers are inside site folder. 因此,您可以将namespace="site"路由组添加到所有路由,对于这些路由,所有控制器都位于site文件夹中。

Route::group(['namespace' => 'site'], function()
{
 Route::get('/home','MyController@home');
 Route::get('/test','MySecondController@test');
}

inside you MyController.php , you will use this line : 在您的MyController.php内部,您将使用以下行:

<?php

namespace App\Http\Controllers\site;

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


class MyController extends Controller
{
    public function home(Request $request){
        return view('home');
    }   
}

same in your MySecondController.php you have to add : 同样在MySecondController.php中,您必须添加:

namespace App\Http\Controllers\site;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM