让CodeIgniter 直接支持RestFull 的修改方法

修改文件 /system/core/Router.php 的方法 _parse_route()

	/**
	 *  Parse Routes
	 *
	 * This function matches any routes that may exist in
	 * the config/routes.php file against the URI to
	 * determine if the class/method need to be remapped.
	 *
	 * @access	private
	 * @return	void
	 */
	function _parse_routes()
	{
		// Turn the segment array into a URI string
		$uri = implode('/', $this->uri->segments);

		// Is there a literal match?  If so we're done
		if (isset($this->routes[$uri]))
		{
			return $this->_set_request(explode('/', $this->routes[$uri]));
		}

		// Loop through the route array looking for wild-cards
		foreach ($this->routes as $key => $val)
		{
			// Convert wild-cards to RegEx
			$key = str_replace(':any', '.+', str_replace(':num', '[0-9]+', $key));

			// Does the RegEx match?
			if (preg_match('#^'.$key.'$#', $uri))
			{
				// Do we have a back-reference?
				if (strpos($val, '$') !== FALSE AND strpos($key, '(') !== FALSE)
				{
					$val = preg_replace('#^'.$key.'$#', $val, $uri);
				}

				return $this->_set_request(explode('/', $val));
			}
		}

		// If we got this far it means we didn't encounter a
		// matching route so we'll set the site default route
		$this->_set_request($this->uri->segments);
	}

使用方法:修改路由文件 /application/config/routes.php

$routes['index'] = array(
	'get'	=>	'news/lst',
	'post'	=>	'news/lst',
	'put'	=>	'news/lst',
);

by default7#zbphp.com

特别备注,从官网和中文CI网站下载来的CI 2.2 /2.1 包括从github官网下载来的CI,都是没有这一段的。

让CodeIgniter 直接支持RestFull 的修改方法

时间: 2024-10-09 12:30:59

让CodeIgniter 直接支持RestFull 的修改方法的相关文章

DedeCMS的分页标签pagelist支持中英文的修改方法[转]

不得不感叹DedeCMS的强大,可定制性和扩展性太强了,就算不懂php也可以很轻松的修改源码. 今天碰到个新问题,用DedeCMS搞了个中英双语的网站,其他的都修改好了,上线之前发现分页条中英文版中都是中文的,于是自己动手DIY了一下. 1.打开include/arc.listview.class.php(本文以DedeCMS5.6为例) 找到(约29行) var $remoteDir; 在其下面加上一个新行 var $pagelang; 找到(约528行) $list_len = trim($

CodeIgniter的缓存机制与使用方法

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 数据库缓存 数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问. 激活缓存需要三步:     在服务器上创建一个可写的目录以便保存缓存文件

as关键词还有另外一个用途,那就是修改 方法 的访问控制

PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法.php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化.具体用法请看下面的代码: <?php trait Drive { public $carName = 'trait'; public function driving() { echo "driving {$thi

使用cocoapods的两个大坑的修改方法

1.报错内容: [!] The dependency `ReactiveCocoa (= 2.1.8)` is not used in any concrete target. The dependency `objectiveflickr (= 2.0.4)` is not used in any concrete target. The dependency `LinqToObjectiveC (= 2.0.0)` is not used in any concrete target. Th

dedecms5.7二级域名文章图片不显示修改方法.相对路径改为绝对路径的方法

dedecms5.7(织梦CMS5.7)二级域名文章图片不显示修改方法.相对路径改为绝对路径的方法 dedecms升级到5.7SP1后,开启二级域名,你会发现,在二级域名下的文章,上传的图片地址都是:二级域名+图片地址,这是相对路径.但是你的图片是默认上传在uploads里面的.应该使用绝对路径.这就出现图片路径错误,导致图片不显示.那怎么修改这种情况呢?我在网上看了好多方法,但是大部分最终是不可用的.在这里,将两种有效的方法分享给大家.这两种方法都是在你开启“多站点支持”.“绑定完二级域名”的

CCS4.2编译出错提示与修改方法

可能需要的其他步骤 有时在迁移过程中向导并不会冒险去改动一些具体的内容,这时可能就需要您多加留意并解决这类问题.在大多数情况下,需要执行的更改位于内部的源文件或链接器命令文件中:由于向导在迁移过程中采用了保守的做法,因此不会直接修改这些类型的文件. ? 1. 例如,将会显示如下的消息框,<migration.log> 文件位于项目目录下.强烈建议打开此日志文件检查是否存在任何问题. 图 6:迁移警告 ? 2. CCSv3.3 中有些项目拥有自动导入的隐式包含目录,会引发生成错误.如果遇到这种情

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法转

让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,firefox,safari,opera,360浏览器(极速模式).搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,也参考了 千寻学习网 的资料,先将解决方法总结如下: 首先需要确保你的HTML页面开始部分要有DOC

转载------让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法

本文是转载及收藏 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在chrome,firefox,safari,opera,360浏览器(极速模式).搜狗浏览器等浏览器下均没有问题,而在IE8及IE11下发现样式无法显示,然后各种百度啊,最后在 雅朋网 的一个网友帖子的帮助下解决了问题,也参考了 千寻学习网 的资料,先将解决方法总结如下: 首先需要确保你的HTML页面

MySQL不支持事务处理的解决方法

MySQL不支持事务处理的解决方法 2014年07月07日23:20    百科369 MySQL不支持事务处理的解决方法 MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理. 在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理. 因此,如果想让MySQL支持事务处理,只要将数据表修改为InnoDB存储引擎类型即可.操作步骤如下: 1. 进入到phpMyAdmin主界面,在导航面板中选择要转换为InnoDB存储引擎类型的数据库,例如选择db_xue