成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP中的自定義路由使用小結

開發 后端
我手上有個用PHP寫的網站,類似于個人測試性質的站點,我獨立設計,在這過程中犯了所有可能的設計和編程上的錯誤,同時我也收獲了很多,這也促使 我去學習PHP和MySQL。每當我學習新的技術或web實踐時,都會想到我的網站會從中得益。正如你可以想象到的,它的可讀性不強。

簡介

我手上有個用PHP寫的網站,類似于個人測試性質的站點,我獨立設計,在這過程中犯了所有可能的設計和編程上的錯誤,同時我也收獲了很多,這也促使 我去學習PHP和MySQL。每當我學習新的技術或web實踐時,都會想到我的網站會從中得益。正如你可以想象到的,它的可讀性不強。測試網站往往在代碼 可讀性和可維護性方面表現糟糕,尤其當你僅僅因為某些必要的功能而學習一門編程語言時,而這也正是我一直以來學習PHP的方式。

[[136295]]

自從了解了ASP.NET MVC,我便思考如何在這個網站上實踐這套MVC模式。我喜歡這整套概念的一切,尤其是路由。但我并不想為此而重構整個網站的現有框架,擔心這樣一來,大 部分現有代碼將變成像是異物一樣,不受我的控制和理解。網站已經有一個WordPress搭建的博客,通過修改模板讓它看起來就像是一個完整的站點,好比 在一巨大的墻上畫涂鴉一樣,這簡直是一團糟。

然后呢?剛不久前,我學習了一些REST API的相關知識,這是為日常工作所需而學習的。有沒有一個***的方式去學習這些呢?我知道有個網站會從中獲益。在網上閱讀了一些關于在PHP環境應用 RESTful API的文章,我了解了.htaccess文件。現在我知道怎樣在PHP中搭建路由,因此,也許能在測試網站實施自己設計的小型的、簡單的MVC模型。

設想

在PHP中搭建自定義路由的關鍵在于增加一個.htaccess文件,以下請看

具體實現:

我在網站文件夾目錄中新增了一個”API”文件夾,在里面新建一個.htaccess文件,內容是我從Corey Maynard寫的一段文本中參考來的。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?request=$1 [QSA,NC,L]
</IfModule>

長話短說,有了這個配置,所有以”www.yoursite.com/api/”開頭或指向不存在的文件或路徑的請求都會被重定向到 index.php文件。$1變量值表示請求的URL地址,”request”變量名也很好理解,用$_REQUEST[‘request’]命令就可輕 易獲取。

另外,index.php文件和.htaccess文件在同一訪問層級。

可能出現的問題?

事實上,你可能還沒啟用指定的module。

在WampServer環境下,我需要啟用相應module來支持本機運行。一種方法是點擊托盤圖標進入”Apache”目錄,在”Apache modules”列表中選中rewrite_module,然后重啟所有服務。另一種方法是編輯httpd.conf文件,取消下面這段配置的注釋

#LoadModule rewrite_module modules/mod_rewrite.so

我想接下來要做的事情之一就是給網站做幾個自測網頁,好讓我確定網站的負責人沒有改變任何東西。這聽起來可能有點偏執和可笑,但又一次,我需要臨時增加 “set names latin2;”配置來檢視數據庫導入的數據。

如果想驗證以上配置是否在服務器上啟用,你可以使用這段代碼:

echo in_array('mod_rewrite', apache_get_modules());

接下來呢?

至此我獲得一些重要的知識,讓我可以為我的網站搭建新的MVC框架。使用新框架比使用現有解決方案更棒,很大程度上由于這讓我在應用MVC模式的過程中獲得廣泛的知識。由于所有代碼都是我個人的工作量,也就沒有任何消耗性組件。

繼續為我的網站創建REST API?,F在我才能實質性地將數據庫邏輯從網頁界面中抽離出來。

有用的鏈接

如果你想知道我是怎樣找到解決方案,那下面是我從中獲得知識的網站 http://coreymaynard.com/blog/creating-a-restful-api-with-php/

 

譯文鏈接:http://www.codeceo.com/article/custom-routing-in-php.html
英文原文:Custom routing in PHP

責任編輯:王雪燕 來源: 碼農網
相關推薦

2017-08-03 17:00:54

Springmvc任務執行器

2010-10-25 16:05:07

oracle自定義函數

2009-12-03 10:49:32

PHP自定義異常處理器

2022-06-06 09:01:16

SwiftUI自定義導航

2015-03-26 11:51:22

2021-11-23 15:06:42

Kubernetes 運維開源

2010-05-11 13:16:21

Unix awk

2016-08-23 13:21:15

MVC路由視圖

2020-05-21 18:52:06

PHP框架CodeigniterWeb開發

2024-01-23 13:13:09

2009-07-31 15:42:38

自定義providerASP.NET2.0

2023-06-28 08:05:46

場景vue3自定義

2019-12-25 11:47:27

LinuxFVWM

2009-06-23 11:35:44

JSF的Naviati

2022-01-14 09:17:13

PythonAPISIX插件

2021-12-24 15:46:23

鴻蒙HarmonyOS應用

2011-06-15 09:24:36

Qt Widget Model

2009-11-25 14:36:39

PHP函數usort(

2020-09-04 13:30:43

Java自定義代碼

2023-10-31 09:10:39

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线一区二区三区 | 一区二区三区欧美 | 国产精选一区 | 成人在线精品视频 | 成人av一区| 能看的av网站 | www.日韩| 欧美一区二区三区的 | 国产精品综合色区在线观看 | 四虎影院新地址 | 欧美国产91| 成人久久久 | 日本欧美视频 | 亚洲精品视频免费 | 久久91 | 成人在线视频看看 | 日韩中文字幕一区二区 | 天天综合网永久 | 黄色永久免费 | 成人免费淫片aa视频免费 | 午夜在线视频一区二区三区 | 日本黄色不卡视频 | 欧美a免费| 在线免费观看毛片 | 欧美激情综合五月色丁香小说 | www.天天操.com | 精品久久久久久 | 日本不卡一区二区 | 国产在线播放av | 在线免费观看日本视频 | 九九久视频| 国产精品入口麻豆www | 不卡一区二区三区四区 | 一区二区三区免费在线观看 | 精品日韩 | 久久综合九九 | 亚洲国产成人精品一区二区 | 中文字幕一区二区三区精彩视频 | 久草免费福利 | 亚洲视频在线播放 | 日日夜夜精品免费视频 |