php 自制简单路由类 望大神指点
class route
{
/** @var null 模块 */
private static $module = null;
/** @var null 控制器 */
private static $controller = null;
/** @var null 方法 */
private static $action = null;
/** @var 控制器url */
private static $controllerPath; /**
* route constructor.
* @param array $config url
*/
public function __construct($config = [])
{
$var_parse = explode('/', $config['r']);
if (count($var_parse) == 3){
self::$module = $var_parse[0];
self::$controller = ucwords($var_parse[1]).'Controller';
self::$action = $var_parse[2];
self::$controllerPath = APP_ROOT.'/controllers/'.self::$module.'/'.self::$controller.'.php';
}elseif(count($var_parse) == 2){
self::$controller = ucwords($var_parse[0]).'Controller';
self::$action = $var_parse[1];
self::$controllerPath = APP_ROOT.'/controllers/'.self::$controller.'.php';
}
} /**
* 执行控制器方法
* @return null
*/
public static function run(){
self::register();
$controller = new self::$controller;
if(method_exists($controller, self::$action)){
$action = self::$action;
$controller->$action();
}else{
header("HTTP/1.1 404 Not Found");
}
} /**
* 加载类
*/
public static function register(){
spl_autoload_register("self::loadClass");
} //自动加载
public static function loadClass(){
if(!file_exists(self::$controllerPath)){
header("HTTP/1.1 404 Not Found");
}
require_once self::$controllerPath;
}
}
php 自制简单路由类 望大神指点的更多相关文章
- 自己封装了一个EF的上下文类.,分享一下,顺便求大神指点
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...
- 耐克的定制页用canvas如何实现....跪求前端大神指点。
选择鞋子的鞋底 鞋底会变色,也可以添加自己定制的id,这个东西看的是用canvas做的,但是小弟确实不知道怎么去做,求大神指点一二,不胜感激! nike的定制页地址:http://store.nike ...
- 真想用c#开发个 wp五笔输入法。。。奈何网上资料太少,源码都是c++写的。求大神指点!!!
真想用c#开发个 wp五笔输入法...奈何网上资料太少,源码都是c++写的.求大神指点!!!!
- java数据类型易错点简单总结,欢迎大神前辈补充!谢谢
数据类型那这边看似简单,花了我很长时间也就是才练到几成"功力"吧.还希望路过的大神在下面补充,菜鸟的我深受感谢! 首先看两个思考题 思考题1:请问下面这个有没有问题 double ...
- 读FCL源码系列之List<T>---让你知其所以然---内含疑问求大神指点
序言 在.NET开发中,List<T>是我们经常用到的类型.前段时间看到其他部门小伙伴讨论“两个List(10W个元素)集合求并集,list1.Where(p=>list2.Cont ...
- VS2012+SQL2008+ODBC编程,第一篇博客,写的不好忘各位大神指点一二~
近期写一个数据库的课程设计,用的是C++ MFC .最開始用的是ADO技术,可是苦于网上大部分的教程都是VC6.0的,对着教程敲了4,5遍还是执行不成功.我用的IDE是VS2012,毕竟VC6.0和V ...
- 求C#开发大神指点职业规划或者开发路数(以后怎么走),谢谢
背景:作为一名Asp.net Web类的开发人员,工作时间有点长,5年不到,属于是天赋不太强,但是比较努力型的人,开发过程中那事情基本上都会,各种前后端框架也会使用.目前在研究分布式缓存应用 Memc ...
- MapXtreme+Asp.net 动态轨迹(请求大神指点)
功能简介:在MapXtreme+Asp.net的环境下实现轨迹回放功能,经过两天的努力基本实现此功能.但还有部分问题需要解决,求大神们指点迷津,问题会在结尾处提出. 客户端前台页面 <asp:S ...
- #String类简述(小白理解,小白编写,欢迎大神指点,小白跪谢)
@ 目录 一.前言(可忽略) 二.String变量的认知 三.String类的构造方法 四.String类的基本方法 4.1 toString()方法 4.2 equals()方法 4.3 equal ...
随机推荐
- dd/MMM/yyyy:hh:mm:ss +0800日期格式的转化
private static void myHandler() throws ParseException { String dtime1 = "23/Apr/2019:04:08:00 + ...
- 【转】Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置
Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置 原贴:https://www.cnblogs.com/jackadam/p/8568833.html ...
- mac中更改xampp的根目录
方法一: 1 打开 应用程序->XAMPP->xamppfiles->etc->httpd.conf 文档 2 commond+f搜索htdocs,搜到如下结果 # Docum ...
- linux删除文件后,空间未释放的一种情况,使用lsof查看
linux某个目录空间快满了,删除了若干的文件后,使用df -h显示还是快满的,但是df -h *显示的总的文件大小又没那么大. 某个进程正在使用删除的文件,导致删除后,空间仍然不能释放. 查看rm掉 ...
- js调试工具及微博登录分析
js调试工具 网页 都是采用ajax 需要提交一些参数 断点 自己去直接断点 事件断点, network 方法 靠近边栏顶部的是Call Stack(调用堆栈)窗格.当代码在断点处暂停时,Call ...
- Mysql 数据库复制
Mysql 数据库复制 数据库复制是一种同步手段,主库向一台或多台数据库同步数据. 这个功能我自己曾经用uts数据传输工具实现过! 现在学习了一下mysql数据库复制的其他方式 第一个就是最简单的使用 ...
- 安装部署Kafka集群
kafka是一个开源的分布式消息订阅系统(消息中间件) 安装过程 1.下载kafka_2.11-0.10.1.0.gz(ps:千万不要下错了,博主就是下到了src文件上去了,kafka中的zookee ...
- FPM 0.08安装了打不开解决办法
今天在网上找了FPM软件下载,结果却不能打开,于是到处找资料,终于解决了,呵呵,写下来供大家学习. 用UltraEdit打开FPM.exe,查找"改为8B,F2改为00,然后保存,就可以打开 ...
- Spring NoSuchBeanDefinitionException原因分析
摘要:摘要:本文译自EugenParaschiv文章SpringNoSuchBeanDefinitionException原文链接:/2014th7cj/d/file/p/20161012/dv5o0 ...
- darknet训练yolov3时的一些注意事项
训练需要用到的文件: 1) .data文件.该文件包含一些配置信息,具体为训练的总类别数,训练数据和验证数据的路径,类别名称,模型存放路径等. 例如coco.data classes= 8 ...