今天想做一个功能,可以后台设置url是二级域名(也是指向同一个服务器)还是一级域名(域名/模块),网上找了找,TP3.2开始取消了空模块。所以只能自己修改框架源码了。

----------有点晚,明天再写-----------

--------------------继续------------------

首先我随机打了一个模块名,TP就报错了,因为没有这个模块。然后我看到了如下错误:

然后我就看到了报错的行号,跟处理错误的地方。(tp5的报错真的比以前好啊 )。

就决定改这里了。

else if(Config::get('empty_module')){//添加的
define('MODULE_NAME', $module);
//设置空模块
$module = Config::get('empty_module');
// 初始化模块
$request->module($module);
$config = self::init($module);
// 模块请求缓存检查
$request->cache($config['request_cache'], $config['request_cache_expire'], $config['request_cache_except']); }

  加了个else if进去,empty_module是没有的,要自己在配置文件里添加。

define('MODULE_NAME', $module);这里为了在控制器里能够获取到之前要访问的空模块名,tp5把以前的MODULE_NAME取消了,可以了
$request->module()获取到,可是上面的更改代码中
// 初始化模块
$request->module($module);
这句就把module名更改为我要设置的空模块了,所以
$request->module();就获取不到用户要访问的模块名了。

要实现我要的功能,我还设置了空控制器,空方法。

这个跟其他是一样的。

空控制器:

因为我设置的空模块名是error,所以要就在error文件夹下的controller下 建一个Error.php。

空操作就是在在方法里面建立一个_empty()方法。

最后我的是这样的。

TP5不建议使用echo直接输出(我是为了测试方便。。。)。

这样就用户就可以随便访问,没有的模块就交给了Error模块的_empty处理了。

最新文章

  1. CSS布局 ——从display,position, float属性谈起
  2. 键盘按钮keyCode大全
  3. D - 图论
  4. System.Security.SecurityException The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception
  5. SSM框架整合总结
  6. 解决Win7下UAC开启时无法响应WM_DROPFILES消息
  7. ###《High-level event recognition in unconstrained videos》
  8. vijosP1779国王游戏
  9. python: list[-1] 与 list[-1:] 的区别
  10. Python学习笔记三,数组list和tuple
  11. silverlight控件动画状态的过渡
  12. python 进程间通信(上)
  13. Web服务器软件 (Tomcat)
  14. LeetCode算法扫题系列19
  15. Python问题:'Nonetype' object is not iterable
  16. WARN conf.FlumeConfiguration: Could not configure sink sink1 due to: No channel configured for sink: sink1 org.apache.flume.conf.ConfigurationException: No channel configured for sink: sink1
  17. [转]How to Improve Entity Framework Add Performance?
  18. 20180309 - C# demo - 1
  19. Linux中常用的50个命令
  20. vue:vue-resource

热门文章

  1. 项目Alpha冲刺(2/10)
  2. 机器学习基石12-Nonlinear Transformation
  3. 虚拟机上的centos7链接不上网络: activation of network connection failed
  4. centos7 把终端显示改为英文/中文
  5. Go语言--基础语法笔记
  6. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)”
  7. JAVA Scanner的简单运用
  8. ASP.NET Core + Vue.js 开发
  9. 定义一个javascript方法,实现对数组集合的正向排序
  10. vertx模块DeploymentManager部署管理器