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');