<?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()的更多相关文章

  1. 当我的url请求会变成jsp页面路径时的解决办法

    @RequestMapping(value="shippingOrder") $.post("/ezsh/orderAd/shippingOrder",para ...

  2. asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别

    asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别(一) HttpUtility.UrlEncode 方法: 对 ...

  3. JS-获取URL请求参数

    前言:原来做过一个项目,需要实现一个页面打印的功能,由于项目中使用了AngularJS+Bootstrap等前端框架,需要打印的页面又在弹出框中,使用了Bootstrap的模态框后发现打印的效果不太好 ...

  4. IOS网络篇1之截取本地URL请求(NSURLProtocol)

    本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下 ...

  5. 转发URL请求

    如何用Netty实现一个轻量级的HTTP代理服务器 - Newland - 博客园 https://www.cnblogs.com/jietang/p/8926325.html 现在迫切希望有一个HT ...

  6. 【Spring MVC】spring mvc中相同的url请求返回不同的结果

    在项目中凡是使用Spring MVC这种控制器的,大多都是返回JSON数据对象,或者JSP页面. 但是相同的URL请求如何让他自动的选择放回的是什么? 在这里有由于鄙人没有亲自测试过,就不敢乱贴代码, ...

  7. beetlex网关之聚合和url请求过虑

    在这里主要介绍beetlex应用网关的两个插件,分别是聚合和url请求过虑.通过聚合插件可以把整合多个请求的数据来应答请求端,而Url请求过虑同可以拒绝一些有非常关键字的请求. 请求聚合 在网关服务中 ...

  8. Tomcat 详解URL请求

    这里分析一个实际的请求是如何在Tomcat中被处理的,以及最后是怎么样找到要处理的Servlet的?当我们在浏览器中输入http://hostname:port/contextPath/servlet ...

  9. HttpUrlConnection发送url请求(后台springmvc)

    1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "h ...

随机推荐

  1. Android 使用URLConnection来post数据

    /** * @param postUrl * 需要post的地址 * @param map * 存储数据的map * @param handler * 处理message的handler */ pub ...

  2. 使用MegaCli工具,在线调整raid配置

    公司hadoop平台采购了一批浪潮服务器,2个系统盘,12个数据盘.先想的用直通的raid卡免得再做单盘raid0麻烦,结果这批机器配的卡也不支持裸盘使用,咨询浪潮客服,说可以使用JBOD的模式进行, ...

  3. USACO 1.5 Prime Palindromes

    Prime Palindromes The number 151 is a prime palindrome because it is both a prime number and a palin ...

  4. 《JS中的面向对象技术》

    内容要点: 1.什么是对象:JS权威指南学习总结-第六章 ,(有句话:一切都是对象) 2.什么面向对象 使用对象时,只关注对象提供的功能,不关注其内部细节,比如jQuery.面向对象是一种通用思想,并 ...

  5. 2016年团体程序设计天梯赛-决赛 L1-3. 出租(20)

    下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对 ...

  6. c socket(续)

    存在两种字节顺序:NBO与HBO 网络字节顺序NBO(Network Byte Order):按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题. 主机字节顺序(HBO,Host ...

  7. POJ 2068 Nim#双人dp博弈

    http://poj.org/problem?id=2068 #include<iostream> #include<cstdio> #include<cstring&g ...

  8. html中的js监听付款按钮--触发ajax调用php后台--得到的json数据---交给安卓原生处理

    //01 var pay_status = new Object();$(".sure_pay").on("touchstart",function(){ va ...

  9. Python中的list,tuple,dict,set

    list=[11,"aa",33] 增: list.insert(1,"asas") list.append(22) 删: list.pop() list.po ...

  10. Vultr\DigitalOcean\Linode速度最快的vps机房推荐

    对大陆用户来说,香港.新加坡.韩国.台湾.日本,地理位置近,机房速度快.香港地区带宽成本太高,小水管跑不起来,没有性价比.韩国机房带宽充足,但成本也高.新加坡机房量少,像oneasiahost经常无法 ...