成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

真假rewrite之后的怪事,找不到變量在哪里定義

daryl / 2115人閱讀

摘要:繼上篇真假之后的怪事問題解決之后,我又遇到了哪些問題得到的數(shù)據(jù),竟然沒有一個(gè)地方使用,也沒有定義變量。我的大腦真的有點(diǎn)抽,怎么回事情找不到變量定義具體是怎么回事呢我在下的中得到思路。

繼上篇真假rewrite之后的怪事
rewrite問題解決之后,我又遇到了哪些問題?

  

$_GET得到的數(shù)據(jù),竟然沒有一個(gè)地方使用,也沒有定義變量。

我的大腦真的有點(diǎn)抽,怎么回事情?找不到變量定義?。?/p>

具體是怎么回事呢?
我在class下的index.php中得到思路。

那就是數(shù)組變換成變量

這個(gè)方法是第一次見到,還真真的第一次見到

方法如下

$_GET && extract($_GET);

我苦苦思索,需要的變量到底是哪里來的,使用sublime txt 在路徑中查找就是沒有找到,結(jié)果逐步跟蹤的時(shí)候,發(fā)現(xiàn)這個(gè)東西

extract() 方法在手冊(cè)中是這樣說的

extract — 從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號(hào)表

說明

intextract ( array&$var_array [, int$extract_type = EXTR_OVERWRITE [, string$prefix = NULL ]] )

本函數(shù)用來將變量從數(shù)組中導(dǎo)入到當(dāng)前的符號(hào)表中。

檢查每個(gè)鍵名看是否可以作為一個(gè)合法的變量名,同時(shí)也檢查和符號(hào)表中已有的變量名的沖突。

雖然php提供了如此優(yōu)秀的方法,作為一個(gè)PHP的初學(xué)者,真心不愿意你使用這種方法,尤其是在不斷的include的情況下,

看一下文件路徑你就會(huì)知道了

 root-class

   ----index.php   文件a

   -lib

   ----index.php  文件b

   -index.php  文件c

   -rewrite.php  文件d

整個(gè)系統(tǒng)文件執(zhí)行過程是Apache偽靜態(tài)重寫至文件d

文件d對(duì)重寫后的url進(jìn)行解析(主要是一個(gè)preg_match方法進(jìn)行正則對(duì)比)我再放一遍 主要方法,上篇文章的代碼太多,很多人肯定看不下去了。

