- 相關(guān)推薦
PHP實(shí)現獲取域名的方法小結
PHP(PHP: Hypertext Preprocessor)即“超文本預處理器”,是在服務(wù)器端執行的腳本語(yǔ)言,尤其適用于Web開(kāi)發(fā)并可嵌入HTML中。下面是小編整理的PHP實(shí)現獲取域名的方法小結,希望能夠幫助到大家。
方法一(用 系統變量)
復制代碼 代碼如下:
//缺點(diǎn)不使用傳遞過(guò)來(lái)的地址和不支持系統變量的主機
echo $_SERVER[HTTP_HOST];
方法二( 自己寫(xiě)函數)
復制代碼 代碼如下:
function getdomain($url)
{
$url = str_replace(http://,”,$url); //如果有http前綴,則去掉
$pos = strpos($url,/);
if($pos === false)
{
return $url;
}else
{
return substr($url, 0, $pos);
}
}
echo getdomain($url);
方法三(用正則)
復制代碼 代碼如下:
preg_match("/^(http://)?([^/]+)/i", $url, $arr_domain);
echo $arr_domain[2];
希望本文所述對大家的PHP程序設計有所幫助。
拓展:PHP框架的概念
PHP成為世界上最流行的腳本語(yǔ)言有許多原因:靈活性,易用性等等。但通常只用PHP或者其他語(yǔ)言編碼就會(huì )顯得單調、重復,這時(shí)候就需要一個(gè)PHP框架來(lái)代替程序員完成那些重復不變的部分。本文通過(guò)回答What, When, Why 以及 Which這些問(wèn)題,將對PHP框架進(jìn)行全面解析。
PHP框架是什么?
PHP框架提供了一個(gè)用以構建web應用的基本框架,從而簡(jiǎn)化了用PHP編寫(xiě)web應用程序的流程。換言之,PHP框架有助于促進(jìn)快速應用開(kāi)發(fā)( RAD ),不但節省開(kāi)發(fā)時(shí)間、有助于建立更穩定的應用,而且減少了重復編碼的開(kāi)發(fā)。通過(guò)確保適當的數據庫交換和在表現層編碼,框架還可以幫助初學(xué)者建立更穩定的應用服務(wù)。這可以讓你花更多的時(shí)間去創(chuàng )建實(shí)際的Web應用程序,而不是花時(shí)間寫(xiě)重復的代碼。
通常認為PHP框架的作用相當于模型-視圖-控制器(Model View Controller)。MVC是種編程的架構模式,將業(yè)務(wù)邏輯從UI中分離出來(lái),允許一個(gè)一個(gè)單獨修改(也稱(chēng)為關(guān)注點(diǎn)分離)。在MVC中,Model指數據,View指表現層,Controller則指應用程序或業(yè)務(wù)邏輯;旧, MVC打破了一個(gè)應用的開(kāi)發(fā)進(jìn)程,這樣各組件就可以不受影響地各自工作。從本質(zhì)上講,這使得用PHP編碼更快更簡(jiǎn)單。
為什么要使用PHP框架?
開(kāi)發(fā)人員使用PHP框架的好處很多,其中之一是加快開(kāi)發(fā)進(jìn)程。在類(lèi)似項目中重用代碼將為開(kāi)發(fā)者節省大量的時(shí)間和精力?蚣転閳绦蟹爆嵉拇a任務(wù)提供預建模塊,因此,開(kāi)發(fā)人員可以把時(shí)間花在實(shí)際應用的開(kāi)發(fā)上,而不是每一個(gè)項目都重新構建基礎功能。
穩定是開(kāi)發(fā)者使用框架的另一個(gè)重要原因。雖然簡(jiǎn)單是PHP最大的優(yōu)點(diǎn),很多人也因為這一點(diǎn)喜歡使用這個(gè)腳本語(yǔ)言,但它同時(shí)也是PHP最大的缺點(diǎn)。一些開(kāi)發(fā)者尤其是初學(xué)者很容易寫(xiě)出低劣的代碼,而自己卻沒(méi)有意識到。使用PHP,應用往往會(huì )將靜態(tài)工作加倍,不知不覺(jué)中您可能已經(jīng)在編碼時(shí)打開(kāi)了一個(gè)大的安全漏洞,因此可能會(huì )受到攻擊。重要的是要記住,PHP是一個(gè)非常寬容的語(yǔ)言,因此,更重要的是在編程時(shí)確保封閉任何漏洞,即便應用看起來(lái)可以正常工作。
最后,PHP框架的使用是非常廣泛的,而且有許多不同的框架可供選擇。許多開(kāi)發(fā)者會(huì )選擇知名的框架,是因為它的知名度、其開(kāi)發(fā)團隊的巨大支持,而且他們可以通過(guò)論壇/社區來(lái)與其他使用相同框架的開(kāi)發(fā)者交流,當然你也可以開(kāi)發(fā)自己的框架。這里提醒一下,首先應該檢查你的項目來(lái)決定是否應該使用一個(gè)框架。你應該問(wèn)自己:它會(huì )節省你和其他使用者的時(shí)間和精力么?應用程序的性能會(huì )更好么?是否會(huì )提高穩定性?如果這些問(wèn)題你的回答都是是,那么你就該為你的項目選擇一個(gè)合適的框架了。
何時(shí)使用PHP框架?
這是一個(gè)無(wú)論有經(jīng)驗的開(kāi)發(fā)者還是初級開(kāi)發(fā)者都共有的問(wèn)題,而且這個(gè)問(wèn)題也確實(shí)沒(méi)有直接的回答。對于許多初學(xué)者來(lái)說(shuō),一個(gè)框架將提供很多簡(jiǎn)便和穩定,因此應該盡可能地使用PHP框架。這將有助于減少或消除不良編碼,加快開(kāi)發(fā)進(jìn)程。
另一方面,許多有經(jīng)驗的PHP程序員將框架視為不知道如何寫(xiě)出好的、干凈的代碼的低級程序員的工具。姑且不論這一點(diǎn)的真假,起碼毋庸置疑的是PHP框架是一個(gè)可以用來(lái)節省時(shí)間并強化自己編碼的工具。
當工作的項目時(shí)間緊迫時(shí),使用PHP框架就有很多好處,可以大大加快編碼進(jìn)程,因此所以如果你時(shí)間緊迫,使用PHP框架就是很好的選擇。另一個(gè)例子是,當你所做的項目有大量代碼時(shí),也應當考慮使用PHP框架,因為這將有助于減少工作的繁瑣度。
尋找一個(gè)什么樣的PHP框架?
有許多可供開(kāi)發(fā)者選擇的PHP框架,甚至還可以創(chuàng )建自己的框架,盡管只建議PHP專(zhuān)家級這樣做。當尋找你最需要的PHP框架時(shí),重要的是要搞清楚誰(shuí)將自始至終使用或修改你的應用,如果是有很多人做這件事情,那么最好使用流行的PHP框架,這樣大部分開(kāi)發(fā)者都不會(huì )陌生。另一方面,如果你想構建Web應用程序為你個(gè)人使用,那就最好選擇令你滿(mǎn)意的PHP框架,而不在乎它在開(kāi)發(fā)者社區中是否流行。
選擇PHP框架的參考因素有很多,包括:容易使用、快速開(kāi)發(fā)、性能、開(kāi)發(fā)者中的流行程度、強大的功能,技術(shù)支持、論壇等。當你第一次選擇PHP框架時(shí),為了找到一個(gè)適合你需求的最佳選擇,建議多嘗試幾個(gè)。每個(gè)框架都有所不同,并有不同的長(cháng)處和短處。例如Zend框架由于V3和多樣的功能、并且有一個(gè)廣泛的支持系統,因而它流行了這么久。相反, CakePHP是另一個(gè)晚于Zend框架的PHP框架,相應的支持系統也比較少,但更方便和易于使用。
正如你所看到的,每種類(lèi)型的PHP框架都有自己的優(yōu)點(diǎn),因此,最好反復試驗以找出其中哪個(gè)最適合你的需要。另一個(gè)選擇PHP框架的有效方式是咨詢(xún)你的同事,看看開(kāi)發(fā)社區里選擇哪個(gè)。那些真正使用過(guò)具體框架的能夠明確地告訴你它的易用性、功能、支持可用性、社區內的情況,當然可能還有不足。
使用PHP框架最常見(jiàn)的錯誤
任何類(lèi)型的編程中都可能有錯誤,但是PHP框架有助于顯著(zhù)限制這些錯誤。重復編碼似乎加劇了這種錯誤,而框架則解決了這一問(wèn)題。盡管如此,在使用任何PHP框架時(shí)仍要注意。例如,除非你是一位PHP編程的專(zhuān)家,否則你應該總是選擇使用流行的框架,有大量的支持和積極的用戶(hù)群。很多框架的支持很少甚至沒(méi)有,它們可能是被PHP知識有限的個(gè)別開(kāi)發(fā)者所創(chuàng )建的。這些類(lèi)型的框架,可能會(huì )使你的應用程序無(wú)法正常運行,更糟糕的是,可能會(huì )給你的網(wǎng)站帶來(lái)災難性的安全問(wèn)題。
另一些常見(jiàn)的錯誤是,不能確保你的數據庫和Web服務(wù)器符合特定框架。例如,Seagull PHP Framework建議如下配置:
PHP :最低是PHP 4.3.0,PHP 5.1.1或者更高版本更佳,避免任何5.0.x版本中的東西;
MySQL的:支持MySQL的4.0.x,4.1.x和5.0.x,也可以使用3.23.x;
Apache:Seagull支持1.3.x以及Apache的2.x系列。
如果你沒(méi)有滿(mǎn)足這些要求,您將無(wú)法在你所選的框架中看到最好的性能。即使你是PHP的專(zhuān)家,你也應該經(jīng)常復習框架的說(shuō)明文檔,確認兼容性后再?lài)L試。
類(lèi)似于前面提到的常見(jiàn)的錯誤,不遵循建議的安裝進(jìn)程的話(huà),你的PHP框架也可以給你帶來(lái)一些令人頭疼的問(wèn)題。以Seagull 為例,在Seagull的wiki有一個(gè)詳細的框架安裝過(guò)程,其中有幾個(gè)關(guān)鍵步驟,很容易被不小心或不知情的開(kāi)發(fā)者忽視。因此你要花費時(shí)間來(lái)安裝框架并遵循安裝說(shuō)明。
【PHP實(shí)現獲取域名的方法小結】相關(guān)文章:
PHP獲取星期的方法07-06
PHP實(shí)現獲取FLV文件的時(shí)間07-27
利用PHP實(shí)現短域名互轉07-24
PHP實(shí)現通過(guò)URL提取根域名11-04
php獲取當前url地址的方法10-16
如何實(shí)現PHP獲取表單數據與HTML嵌入PHP腳本09-23
php頁(yè)面緩存實(shí)現方法07-20