當前位置:首頁 » 編程語言 » 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');

熱點內容
js源碼下載 發布:2024-04-20 15:05:16 瀏覽:19
編譯翻譯的區別 發布:2024-04-20 14:55:53 瀏覽:893
登錄之後qq密碼要在哪裡看 發布:2024-04-20 14:55:03 瀏覽:730
天龍多開腳本 發布:2024-04-20 14:53:05 瀏覽:770
同一段代碼編譯的長度不同 發布:2024-04-20 14:24:14 瀏覽:379
緩存美劇權力的游戲 發布:2024-04-20 14:16:52 瀏覽:987
如何刪除word文件保存密碼 發布:2024-04-20 14:15:18 瀏覽:824
紅米安卓10如何降級到安卓9 發布:2024-04-20 14:13:25 瀏覽:30
ftp目錄遍歷 發布:2024-04-20 13:58:37 瀏覽:970
mysql存儲過程的數組 發布:2024-04-20 13:58:33 瀏覽:60