您所在位置: 网站首页 / PHP MVC框架路由学习笔记.docx / 文档详情
PHP MVC框架路由学习笔记.docx 立即下载
2025-08-15
约2.9千字
约21页
0
14KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

PHP MVC框架路由学习笔记.docx

PHPMVC框架路由学习笔记.docx

预览

免费试读已结束,剩余 16 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PHPMVC框架路由学习笔记

	文章主要介绍了PHPMVC框架路由学习笔记的相关资料,需要的朋友可以参考下。	提到PHP开发web,自然离不开开发框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等。。。	第一篇先来简单点的,说说MVC框架的路由功能。。。	一般的单入口框架路由都是这样的结构:	domain/index.php/classname/functionname/var1/var2	这里的index.php就被称为入口文件。。。对于服务器而言,你这里访问的就只有index.php后面调用的controller和里面的方法,甚至传值都是在框架内部基于PHP层面实现的。	Talkischeap,showyouthecode!!	首先,先建立好下面的文件结构	我们来动手试试,怎么才能访问到controllers里面的文件。。。	在index.php里面输入以下内容	print_r($_SERVER);	然后访问以下地址试试。	yourdomain/index.php/class/function/var1	这里作者我是用本地环境的,我访问的地址是localhost/MVC/index.php/class/function/var1	我贴出最重要的2个变量	[REQUEST_URI]=>/MVC/index.php/class/function/var1	[SCRIPT_NAME]=>/MVC/index.php	其实路由最基本的原理就在这里:	通过这2个变量来提取url地址里的class和function,参数等,然后把classinclude进来,通过PHP的回调函数call_user_func_array调用对应的function和传递相应的参数。	接下来上代码,读代码应该比我写的易懂。哈哈~~	index.php的内容如下	?	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		#定义application路径	define(‘APPPATH',trim(__DIR__,'/'));	#获得请求地址	$root=$_SERVER['SCRIPT_NAME'];	$request=$_SERVER['REQUEST_URI'];	$URI=array();	#获得index.php后面的地址	$url=trim(str_replace($root,”,$request),‘/');	#如果为空,则是访问根地址	if(empty($url))	{	#默认控制器和默认方法	$class=‘index';	$func=‘welcome';	}	else	{	$URI=explode(‘/',$url);	#如果function为空则默认访问index	if(count($URI)	{	$class=$URI[0];	$func=‘index';	}	else	{	$class=$URI[0];	$func=$URI[1];	}	}	#把class加载进来	include(APPPATH.‘/'.‘application/controllers/'.$class.‘.php');	#实例化	$obj=newucfirst($class);	call_user_func_array(	#调用内部function	array($obj,$func),	#传递参数	array_slice($URI,2)	);	在application/controllers里面添加下面2个文件	index.php用于作为默认控制器	?	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	21	22	23		classIndex	{	functionwelcome()	{	echo‘Iamdefaultcontroller';	}	}	?>	hello.php		classHello	{	publicfunctionindex()	{	echo‘helloworld';	}	publicfunctionname($name)	{	echo‘hello‘.$name;	}	}	?>	测试一下看看,能不能访问了。根据上面的路由结构。我们来试试	这个访问正常,正确调用了hello这个class内部的name方法,然后把参数barbery传递过去了。。。	再试试不输入functionname,看看能不能默认调用index。。	答案也是可以的。。。	最后一个,访问root地址看看	也正确的映射到了默认控制器上。。。	ok
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

PHP MVC框架路由学习笔记

文档大小:14KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用