无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()
<?php
define('DS','/');
define('A_PATH',str_replace('\\','/',dirname(__FILE__)).DS); //01获取到主程序目录
class a {
public $app,$controller,$action,$class,$client;
public function __construct($client){
$this->client = $client;
}
public function execute(){
$this->app = $_GET['app'];
$this->controller = $_GET['controller'];
$this->action = $_GET['action'];
$this->args = $_GET;
$this->app_dir = A_PATH .'apps'.DS.$this->app.DS; //02拼接当前请求模块模块
$file = $this->app_dir.'controller'.DS.$this->controller.'.php';
$abstrfile = $this->app_dir.'abstract'.'.php';
$this->class = 'controller_'.$this->controller;
require_once($abstrfile); //03引入当前控制器抽象父类
require_once($file); //04引入当前请求控制器
$obj = new $this->class($this); //05实例化当前控制器(参数包括所有get-->传递给当前控制器--再传递给抽象父类)
$response = $obj->exec();//06统一调用父类方法.call_user_func_array()不是当前控制器类.(),无论url请求什么.都作为参数.传递调用call_user_func_array()
//call_user_func_array(array($this->app->class,$this->app->action),array($this->app->args));
//无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()
}
}
call_user_func_array( array(,指定类名,方法) ,array(给这个方法传递的参数) )
先导入php文件,主程序a.php中
实例化拼接好的.当前请求控制类.-->传递参数-->到父类-->调用父类方法call_user_func_array()-->再去调用子类
给这个方法传递参数.即使该方法,没有接收.也没报错.
$obj = new $this->class($this); -->实例化拼接好的类名后-->当前类构造方法接收存储参数-->父类也接收存储参数-->不再运行.等待其他方法调用
$response = $obj->exec(); //先到当前类.查找该方法.没有就去父类去查找
无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()的更多相关文章
- 当我的url请求会变成jsp页面路径时的解决办法
@RequestMapping(value="shippingOrder") $.post("/ezsh/orderAd/shippingOrder",para ...
- asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别
asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别(一) HttpUtility.UrlEncode 方法: 对 ...
- JS-获取URL请求参数
前言:原来做过一个项目,需要实现一个页面打印的功能,由于项目中使用了AngularJS+Bootstrap等前端框架,需要打印的页面又在弹出框中,使用了Bootstrap的模态框后发现打印的效果不太好 ...
- IOS网络篇1之截取本地URL请求(NSURLProtocol)
本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下 ...
- 转发URL请求
如何用Netty实现一个轻量级的HTTP代理服务器 - Newland - 博客园 https://www.cnblogs.com/jietang/p/8926325.html 现在迫切希望有一个HT ...
- 【Spring MVC】spring mvc中相同的url请求返回不同的结果
在项目中凡是使用Spring MVC这种控制器的,大多都是返回JSON数据对象,或者JSP页面. 但是相同的URL请求如何让他自动的选择放回的是什么? 在这里有由于鄙人没有亲自测试过,就不敢乱贴代码, ...
- beetlex网关之聚合和url请求过虑
在这里主要介绍beetlex应用网关的两个插件,分别是聚合和url请求过虑.通过聚合插件可以把整合多个请求的数据来应答请求端,而Url请求过虑同可以拒绝一些有非常关键字的请求. 请求聚合 在网关服务中 ...
- Tomcat 详解URL请求
这里分析一个实际的请求是如何在Tomcat中被处理的,以及最后是怎么样找到要处理的Servlet的?当我们在浏览器中输入http://hostname:port/contextPath/servlet ...
- HttpUrlConnection发送url请求(后台springmvc)
1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "h ...
随机推荐
- in_array 判断的一些见解
我个人见解in_array的判断是== 并不是=== 证明如下: $arr=(array_merge(range(1, 9),range('a', 'z'),range('A', 'Z')));$m ...
- libev中timer时间事件监控器
1.数据结构 #define ev_at(w) ((WT)(w))->at#define ev_active(w) ((W)(w))->active typedef ev_watcher_ ...
- jquery对象介绍及一些jquery小特效
一.jquery对象的介绍. 引入jquery库后,通过形如$("#id")的方式得到的对象叫做jquery对象.如var $uu = $("#username" ...
- Gdiplus 贴图(助记) -------------------从资源中载入PNG图片
从资源中载入图片,亦可改为从内从中加载: void LoadResImage(int nResID,Image * &lpImage) { HINSTANCE hIns=AfxGetInsta ...
- js实现搜索框响应回车键
1.HTML页面, 注意:不要用使用form标签. Html代码 收藏代码<input type="text" name="keyword" id=&qu ...
- HDU 5758 Explorer Bo
思维,树形$dp$. 首先选择一个度不为$0$的节点作为根节点,将树无根转有根. 这题的突破口就是要求瞬间移动的次数最少. 次数最少,必然是一个叶子节点走到另一个叶子节点,然后瞬间移动一次,再从一个叶 ...
- chrome、safari中的input或textarea
1.去掉chrome.safari input或textarea在得到焦点时出现黄色边框的方法 input{ outline:0;} 2.去掉chrome.safari textarea右下角可拖动鼠 ...
- Java Swing 日期控件(转载)
http://www.cnblogs.com/lzy1991/p/5714935.html
- 区块链Readme.md
#Welcome to Azure Blockchain Projects This Repo host Azure related blockchain and distributed ledger ...
- 你应该知道的CSS文字大小单位PX、EM、PT
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用 ...