加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

laravel前后台路由分离

发布时间:2020-05-25 03:19:36 所属栏目:PHP 来源:互联网
导读:在laravel中创建文件放置前台和后台控制器找到app/providers/RouteServiceProvider.PHP文件在内配置例:?phpnamespace AppProviders;use IlluminateRoutingRouter;use IlluminateFoundationSupportProvidersRouteServiceProvider as ServiceProvider;class Ro

<span style="color: #0000ff">use<span style="color: #000000"> IlluminateRoutingRouter;
<span style="color: #0000ff">use IlluminateFoundationSupportProvidersRouteServiceProvider <span style="color: #0000ff">as<span style="color: #000000"> ServiceProvider;

<span style="color: #0000ff">class RouteServiceProvider <span style="color: #0000ff">extends<span style="color: #000000"> ServiceProvider
{
<span style="color: #008000">/<span style="color: #008000">

  • This namespace is applied to the controller routes in your routes file.
  • In addition,it is set as the URL generator's root namespace.
  • @var string
    <span style="color: #008000">/
    <span style="color: #0000ff">protected <span style="color: #800080">$namespace = 'AppHttpControllers'<span style="color: #000000">;
    <span style="color: #0000ff">protected <span style="color: #800080">$frontendNamespace<span style="color: #000000">;
    <span style="color: #008000">/
    <span style="color: #008000">*
  • Define your route model bindings,pattern filters,etc.
  • @param IlluminateRoutingRouter $router
  • @return void
    <span style="color: #008000">/
    <span style="color: #0000ff">public <span style="color: #0000ff">function boot(Router <span style="color: #800080">$router<span style="color: #000000">)
    {
    <span style="color: #008000">//
    <span style="color: #800080">$this->frontnamespace = 'AppHttpControllersFront'<span style="color: #000000">;
    parent::boot(<span style="color: #800080">$router<span style="color: #000000">);
    }
    <span style="color: #008000">/
    <span style="color: #008000">*
  • Define the routes for the application.
  • @param IlluminateRoutingRouter $router
  • @return void
    <span style="color: #008000">*/
    <span style="color: #0000ff">public <span style="color: #0000ff">function map(Router <span style="color: #800080">$router<span style="color: #000000">)
    {
    <span style="color: #008000">//<span style="color: #008000">配置路由所在文件
    // $backendUrl = config('route.backend_url');
    // $frontendUrl = config('route.frontend_url');
    // $apiUrl = config('route.api_url');
    //
    <span style="color: #800080">$router->group(['namespace' => <span style="color: #800080">$this->namespace],<span style="color: #0000ff">function (<span style="color: #800080">$router<span style="color: #000000">) {
    <span style="color: #0000ff">require app_path('Http/routes.php'<span style="color: #000000">);
    });
    <span style="color: #008000">//<span style="color: #008000">前台
    <span style="color: #800080">$router->group(['namespace' => <span style="color: #800080">$this->frontnamespace],<span style="color: #0000ff">function (<span style="color: #800080">$router<span style="color: #000000">)
    {
    <span style="color: #008000">//<span style="color: #008000"> 'domain' => $backendUrl,
    <span style="color: #0000ff">require app_path('Http/routes_front.php'<span style="color: #000000">);
    });
    }
    }

    namespace AppProviders;

    <span style="color: #0000ff">use<span style="color: #000000"> IlluminateRoutingRouter;
    <span style="color: #0000ff">use IlluminateFoundationSupportProvidersRouteServiceProvider <span style="color: #0000ff">as<span style="color: #000000"> ServiceProvider;

    <span style="color: #0000ff">class RouteServiceProvider <span style="color: #0000ff">extends<span style="color: #000000"> ServiceProvider
    {
    <span style="color: #008000">/<span style="color: #008000">

    • This namespace is applied to the controller routes in your routes file.
    • In addition,it is set as the URL generator's root namespace.
    • @var string
      <span style="color: #008000">*/
      <span style="color: #0000ff">protected <span style="color: #800080">$namespace = 'AppHttpControllers'<span style="color: #000000">;
      <span style="color: #0000ff">protected <span style="color: #800080">$backendNamespace<span style="color: #000000">;
      <span style="color: #0000ff">protected <span style="color: #800080">$frontendNamespace<span style="color: #000000">;
      <span style="color: #0000ff">protected <span style="color: #800080">$apiNamespace<span style="color: #000000">;
      <span style="color: #0000ff">protected <span style="color: #800080">$currentDomain<span style="color: #000000">;
    </span><span style="color: #008000"&gt;/*</span><span style="color: #008000"&gt;*  
     * Define your route model bindings,etc.  
     *  
     * @param  IlluminateRoutingRouter $router  
     * @return void  
     </span><span style="color: #008000"&gt;*/</span>  
    <span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;function</span> boot(Router <span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;)  
    {  
        </span><span style="color: #008000"&gt;//</span>  
        <span style="color: #800080"&gt;$this</span>->backendNamespace = 'AppHttpControllersBackend'<span style="color: #000000"&gt;;  
        </span><span style="color: #800080"&gt;$this</span>->frontendNamespace = 'AppHttpControllersFrontend'<span style="color: #000000"&gt;;  
        </span><span style="color: #800080"&gt;$this</span>->apiNamespace = 'AppHttpControllersAPI'<span style="color: #000000"&gt;;  

    <span style="color: #008000">//<span style="color: #008000"> $this->currentDomain = $this->app->request->server->get('HTTP_HOST');
    <span style="color: #800080">$this->currentDomain = <span style="color: #0000ff">isset(<span style="color: #800080">$_SERVER['HTTP_HOST']) ? <span style="color: #800080">$_SERVER['HTTP_HOST'] : ""<span style="color: #000000">;

        parent</span>::boot(<span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;);  
    }  
    
    </span><span style="color: #008000"&gt;/*</span><span style="color: #008000"&gt;*  
     * Define the routes for the application.  
     *  
     * @param  IlluminateRoutingRouter $router  
     * @return void  
     </span><span style="color: #008000"&gt;*/</span>  
    <span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;function</span> map(Router <span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;)  
    {  

    <span style="color: #008000">//<span style="color: #008000"> $router->group(['namespace' => $this->namespace],function ($router) {
    // require app_path('Http/routes.php');
    // });

        <span style="color: #800080"&gt;$backendUrl</span> = config('route.backend_url'<span style="color: #000000"&gt;);  
        </span><span style="color: #800080"&gt;$frontendUrl</span> = config('route.frontend_url'<span style="color: #000000"&gt;);  
        </span><span style="color: #800080"&gt;$apiUrl</span> = config('route.api_url'<span style="color: #000000"&gt;);  
    
        </span><span style="color: #0000ff"&gt;switch</span> (<span style="color: #800080"&gt;$this</span>-><span style="color: #000000"&gt;currentDomain) {  
            </span><span style="color: #0000ff"&gt;case</span> <span style="color: #800080"&gt;$apiUrl</span>:  
                <span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; API路由  </span>
                <span style="color: #800080"&gt;$router</span>-><span style="color: #000000"&gt;group([  
                    </span>'domain' => <span style="color: #800080"&gt;$apiUrl</span>,'namespace' => <span style="color: #800080"&gt;$this</span>->apiNamespace],<span style="color: #0000ff"&gt;function</span> (<span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;) {  
                        </span><span style="color: #0000ff"&gt;require</span> app_path('Http/routes-api.php'<span style="color: #000000"&gt;);  
                    }  
                );  
    
                </span><span style="color: #0000ff"&gt;break</span><span style="color: #000000"&gt;;  
            </span><span style="color: #0000ff"&gt;case</span> <span style="color: #800080"&gt;$backendUrl</span>:  
                <span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 后端路由  </span>
                <span style="color: #800080"&gt;$router</span>-><span style="color: #000000"&gt;group([  
                    </span>'domain' => <span style="color: #800080"&gt;$backendUrl</span>,'namespace' => <span style="color: #800080"&gt;$this</span>->backendNamespace],<span style="color: #0000ff"&gt;function</span> (<span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;) {  
                        </span><span style="color: #0000ff"&gt;require</span> app_path('Http/routes-backend.php'<span style="color: #000000"&gt;);  
                    }  
                );  
                </span><span style="color: #0000ff"&gt;break</span><span style="color: #000000"&gt;;  
            </span><span style="color: #0000ff"&gt;default</span>:  
                <span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 前端路由  </span>
                <span style="color: #800080"&gt;$router</span>-><span style="color: #000000"&gt;group([  
                    </span>'domain' => <span style="color: #800080"&gt;$frontendUrl</span>,'namespace' => <span style="color: #800080"&gt;$this</span>->frontendNamespace],<span style="color: #0000ff"&gt;function</span> (<span style="color: #800080"&gt;$router</span><span style="color: #000000"&gt;) {  
                        </span><span style="color: #0000ff"&gt;require</span> app_path('Http/routes-frontend.php'<span style="color: #000000"&gt;);  
                    }  
                );  
    
                </span><span style="color: #0000ff"&gt;break</span><span style="color: #000000"&gt;;  
        }  
    
    }  

    }

    (编辑:安卓应用网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读