Laravel 5.4前后台分离,通过不同的二级域名访问方法

 更新时间:2019年10月13日 17:33:46   作者:LaooGao  
今天小编就为大家分享一篇Laravel 5.4前后台分离,通过不同的二级域名访问方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

第一步:添加app\http\Controllers文件夹里面创建我们要存放前端和后端或者接口的文件夹

列如: Home(前端) Admin(后端) App(接口) 文件夹

第二步:修改app\http\providers\RouteServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

class RouteServiceProvider extends ServiceProvider
{
 /**
 * This namespace is applied to your controller routes.
 *
 * In addition, it is set as the URL generator's root namespace.
 *
 * @var string
 */
 protected $namespace = 'App\Http\Controllers';
 protected $homeNamespace = 'App\Http\Controllers\Home';//PC端
 protected $adminNamespace = 'App\Http\Controllers\Admin';//管理后台

 /**
 * Define your route model bindings, pattern filters, etc.
 *
 * @return void
 */
 public function boot()
 {
 //

 parent::boot();
 }

 /**
 * Define the routes for the application.
 *
 * @return void
 */
 public function map()
 {
 //$this->mapApiRoutes();

 //$this->mapWebRoutes();
 $sld_prefix = explode('.',$_SERVER['HTTP_HOST'])[0];
 if(config('route.admin_url') == $sld_prefix){
  $this->mapAdminRoutes();
 }elseif(config('route.home_url') == $sld_prefix){
  $this->mapHomeRoutes();
 }elseif(config('route.api_url') == $sld_prefix){
  $this->mapApiRoutes();
 }
 }

 /**
 * Define the "web" routes for the application.
 *
 * These routes all receive session state, CSRF protection, etc.
 *
 * @return void
 */
 protected function mapWebRoutes()
 {
 Route::middleware('web')
  ->namespace($this->namespace)
  ->group(base_path('routes/web.php'));
 }

 /**
 * Define the "api" routes for the application.
 *
 * These routes are typically stateless.
 *
 * @return void
 */
 protected function mapApiRoutes()
 {
 Route::prefix('api')
  ->middleware('api')
  ->namespace($this->namespace)
  ->group(base_path('routes/api.php'));
 }

 /**
 * 管理后台
 */
 protected function mapAdminRoutes()
 {
 Route::middleware('web')
  ->namespace($this->adminNamespace)
  ->group(base_path('routes/admin.php'));
 }

 /**
 * PC端
 */
 protected function mapHomeRoutes()
 {
 Route::middleware('web')
  ->namespace($this->homeNamespace)
  ->group(base_path('routes/home.php'));
 }
}

第三步:在routes目录下创建admin.php 和home.php 路由

第四步:分别在app\Http\Controllers\Admin和app\Http\Controllers\Home

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{
 public function index()
 {
 echo "this is admin";
 }
}
<?php
namespace App\Http\Controllers\Home;
use App\Http\Controllers\Controller;

class HomeController extends Controller
{
 public function index()
 {
 echo "this is home";
 }
}

第五步:分别在admin.php 和home.php 新建路由

Route::get('/', 'AdminController@index');

Route::get('/','HomeController@index');

第六步:测试

第七步:运行报错

错误一:laravel Class ‘App\Http\Controllers\Controller' not found

错误二:Class App\Http\Controllers\IndexController does not exist

解决方法:

在PHPstorm Terminal控制台输入“composer dump-autoload”

因为laravel是用composer来加载类,不是命令创建的类要更新autoload。

如果没有使用PHPstorm编辑器的话,我们需要在本地安装composer,然后cmd以管理员运行,进入到项目的根目录执行“composer dump-autoload”

以上这篇Laravel 5.4前后台分离,通过不同的二级域名访问方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Laravel如何上传文件实现示例

    Laravel如何上传文件实现示例

    这篇文章主要为大家介绍了Laravel如何上传文件的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • php实现粘贴截图并完成上传功能

    php实现粘贴截图并完成上传功能

    知乎回答问题编辑框用 Ctrl+V 粘贴图片是如何实现的?刚发现知乎编辑器有这么强的功能,在研究的过程中发现原来segmentfault也实现了这么强大的功能,下面结合2者来看看我们如何实现。
    2015-05-05
  • CI框架中redis缓存相关操作文件示例代码

    CI框架中redis缓存相关操作文件示例代码

    这篇文章主要介绍了CI框架中redis缓存相关操作文件,结合完整示例演示了CI框架redis缓存相关操作技巧,需要的朋友可以参考下
    2016-05-05
  • VPS中使用LNMP安装WordPress教程

    VPS中使用LNMP安装WordPress教程

    这篇文章主要介绍了VPS中使用LNMP安装WordPress教程,需要的朋友可以参考下
    2014-12-12
  • php使用cookie实现记住用户名和密码实现代码

    php使用cookie实现记住用户名和密码实现代码

    这篇文章主要介绍了php使用cookie实现记住用户名和密码实现代码,本文直接给出实现代码,需要的朋友可以参考下
    2015-04-04
  • php过滤HTML标签、属性等正则表达式汇总

    php过滤HTML标签、属性等正则表达式汇总

    这篇文章主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集的朋友有比较大的作用,需要的朋友可以参考下
    2014-09-09
  • CakePHP框架Model函数定义方法示例

    CakePHP框架Model函数定义方法示例

    这篇文章主要介绍了CakePHP框架Model函数定义方法,结合具体查询函数示例分析了CakePHP框架Model函数的定义方法,需要的朋友可以参考下
    2017-08-08
  • php使用curl存储cookie的示例

    php使用curl存储cookie的示例

    这篇文章主要介绍了php使用curl存储cookie的示例,需要的朋友可以参考下
    2014-03-03
  • php微信开发之关注事件

    php微信开发之关注事件

    这篇文章主要为大家详细介绍了php微信开发之关注事件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • php实现上传图片生成缩略图示例

    php实现上传图片生成缩略图示例

    这篇文章主要介绍了php实现上传图片生成缩略图示例,代码中有详细注释,需要的朋友可以参考下
    2014-04-04

最新评论