PHP框架對位址進行Dispatch的思考

2022-09-08 02:33:11 字數 1094 閱讀 6048

如何設計自己的乙個mvc框架?

這個問題困擾了我很久,我相信大多數童鞋也都是用流行的哪些框架都很溜了(指邏輯控制,db操作以及一些validation等),但真正思考自己的mvc框架,思路不一定很清晰,或者說多多少少會做錯路。

在下也花了一些(很長~)時間來思考這個問題,總結一下思路,對layman的我們來說一起借鑑下。

基本思路:

1.任何框架的使用開發的web應用,最後都是通過使用者在瀏覽器輸入url位址才能訪問,url長什麼樣,這是切入點;

2.url有多種模式,最佳實踐的應該是pathinfo,因為對搜尋引擎友好,主要還是直觀書寫方便;

3.在單一入口index.php中首先進行處理,獲取到這個request_url,這之後可以開始框架流程了;

到此後面的思路就是怎麼對request_url各種截斷,並對應來獲取到controller類和呼叫類中的action了,

1

<?php

2namespace framework;34

class516

17static

function getinstance($base_dir = '')

1823

return self::$instance;24

}2526function

dispatch()

2740 }

來看看controller類怎麼實現:

1

<?php

2namespace framework;34

abstract

class

controller517

18function assign($key, $value)19

2223

function display($file = '')

2429

$path = $this->template_dir.'/'.$file;30

extract($this->data);

31include

$path;32

}33 }

到此就是基本的mvc設計思路了,後面補充上db的操作,順便運用下工廠模式。

如何批量替換相對位址為絕對位址?PHP

如果你的url鏈結是相對路徑 static mapi.css 你想把他批量替換成絕對路徑 那麼,你可以這樣做 寫乙個php檔案,把需要替換的 寫進去。這個 的意思就是,把 base url 替換成 這句話的意思是,把resource檔案裡的內容替換一遍,然後放到cloud資料夾裡。fileutil ...

相對位址轉絕對位址

發乙個相對位址轉絕對位址的函式 今天在研究jquery ajax功能的時候遇到乙個問題,通過 load url a load乙個網頁的鏈結後獲取到的位址資訊是相對於當前執行ajax程式的網頁的絕對位址。比如我在 c x a.html 網頁執行 www.romotc.com 網頁中有乙個鏈結 a bo...

URI URL URN,相對位址 絕對位址

uri uniform resource identifier 標準資源標示符,可以進一步分為定位器 名稱,或者二者兼具 通過一定規則解碼可以得到資源位置 在html中的href採用的是uri引用 uri引用分為絕對引用和相對引用 絕對引用以方案名和冒號開頭,其他為相對引用 url uniform ...