最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP 已經(jīng)成熟

 更新時間:2006年12月04日 00:00:00   投稿:mdxy-dxy  
這篇文章主要介紹了PHP 已經(jīng)成熟

由于 PHP 正在成熟,因此是快速即編即用的腳本編制人員與了解 UML 的面向?qū)ο蟮拈_發(fā)人員“思想達(dá)成一致”的時候了。

  很少有編程語言能夠像 PHP 這樣迅速地得到普及?,F(xiàn)在廣泛宣傳的那個關(guān)于自己動手做 (DIY) 的腳本編制語言改變 IT 業(yè)的故事表明,成功不一定總是來自于系統(tǒng)計劃和市場研究。但是現(xiàn)在的實際問題是這種成功如何能夠為龐大的 IT 業(yè)所接受。Oracle 以及其他幾個大的參與者正在關(guān)注 PHP 錚錚事實表明,這種語言已經(jīng)成熟。

  直到現(xiàn)在,成功也只是剛剛“出現(xiàn)”。數(shù)量不斷增長的愛好者已經(jīng)聚集在 PHP 周圍,就象聚集在一個天才神童身邊一樣。但是既然這個孩子正在長出胡子,并開始以平等的地位與成年人交談,那么早期的擁護(hù)者會適應(yīng)這種變化嗎?

  PHP 與大部分主要的開放源代碼項目一樣,是正在成為主流技術(shù)的過程中的一種基本現(xiàn)象。PHP 會使那些使它獲得名譽的人們失望嗎?它會達(dá)到龐大的 IT 業(yè)的期望嗎?

兩種編程文化的故事

  PHP 的成功吸引了不同背景人士的注意。早期的 Rasmus 的擁護(hù)者(如果您能諒解那些在開放源代碼圈內(nèi)不常出現(xiàn)的略以救世者自居的語氣)習(xí)慣于快速的即編即用的腳本編制方法,他們現(xiàn)在必須對付那些了解 UML、面向?qū)ο?(OO) 編程的開發(fā)人員,這些開發(fā)人員決心使 PHP 與其他現(xiàn)代的開發(fā)工具并駕齊驅(qū)。雙方都很了解 Web 開發(fā),都擁有強(qiáng)大的文化。忽略任何一方都是不明智的。

  早期的 PHP 類型了解 Web 開發(fā)的哪些方面,它擅長做什么,不擅長做什么?它了解很多關(guān)于設(shè)計的問題。它的風(fēng)格有時可能會有問題,但可以看出它擁有 HTML 和 CSS 功能,不必說更為流行的多信息互聯(lián)網(wǎng)應(yīng)用程序 (RIA) 技術(shù)了。它總是那么年輕,卻經(jīng)常出現(xiàn)在 PHP 論壇中。術(shù)語“面向?qū)ο?rdquo;對于它可能具有負(fù)面的涵義。它的代碼很扼要,注重表現(xiàn)而不注重可維護(hù)性。

  由于采用類型松散的變量和為其 HTML 代碼填充 <?php?> 語句,因此 UML 類型將更缺乏吸引力。它將要考慮應(yīng)用程序體系結(jié)構(gòu)、類級代碼重用、團(tuán)隊合作以及源代碼管理。它知道,即使復(fù)雜度適中的網(wǎng)站首先也是一個應(yīng)用程序,而設(shè)計不良的應(yīng)用程序會導(dǎo)致工期延誤、惹惱客戶甚至丟掉工作。

  乍一看來,后者似乎更適應(yīng)于需求越來越多的環(huán)境,在這種環(huán)境中,Web 開發(fā)將會越來越多地受到營銷策略和經(jīng)濟(jì)因素的驅(qū)動。但是我們是否應(yīng)該把前者看作瀕臨滅絕的物種?或許不應(yīng)該這樣。如果我們承認(rèn) Web 是與臺式機(jī)系統(tǒng)差別很大的一種媒介 — 更不要說大型機(jī)了(還有人記得 3270 嗎?),在大型 機(jī)環(huán)境中產(chǎn)生了占統(tǒng)治地位的開發(fā)方法 — 則我們可能會得出結(jié)論,畢竟可以從這種成功卻相對雜亂的方法中學(xué)到很好并且有效的東西。

  讓我們來回顧實際的問題,以便在其可能發(fā)生之前加以克服,并回顧一些實際的工作方法。

