php 的路由简介 (一个简单的路由模式)
<?php
$_SERVER['REQUEST_URI'] = '/post/edit/1024?foo=bar';
$uri = explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
var_export($uri);
//输出
array (
0 => '',
1 => 'post', //控制器(控制器存在就require)
2 => 'edit', //方法
3 => '1024', //参数(获取参数foo就用传统的$_GET['foo'])
) $class = $uri[1];
require 'controller/'.$class.'.php'; // controller/post.php
$object = new $class();
$action = $uri[2];
$parameter = $uri[3];
echo call_user_func_array(array($object, $action), array($parameter)); //调用对象里的方法并传参 controller/post.php:
class post {
public function edit($id) {
return '$'.__CLASS__.'->'.__FUNCTION__.'('.$id.')'; //输出 $post->edit(1024)
}
}
php 的路由简介 (一个简单的路由模式)的更多相关文章
- 手把手教你用vue-cli构建一个简单的路由应用
		上一章说道:十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 开发环境搭建好之后,那么开始新添加一些页面,构建最基本的vue项目, ... 
- (转)Web Service入门简介(一个简单的WebService示例)
		Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ... 
- Web Service入门简介(一个简单的WebService示例)
		Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ... 
- 一个简单的路由,用javascript实现
		前端路由在很多开源的js类库框架中都得到支持,如angularJS,Backbone,Reactjs等等.前端路由和后端路由原理一样,是让所有的交互和展现在一个页面运行以达到减少服务器请求,提高客户体 ... 
- PHP实现一个简单url路由功能
		如果一个页面的内容呈现,需要根据url上传递的参数来进行渲染.很多时候可能是这样子写:xxx.com/xx?c=x&m=x& t=..,而我们看到的url往往是这样子的(以新浪微游戏的 ... 
- composer 包 slim使用案例,一个简单的路由解决方案
		nginx配置文件修改 location / { try_files $uri /index.php$is_args$args; } 设置好nginx伪静态,把所有的请求方式都转向到index.php ... 
- 一个简单的MVC模式练习
		控制层Action接受从模型层DAO传来的数据,显现在视图层上. package Action; import java.sql.Connection; import java.sql.SQLExce ... 
- JS模式:又一个简单的工厂模式
		<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ... 
- 动手写一个简单的Web框架(Werkzeug路由问题)
		动手写一个简单的Web框架(Werkzeug路由问题) 继承上一篇博客,实现了HelloWorld,但是这并不是一个Web框架,只是自己手写的一个程序,别人是无法通过自己定义路由和返回文本,来使用的, ... 
随机推荐
- bind函数作用、应用场景以及模拟实现
			bind函数 bind 函数挂在 Function 的原型上 Function.prototype.bind 创建的函数都可以直接调用 bind,使用: function func(){ consol ... 
- RabbitMQ入门教程(五):扇形交换机发布/订阅(Publish/Subscribe)
			原文:RabbitMQ入门教程(五):扇形交换机发布/订阅(Publish/Subscribe) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. ... 
- 3-关于ES的几个小疑问和解答
			1.ES如何实现分布式 2.ES如何实现高实时 3.ES如何实现高扩展 4.ES7.x版本为何废弃type 5.搜索原理--知乎es 
- 使用vue脚手架的项目如何引入JQuery第三方插件
			1:下载jquery npm install jquery --save 2:打开build文件夹下的webpack.base.conf.js文件: 1)在最上方 引入webpack var web ... 
- RGB颜色值转换成十六进制
			function transferRgbToStr(color) { if (typeof color !== 'string' && !(color instanceof Strin ... 
- Thymeleaf后台传值读取
			/** * 测试用Controller * * @author * @date 2019-08-15 */@Controller@RequestMapping("/danyu/test& ... 
- 查询GC日志、动态年龄计算
			https://www.cnblogs.com/onmyway20xx/p/6590603.html 从实际案例聊聊Java应用的GC优化 动态年龄计算 关于上文中提到晋升年龄阈值为2,很多同学有疑问 ... 
- java 如何读取 properties 配置文件
- python编码环境安装与基本语法
			一.pycharm的基本使用 1.python以及pycharm的安装 python的版本选择:3.x版本就行 pycharm的版本选择:社区版就够用 pycharm只是一个编写工具,python才是 ... 
- CDN学习记录
			0x00 简介 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分 ... 
