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


Posted in PHP onOctober 13, 2019

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

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

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

第二步:修改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 路由

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

第四步:分别在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 5.4前后台分离,通过不同的二级域名访问方法

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

第七步:运行报错

错误一: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前后台分离,通过不同的二级域名访问方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
信用卡效验程序
Oct 09 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
PHP微信红包API接口
Dec 05 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 PHP
Laravel开启跨域请求的方法
Oct 13 #PHP
浅谈Laravel中的三种中间件的作用
Oct 13 #PHP
laravel config文件配置全局变量的例子
Oct 13 #PHP
Laravel 读取 config 下的数据方法
Oct 13 #PHP
laravel实现前后台路由分离的方法
Oct 13 #PHP
Laravel数据库读写分离配置的方法
Oct 13 #PHP
Laravel第三方包报class not found的解决方法
Oct 13 #PHP
You might like
PHP mail()函数使用及配置方法
2014/01/14 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
python开发之for循环操作实例详解
2015/11/12 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python多线程http压力测试脚本
2019/06/25 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
执行Python程序时模块报错问题
2020/03/26 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
python基于opencv实现人脸识别
2021/01/04 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
高三语文教学反思
2014/01/15 职场文书
护士辞职信范文
2014/01/19 职场文书
顶撞领导检讨书
2014/01/29 职场文书
数字化校园建设方案
2014/05/03 职场文书
党性教育心得体会
2014/09/03 职场文书
入党自荐书范文
2015/03/05 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
2015国庆节宣传语
2015/07/14 职场文书
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python