彌補文化差距

  現(xiàn)在 PHP5 即將把面向?qū)ο蠹夹g(shù)帶入到 PHP 世界中。Zend 引擎修改 (ZE2) 正在將對象引入到該語言的核心。不僅新的語言構(gòu)造鼓勵對象編程風(fēng)格,而且語言的實施也正在適應(yīng)其他的面向?qū)ο蟓h(huán)境。例如,不再以缺省方式將對象進(jìn)行來回的復(fù)制,而是通過引用來進(jìn)行處理。引入了新的關(guān)鍵字(如 final 或 static),它們只與對象概念相關(guān),是對 Java 風(fēng)格的保留;其他特性(如委托)鼓勵使用對象設(shè)計模式。(期待在幾個月的時間后能夠聽到大家談?wù)?ldquo;原有的 PHP4”。) 這種深刻的變化來自于向當(dāng)前占優(yōu)勢的編程模型進(jìn)行無情的轉(zhuǎn)移。無論您喜不喜歡,對象方法都將會流行,因為它已證明自己在提供復(fù)雜應(yīng)用程序方面最有效,無論它們是不是 Web 應(yīng)用程序。這使得我們別無選擇,只能尋找富于想象力的方法來協(xié)調(diào)兩種文化,以便具有設(shè)計思想的人與了解體系結(jié)構(gòu)的人能夠取長補短。

  為此,必須開發(fā)(或從其他平臺中變換出)各種方法,以便在將其包含在清晰的界限內(nèi)的同時獲得語言的多功能性。這樣,編程創(chuàng)造力的“孤島”就可以存在于強(qiáng)健的體系結(jié)構(gòu)中。

  一個明顯的事實是,盡管 PHP CMS 或應(yīng)用程序框架的數(shù)量呈爆炸性增長,卻沒有關(guān)于它們的一致意見。經(jīng)常出現(xiàn)的報怨是,無論您的項目是什么,現(xiàn)有系統(tǒng)都不能完成任務(wù)。人們大都開始于對若干系統(tǒng)的評估,而最后經(jīng)常是從頭開發(fā)自己的框架。這是為什么?

  在臺式機(jī)系統(tǒng)中,似乎已經(jīng)由操作系統(tǒng)徹底解決了 GUI 設(shè)計問題,與此相反,Web 是個原始視覺設(shè)計舉足輕重的平臺。Web 站點承載商業(yè)公司的形像和個性,可能會日益影響其收入。視覺創(chuàng)造力與品牌共同發(fā)揮作用,因此必須促進(jìn)它們的發(fā)展。

  同時,必須能夠?qū)㈧`活的邏輯編入到應(yīng)用程序中,以便盡可能改善用戶體驗,應(yīng)牢記,用戶在 Web 上要比在臺式機(jī)系統(tǒng)中可能表現(xiàn)的更“菜”。

  當(dāng)設(shè)計人員不斷對程序員所設(shè)計的系統(tǒng)感到失望時,這是個問題,而當(dāng)開發(fā)人員不得不將應(yīng)用代碼強(qiáng)行加入到不完備的門戶框架中時,這同樣是個問題。最常見的結(jié)局就是無法令人滿意的折中 — 有些呆板的外觀、為了將應(yīng)用的復(fù)雜性限制在某個可管理級別而犧牲了很多可用性。(這種現(xiàn)象并不只限于 PHP 應(yīng)用程序。)

  為了徹底克服這些限制,設(shè)計人員和面向?qū)ο箝_發(fā)人員必須找到一種不阻礙對方工作的協(xié)作方法。最好的方法可能是從了解對方團(tuán)隊如何工作開始。

從技巧到產(chǎn)業(yè)

  此刻先不要考慮協(xié)作問題,讓我們觀察各自的實際操作。讓我們按照 PHP 的歷史順序開始,首先訪問一個“增強(qiáng) html”使用者的商店。

  進(jìn)行交易的工具非常類似于“純 html”使用者的工具:一些 html 編輯器,具有各種級別舒適特性和項目管理特性,并在某種程度上與 PHP、ASP、JavaScript 以及較次要工具相集成。

  讓我們花點時間仔細(xì)觀察一下代碼。我們首先會注意到,使用這些不同種類的工具生成的網(wǎng)站非常漂亮。我們在這里不僅指技術(shù),也指天賦。由于擺脫了抽象編程因素的限制,Web 設(shè)計人員通過擺弄積極、微妙的情感效果(類似于機(jī)敏的裝飾人員在真實商店中所營造的效果)營造了令您網(wǎng)站的客戶感到安適的視覺環(huán)境。

  當(dāng)我們從經(jīng)過訓(xùn)練的面向?qū)ο缶幊陶叩慕嵌葋砜催@些代碼時,事情卻突然變得很糟。代碼看上去就象它本身一樣:它是一次性的、用完即忘的工作,沒有為將來的發(fā)展或者為簡易的維護(hù)作出任何準(zhǔn)備。經(jīng)常這樣,的確如此。

  那么,這有什么不好嗎?它以后是否會成為一個難題,導(dǎo)致放棄部分或整個網(wǎng)站并從頭開始重建呢?或許不是。畢竟,真實商店的裝修經(jīng)常定期拆除并重建。因此,就這些櫥窗式的網(wǎng)站而言,牛仔風(fēng)格的 PHP 編程已經(jīng)夠用了。這種語言富含各種有助于實現(xiàn)旨在吸引訪問者注意的視覺效果的技巧。這里顯然與對象方法無關(guān)。

  一旦需要某些應(yīng)用邏輯時,這種觀點就發(fā)生顯著的變化。您是否需要若干表單來收集有關(guān)您網(wǎng)站的??偷纳倭康臓I銷信息?如果您希望這種信息能夠很中肯,則最好添加校驗代碼。如果這樣做,您應(yīng)該確??梢赃^濾惡意腳本或 SQL 指令侵入式攻擊。順便說一下,既然您正在閱讀 OTN 文章,因此您一定熟悉數(shù)據(jù)庫 (DB) 問題。您將要收集的這些信息將會存放在某些數(shù)據(jù)庫表中,而您的 PHP 代碼中的 SELECT 語句將反映這種數(shù)據(jù)庫結(jié)構(gòu)。從現(xiàn)在開始,這個網(wǎng)站已經(jīng)固定在您的業(yè)務(wù)基礎(chǔ)架構(gòu)中 — 它正在成為成熟的應(yīng)用程序。

  我們暫時不要管其所有的硬編碼鏈接、危險的類型轉(zhuǎn)換以及安全漏洞,接著訪問最新的 PHP 面向?qū)ο髴?yīng)用程序裝配線。對于我們那些具有藝術(shù)家風(fēng)范的 Web 設(shè)計人員而言,這種地方可能并不熟悉,甚至可能并不友好。在這里不太看重技巧。Web 開發(fā)已經(jīng)產(chǎn)業(yè)化了。要想為這里所接受,您必須熟悉類、繼承、數(shù)據(jù)抽象以及大量的代碼封裝工具。

  團(tuán)隊協(xié)作需要規(guī)則。必須遵循編程慣例;必須將源文件提交版本管理和源代碼管理。文件根據(jù)嚴(yán)格的模塊化層次進(jìn)行組織。摒棄了那些有危險的編碼技巧 — 尤其是那些耍小聰明的技巧。代碼不僅必須易讀,而且必須有良好的注釋。

  這樣可能令人厭煩,但卻很有效。現(xiàn)在我們正在創(chuàng)建 Web 應(yīng)用程序:內(nèi)聯(lián)網(wǎng)、商業(yè) Web 站點、電子市場、各種應(yīng)用程序,其中具有缺陷的設(shè)計都可能會導(dǎo)致停業(yè)。簡言之,我們正在克服復(fù)雜性。

  PHP 面向?qū)ο笱b配線的管理者并沒有選擇 PHP,因為他們熱愛這種語言。他們之所以這樣做,是因為它不但能像那些專有的其他語言一樣有效地完成工作,而且還是免費的,并且沒有任何附加條件。

我們要走向何處?

  那么我們將如何利用由那些經(jīng)過 C++ 和 Java 培訓(xùn)的人們所提供的行業(yè)級方法,以完成對早期使用者所使用的多功能語言的專業(yè)技術(shù)的潛在補充?

  PHP5 將會動搖很多習(xí)慣,因此這個問題可能為時尚早。有些人將采用一定程度的面向?qū)ο蠓椒?,而另一些人最終會了解面向?qū)ο蟮乃袃?nèi)容并成為它的信仰者。某些小環(huán)境可能會象過去那樣良好運行并繼續(xù)興盛發(fā)展。

讓我們來實踐一下

  現(xiàn)在讓我們深入到基礎(chǔ)的技術(shù)級別,了解如何養(yǎng)成簡單的習(xí)慣,以及尋找簡單而有效的解決方案將會如何幫助我們準(zhǔn)備好應(yīng)對即將來臨的變化。大量非常簡單的慣例有助于促進(jìn)編程,并使應(yīng)用程序準(zhǔn)備好進(jìn)行擴(kuò)展。

  命名慣例(C++ 編程人員的習(xí)性)是最容易的方式。如果您已經(jīng)大量使用了代碼庫(例如 PEAR),則將其慣例作為自己的慣例可能是個好主意;否則應(yīng)制定您自己的內(nèi)部規(guī)則。簡化的匈牙利批注(根據(jù)其匈牙利發(fā)明者 Charles Symonyi 而命名)可在松散類型所允許的范圍內(nèi)廣泛應(yīng)用。您還可以使用下劃線作為類成員的前綴。另一個有用的習(xí)慣是,向那些并不用于從類外部進(jìn)行調(diào)用的方法(屬于一個類的函數(shù))附加一個特殊的前綴(例如 impl_)。

  無論您采用什么命名慣例,都要盡可能使您的代碼明確清楚。這樣,經(jīng)過訓(xùn)練的人員就可能在滿屏的 PHP 中發(fā)現(xiàn)編程錯誤,只因為它看上去就有問題,就象肖像上的一個污點。

  命名慣例的另一個重要方面是避免名稱沖突,使得在大范圍中重用代碼成為可能。經(jīng)驗告訴我們,程序員在命名編程對象方面并不總是非常富有想像力。很有可能,存在很多的 Page 類,而且也不是沒有可能當(dāng)您要重用兩個 Page 類時卻發(fā)現(xiàn),它們只是名稱相同而用途卻迥異。真不夠走運的。從長遠(yuǎn)看來,重命名將會帶來維護(hù)問題。您最好一開始就避免這個問題。生成 GUID 將會矯枉過正、難看(例如 _16B280C5_EE70_11D1_9066_00C04FD9189D_Page?。┎⑶矣秀S?PHP 的精神。

  一種簡單并可以防止沖突的方法是,通過將類的幾個不同方面關(guān)聯(lián)到其名稱中(例如 GalleryPage),確保內(nèi)部類的唯一性;而后,為了消除與您控制范圍之外的類發(fā)生沖突的各種可能,您可以按 Java 的方式將您擁有的域名的保留版本作為它的前綴 (com_mydomain_GalleryPage)。

  要養(yǎng)成的另一個習(xí)慣不需要您花費什么,并且當(dāng)某個應(yīng)用程序范圍的意外變化不可避免時,它可以節(jié)省您的工作,這就是將最常用的基本語句封裝在一個單獨的渠道中。例如,除了調(diào)試代碼,在整個應(yīng)用程序中只應(yīng)該有一個“響應(yīng)”語句,它應(yīng)該在某個函數(shù)(或單獨的類方法)中。如果某個新環(huán)境中需要對輸出進(jìn)行預(yù)處理或重定向,則您知道應(yīng)該將所需的幾行代碼寫在哪里,而不必面對那種搜索和編輯大量文件的令人沮喪的情況。

  錯誤處理不必像 C++ 中那樣嚴(yán)格 — 在 C++ 中,一個懸空指針 (dangling pointer) 或者緩沖區(qū)溢出可能極具破壞性。當(dāng)沒有危及數(shù)據(jù)完整性時,試著大方地放下架子告訴訪問者,盡管某些功能不太完善,但她可以再試試。一個經(jīng)常被忽視的好幫手是標(biāo)準(zhǔn)的 set_error_handler() 函數(shù)。這是另一個 — 這次是基本事件 — 封裝到一個集中位置(其中所有代碼都專門用于處理這些基本事件)的例子。如果您希望保留所有發(fā)生錯誤的事件日志,以便找出重復(fù)發(fā)生的問題,則應(yīng)該在這里完成這項工作。

  在我們結(jié)束低級編程討論之前,還有另外一個救命招術(shù)。在 PHP5 中,缺省情況下,分配或傳遞對象引用(引用是對象的句柄,而不是對象本身或?qū)ο蟮母北荆?。只要我們還需要使用 PHP4,就必須認(rèn)真注意對象的傳遞方式。某些微妙之處可能使您心神不寧。例如,以下語句導(dǎo)致 $obj2 成為 $obj1 的副本;這并不奇怪。

$obj2=$obj1;

  函數(shù)將使用副本并返回副本,除非另有指定 — 我們只得接受這種情況。以下示例導(dǎo)致很多了難以跟蹤的錯誤:

class ObjectKeeper {
    var $_obj; // Whatever object is
    function & get_object() {
        return $this->_obj;
    }
}
//引用可以良好地返回?,F(xiàn)在陷阱出現(xiàn)了:
$keeper = new ObjectKeeper();
$obj1 = $keeper->get_object();
$obj1->modify();
$obj2 = $keeper->get_object(); // Ask new reference to same object
if ($obj2->is_modified()) {
    echo 'OK'; // 這將永遠(yuǎn)不會打印
}


正確的語句應(yīng)該是:

$obj1=&$keeper->get_object(); // 注意,是“=&”而非“=”

  如果沒有 =&,則返回的引用所指向的對象的副本被分配給 $obj1,而無論您對您認(rèn)為正確的引用進(jìn)行什么操作,也不會影響原始對象的狀態(tài)。換言之,您的更新將會丟失。

  在協(xié)調(diào) Web 設(shè)計人員與程序員的文化方面,模板可能會大有幫助。它們通常包括布局中所配備的一切(主要是 HTML 代碼),而在生成頁面時,模板引擎填入所有可變的內(nèi)容。大部分模板引擎帶有高速緩存機(jī)制,確保相關(guān)的耗費資源的處理只發(fā)生在數(shù)據(jù)源更新要求進(jìn)行這些處理的時候。

接下來的步驟


論壇:Oracle 上的 PHP

PHP 漫游者指南

開放源代碼開發(fā)人員中心

Oracle + PHP 疑難解答指南

PHP 腳本編制:隨心所欲的代碼逐漸流行

Oracle + PHP 使用入門

在 Linux 上安裝 Oracle、PHP 和 Apache

  模板引擎允許在相當(dāng)大的程度上將布局和圖形分在一端,將商務(wù)邏輯分在另一端。最流行的模板引擎可能是 Smarty,它也恰好被集成在很多開放源代碼的 CMS 和框架項目中。

  最后,必須注意當(dāng)邏輯超出基本的搜索取代式的替換時,模板引擎傾向于提供編程方言。將來的方法很可能依靠 XSLT 技術(shù),而 PHP5 中的擴(kuò)展 XML 支持將會因此而改變很多。

  最后卻是相當(dāng)重要的一個實踐方面:從眾所周知的庫中重用一流的代碼。我們的研究將只限于 PEAR,因為它現(xiàn)在是標(biāo)準(zhǔn) PHP 發(fā)行版本中的一部分。

  PEAR 可能目前更接近于真正標(biāo)準(zhǔn)的 PHP 軟件組件。嚴(yán)格選擇提供者以及嚴(yán)格的質(zhì)量標(biāo)準(zhǔn)確保了組件與商業(yè)級組件一樣優(yōu)秀。版本控制慣例為您提供精確控制,以確定組件的哪個版本適合于您的應(yīng)用程序。PEAR 提供從表單處理到數(shù)據(jù)庫抽象層 (PEAR::DB) 等一系列豐富的功能,并包括 Web 服務(wù)或 WebDAV 支持等高級特性。
  不用說,通過熟悉 PEAR 以及類似的 PHP 代碼庫,您可以節(jié)省很多天緊張的研發(fā)工作。

PHP5 呼之欲出

  PHP 已經(jīng)使自己成為最大的開放源代碼成功的故事之一,與 Linux 和 Apache 齊頭并立。盡管尚有不理想之處,但它已經(jīng)在 IT 界牢牢站穩(wěn)了腳跟,并且其龐大的基層用戶群仍然很喜歡它。

  PHP5 可能會促進(jìn)負(fù)擔(dān)沉重的 Web 應(yīng)用程序的開發(fā),與數(shù)據(jù)庫進(jìn)行交互作用的業(yè)務(wù)邏輯層越來越多地接受 PHP 代碼。同時,靈活的編程方法將會越來越多地使用 XML 技術(shù),使 Web 設(shè)計人員更容易與開發(fā)人員和軟件設(shè)計人員進(jìn)行無摩擦的協(xié)作。
  我們期待看到新一代非常具有吸引力并且非常好用的基于 PHP 的 Web 應(yīng)用程序。

相關(guān)文章

  • 騰訊QQ php程序員面試題目整理

    騰訊QQ php程序員面試題目整理

    以下題目,除了編程任務(wù)外其他都需要寫在給你提供的草紙上。紙張是珍貴的地球資源,請節(jié)約使用。編程任務(wù)在有相應(yīng)的環(huán)境時,會要求上機(jī)書寫,實在沒有條件,就只能寫在草紙上了。
    2010-06-06
  • smarty+adodb+部分自定義類的php開發(fā)模式

    smarty+adodb+部分自定義類的php開發(fā)模式

    smarty+adodb+部分自定義類的php開發(fā)模式...
    2006-12-12
  • PHP 加密與解密的斗爭

    PHP 加密與解密的斗爭

    PHP代碼的保護(hù)一直是許多公司關(guān)注的核心問題,例如知名的一些論壇vBulletin、Discuz!、PhpWind及近日很火的ShopEx等等
    2009-04-04
  • php格式化工具Beautify PHP小小BUG

    php格式化工具Beautify PHP小小BUG

    Beautify PHP is written entirely in PHP. The program was tested with Linux and Windows, PHP 4.1.0 and PHP 4.3.1, but it should work on most systems running PHP.
    2008-04-04
  • dedecms系統(tǒng)常用術(shù)語匯總

    dedecms系統(tǒng)常用術(shù)語匯總

    dedecms系統(tǒng)常用術(shù)語匯總...
    2007-04-04
  • 建站常用13種PHP開源CMS比較

    建站常用13種PHP開源CMS比較

    dedecms很好用,建立模板也很方便,代碼也合理,相對其它CMS要好得多,最為關(guān)鍵的是開源。,現(xiàn)在網(wǎng)上最熱門,已經(jīng)有不少大站在使用這個CMS了,中國站長站就是使用的這個CMS。
    2009-08-08
  • php教程 插件機(jī)制在PHP中實現(xiàn)方案

    php教程 插件機(jī)制在PHP中實現(xiàn)方案

    PHP中插件機(jī)制的一種實現(xiàn)方案. 這篇文章的出發(fā)點是我對插件機(jī)制的理解,及其在PHP中的實現(xiàn)。此方案僅是插件機(jī)制在PHP中的
    2012-11-11
  • php中并發(fā)讀寫文件沖突的解決方案

    php中并發(fā)讀寫文件沖突的解決方案

    在這里提供4種高并發(fā)讀寫文件的方案,各有優(yōu)點,可以根據(jù)自己的情況解決php并發(fā)讀寫文件沖突的問題。
    2013-10-10
  • 如何突破PHP程序員的技術(shù)瓶頸分析

    如何突破PHP程序員的技術(shù)瓶頸分析

    身邊有幾個做PHP開發(fā)的朋友,也接觸到不少的PHP工程師,他們常疑慮自己將來在技術(shù)上的成長與發(fā)展,我常給他們一些建議,希望他們能破突自己,有更好的發(fā)展。
    2011-07-07
  • 測試您的 PHP 水平的題目

    測試您的 PHP 水平的題目

    測試您的 PHP 水平的題目...
    2007-05-05

最新評論

隆安县| 鄂州市| 崇左市| 大洼县| 那坡县| 浮梁县| 阿荣旗| 云安县| 延庆县| 鹤庆县| 贡嘎县| 山丹县| 南充市| 平塘县| 吉首市| 仙游县| 册亨县| 普宁市| 揭阳市| 南宫市| 秭归县| 建始县| 灵宝市| 聊城市| 肇东市| 霍林郭勒市| 凤山市| 炉霍县| 综艺| 汉阴县| 平果县| 德安县| 延寿县| 深水埗区| 仁布县| 隆林| 通江县| 财经| 唐河县| 东兴市| 寿阳县|