function __rewrite(){

global $r_rewrite,$r_uri,$r_d,$r_dir,$r_content_type_list;

$matching=false;

foreach($r_rewrite as $v){

if(preg_match($v[0],$r_uri,$matches)){

$r_uri=$v[1];

$r_uri=preg_replace("/$(d+)/e","$matches[$1]",$r_uri);

$matching=true;

break;

}

if($matching){

$url_info=parse_url($r_uri);

$r_include=str_replace("/",$r_d,$r_dir.$url_info["path"]);

if(file_exists($r_include) && filetype($r_include)=="file"){

if($query=$url_info["query"]){

$sp=explode("&",$query);

foreach($sp as $v){

$sp2=explode("=",$v);

$_GET[$sp2[0]]=addslashes(urldecode($sp2[1]));//重要

}

$_SERVER["QUERY_STRING"]=$query;

}

//if($url_info[""])

return $r_include;

} else return __rewrite();

} else return false;

}

解析后 如果正確解析則引入文件c 在 文件c 中引入 文件a 在文件a中引入文件b

文件a中使用extract 方法對(duì)$_GET 進(jìn)行變量轉(zhuǎn)換,在文件b中使用$_GET轉(zhuǎn)換后的變量

流程就是上面的樣子了, 這是多么讓人悲哀的事情,多重的include,在沒有手冊(cè)指導(dǎo)注釋引導(dǎo)的情況下,對(duì)系統(tǒng)的二次開發(fā)和后期維護(hù)造成很大難度。

故而本文不建議新手php使用這個(gè)方法。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20786.html

相關(guān)文章

  • 如何能正常獲取17track物流網(wǎng)站物流信息?

    摘要:需要的數(shù)據(jù)就是這個(gè)快遞軌跡,看到上面的好像沒什么問題,挺容易的,這還有什么比這爽的,趕緊使用請(qǐng)求一波。由于說過了,就不多說了,突破了繼續(xù)刷新也會(huì)遇到一些未定義的,也是同樣扣代碼,就不多說了,這里說另一個(gè)。 原本昨天就要發(fā)文章的了,由于之前的pdd文章被投訴了,刪除了,影響心情的同時(shí)也不敢亂發(fā)文章了,所以就暫時(shí)歇了一天,也改了另外一個(gè)網(wǎng)站,就是今天的物流網(wǎng)站。如果大家某天看不到我發(fā)文了,...

    mingzhong 評(píng)論0 收藏0
  • 真假rewrite

    摘要:小清新,就是說的啊首先感謝社區(qū)通過我的審核,給我一個(gè)平臺(tái)。風(fēng)格很好,左右分工很好。以后將會(huì)在這里開博客了。 小清新,就是說的SegmentFault blog啊 首先感謝社區(qū)通過我的審核,給我一個(gè)平臺(tái)。 風(fēng)格很好,左右分工很好。 以后將會(huì)在這里開博客了。 最近接手一個(gè)項(xiàng)目里面也有偽靜態(tài)來工作 分析其原理讓我有點(diǎn)腦大,尤其是一開始上手的時(shí)候沒有手冊(cè),沒有 *關(guān)于wordpre...

    ChristmasBoy 評(píng)論0 收藏0
  • Nginx常見配置

    摘要:只需要兩個(gè)配置,個(gè),個(gè),分別用來做反向代理,和負(fù)載均衡。以反向代理為例,不自己處理的相關(guān)請(qǐng)求,而是把的相關(guān)請(qǐng)求轉(zhuǎn)發(fā)給來處理。 二話不說,直接進(jìn)入配置主題,若對(duì)nginx毫無了解的請(qǐng)?zhí)D(zhuǎn)Nginx入門到實(shí)戰(zhàn)(1)基礎(chǔ)篇 在此之前,先把配置參數(shù)所在位置分為四層 1. conf 全局層2. http 服務(wù)器層3. server 虛擬主機(jī)層4. location 定位層 一、全局層 #有1個(gè)...

    Anleb 評(píng)論0 收藏0
  • Nginx常見配置

    摘要:只需要兩個(gè)配置,個(gè),個(gè),分別用來做反向代理,和負(fù)載均衡。以反向代理為例,不自己處理的相關(guān)請(qǐng)求,而是把的相關(guān)請(qǐng)求轉(zhuǎn)發(fā)給來處理。 二話不說,直接進(jìn)入配置主題,若對(duì)nginx毫無了解的請(qǐng)?zhí)D(zhuǎn)Nginx入門到實(shí)戰(zhàn)(1)基礎(chǔ)篇 在此之前,先把配置參數(shù)所在位置分為四層 1. conf 全局層2. http 服務(wù)器層3. server 虛擬主機(jī)層4. location 定位層 一、全局層 #有1個(gè)...

    Kross 評(píng)論0 收藏0
  • Apache下.htaccess文件配置及功能介紹

    摘要:如果你的服務(wù)器提供某些資源的下載,那么你就必須多加小心諸如迅雷等下載軟件,因?yàn)樗鼈兛赡馨涯憔W(wǎng)站資源吸干,并且影響你的正常訪客訪問。 目錄一、準(zhǔn)備開始:mod_rewrite 二、利用.htaccess實(shí)現(xiàn)URL重寫(rewrite)與URL重定向(redirect) 將.htm頁(yè)面映射到.php 臨時(shí)重定向(R=302)與永久重定向(R=301) 為什么要用重定向?——重定向和URL...

    lijy91 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<