当前位置:首页 » 编程语言 » php路由

php路由

发布时间: 2022-01-08 19:13:03

A. php路由怎么实现

你这个的话 index.php 得这么写


<?php
header('content-type:text/html;charset=utf-8');
$actio=$_GET['actio'];
$do=$_GET['do'];
include$actio.'/'.$do.'.php';

B. php 路由作用

建议你了解下restful,所谓的路由就是客户所访问的url,只不过url中的一些参数以变量的形式存在。

C. php怎样不使用框架的情况下本地模拟url路由,实现localhost/a/id/1这种的访问方式

要实现路由的话你依然需要框架中路由器的支持,因为服务器不能理解你路径的具体含义.所以你需要一个路由器来帮助服务器去处理特定的信息.

不想用现成的就自己写一个简单的,如下:

首先你需要在htdoc下放一个.htaccess来实现单文件入口:

<IfMolemod_rewrite.c>
RewriteEngineOn

RewriteRule^$index.php?_url=[QSA,PT,L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule^(.*)$index.php?_url=$1[QSA,L]

</IfMole>

然后自己写路由咯, index.php

<?php

//这里添加你想要的路径
$route=array(
//(:num)表示匹配任何数字,(:any)表示任意字符
'a/id/(:num)'=>'TestController:idAction',
'a/any/(:any)'=>'TestController:anyAction',
'a/no' =>'TestController:noAction',

//这里是默认控制器,就是当你访问localhost的时候用
'_DEFAULT_'=>'IndexController:indexAction',

);

//简单的Router
classRouter
{

private$route;

publicfunction__construct(array$route)
{
$this->route=$route;
}

publicfunctionparse($url)
{
if(empty($url)){
list($controller,$action)=explode(':',$this->route['_DEFAULT_']);
returnarray(
'controller'=>$controller,
'action' =>$action,
'params' =>array(),
);
}
$trans=array(
':any'=>'[^/]+',
':num'=>'[0-9]+'
);
foreach($this->routeas$u=>$d){
$pattern='#^'.strtr($u,$trans).'$#';
if(preg_match($pattern,$url,$params)){
list($controller,$action)=explode(':',$d);
array_shift($params);
returnarray(
'controller'=>$controller,
'action' =>$action,
'params' =>$params,
);
}
}
header("HTTP/1.0404NotFound");
exit('Pagenotfound');
}
}

$r=newRouter($route);
$arr=$r->parse($_GET['_url']);

require($arr['controller'].'.php');

//执行控制器的功能
$dispatcher=new$arr['controller'];
call_user_func_array(array($dispatcher,$arr['action']),$arr['params']);

?>


控制器1. Testcontroller.php

<?php

classTestController
{
publicfunctionidAction($id)
{
echo"Yourint-onlyidis:{$id}";
}

publicfunctionanyAction($any_id)
{
echo"Youanyidis:{$any_id}";
}

publicfunctionnoAction()
{
echo"Thismethodtakenoparameter";
}
}


默认控制器: IndexController.php

<?php

classIndexController
{
publicfunctionindexAction()
{
echo"HelloWorld!";
}
}

把.htaccess, index.php, TestController.php, IndexController.php放在htdoc里就可以了

D. PHP的路由是什么 还有什么通俗的说法吗

你所说的路由其实和路由器是一个道理, 通过一个入口接受请求, 然后通过(URL)匹配规则将请求分发到不同的地方。具体到一些主流框架上面,Router模块会配合Http模块分析请求, 并且按照一定规则解析去匹配路由,然后使用调度模块使逻辑调到某块代码(通常是控制器),最后返回响应(Response)。
所以说你就把这种路由当做家里用来上网的路由器, 道理是一样的。

E. PHP中路由功能的原理和定义,有没有一个基本的例子

1 网络互连

把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己
的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥
互连和路由器互连。

1.1 网桥互连的网络

网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目
的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址
来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”
地址,一般就是网卡所带的地址。

F. 什么是thinkPHP路由,路由有什么作用

thinkphp的路由可以让你的URL地址更加简洁和优雅,比如在没有定义路由时的访问url为http://serverName/index.php/Home/News/read/id/8,在定义路由后可以通过http://serverName/index.php/Home/new/8进行相同效果的访问~

G. thinkphp url路由怎么开启

如果在你没有修改配置的情况下,在application目录下的config.php中,找到URL设置,其中工友几项如下:

// 是否开启路由
'url_route_on' => true,
// 路由使用完整匹配
'route_complete_match' => false,
// 是否强制使用路由
'url_route_must' => false,
,然后根据你的需要修改就行了,true是开启功能,false就是关闭功能

H. 什么叫php的url路由技术,求解

统一处理请求的地址,根据请求的地址参数,分别执行不同程序,这在MVC模式构架的项目里是很常见的,
比如:请求地址是http://demo.com/index.php?m=news&c=article&a=list
所有的请求都走index.php,然后在index.php里面接受三个参数分别是new,article,list,
根据这三个参数去找要执行的程序,比如这里要执行news模块下的acticle控制器里的list方法,
这只是一个典型例子而以,当然情况多变,根据你的需求来

I. php怎么设置路由别名

使用方法:
<?php
use think\Route;
Route::alias('home','index/index');
Route::alias('admin','admin/index');

热点内容
安卓机怎么关闭主题 发布:2024-12-26 21:55:57 浏览:913
javafor线程 发布:2024-12-26 21:54:35 浏览:741
python自定义模块 发布:2024-12-26 21:41:37 浏览:55
linux安装mysqltar 发布:2024-12-26 21:18:02 浏览:315
浏览器的java支持 发布:2024-12-26 21:15:45 浏览:653
电商高管如何配置 发布:2024-12-26 21:13:48 浏览:707
批发的算法 发布:2024-12-26 21:13:46 浏览:206
安卓手机在日本下载哪个导航 发布:2024-12-26 21:09:32 浏览:558
白噪声加密 发布:2024-12-26 20:31:02 浏览:639
怎么防止电脑删除脚本 发布:2024-12-26 20:19:19 浏览:151