php路由
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');