MVC框架的封裝(三)路由類

2021-07-23 07:24:38 字數 1505 閱讀 4994

在此提示,此篇部落格是接著前兩篇寫的直接看有可能看不懂。

接下來我們要做的便是完成我們的路由類,首先我們先規範我們的目錄,在core目錄下建立lib資料夾,然後把route.php路由檔案放到裡面,然後在immoc.php檔案中run() 方法中通過乙個方法呼叫路由類。

$route=new \core

\lib

\route();

然後我們回到route路由類中,補充我們的命名空間。

namespace

core\lib;

我們需要在路由裡面完成我們隱藏我們url中的index.php。直接就是www.***.com/控制器/方法。

接下來我們需要在我們的根目錄下建立乙個.htaccess檔案作為重寫檔案,內容如下

rewriteengine

onrewritecond

% !-f

rewriterule

^(.*)$ index.php/$1

[qsa,pt,l]

然後我們在我們的**中進行訪問,訪問 www.你的網域名稱.com/index/index ,如果不加這個檔案的話直接訪問將會報乙個404的錯誤,加上這個檔案那麼會訪問到一片空白也就是成功了。

接下來我們獲取url的引數部分,我們先通過輸出$_server這個變數得到乙個陣列在這個陣列中找到request_uri部分,首先我們判斷一下這個變數是否存在,我們需要在上面建兩個屬性 乙個是控制器ctrl 乙個是方法action ,當request_uri不存在的時候我們預設去index控制器,index方法。request_uri 存在的時候 樣式是/index/index 我們首先需要去掉它的 / 。

<?php

namespace

core\lib;

class

route

else}}

?>

接下來我們分割完後進行判斷,獲取當前的控制器和方法。寫在pa

thar

r=ex

plod

e(′/

′,tr

im( path,』/』));的下面

if(isset($patharr[0]))

unset($patharr[0]);

if(isset($patharr[1]))else

然後我們在imooc.php中run()裡面輸出整個$route,然後就能看到我們的對於的控制器和方法了 , 然後我們需要用乙個迴圈來隊url中的傳值進行乙個對應,並且傳值是單數的時候不去顯示。寫在上面if判斷的底下

$count = count($patharr)+3;

$i = 3;

while ( $i

< $count)

$i = $i + 2;

}

這樣我們的整個路由類就完成了。

MVC框架的封裝(三)路由類

接下來我們要做的便是完成我們的路由類,首先我們先規範我們的目錄,在core目錄下建立lib資料夾,然後把route.php路由檔案放到裡面,然後在run.php檔案中dump 方法中通過乙個方法呼叫路由類。然後我們回到route路由類中,補充我們的命名空間。我們需要在路由裡面完成我們隱藏我們url中...

mvc框架封裝 二 路由類篇

mvc框架封裝 二 路由類篇 route new core lib route 引入路由類來觸發spl autoload register 使訪問的位址為 com.index index p route 在core資料夾中conf目錄中建立route.php namespace core lib u...

Vue admin工作整理(三) 路由

1 router link和router view元件 router link元件實際上是封裝了乙個a標籤 鏈結標籤 裡面有乙個重要屬性 to 它的值是乙個路徑,其路徑對應的渲染元件,要在路由列表 router router.js 裡定義,該路由列表為乙個陣列形式存放不同的路由物件,乙個基本的路由物...