首頁 後端開發 php教程 photoshop大師之路 PHP 高手之路(二)

photoshop大師之路 PHP 高手之路(二)

Jul 29, 2016 am 08:33 AM

二、寫漂亮的程式碼
  1.將後台程式與前端程式分開
  在編寫PHP程式時,有些程式碼是用來處理一些事務,例如操作資料庫、進行數學運算等,而另外的一些程式碼則只是事務處理的結果顯示出來,例如一些使用echo語句將結果以HTML的格式顯示在Web瀏覽器上的PHP程式碼以及那些直接嵌入PHP程式的HTML程式碼。首先我們應該要清楚地區分這兩種程式碼,將前者稱為後台程序,把後者稱為前端程式。
  因為PHP是一種嵌入式程式語言,也就是說,所有的PHP程式碼都可以嵌入到HTML程式碼之中,這為程式的編寫帶來了許多便利之處。但是,“物極必反”,如果在一段較長的程式中將PHP程式碼和HTML程式碼混合編寫,這將使程式雜亂無章,不利於程式的維護和閱讀。所以我們需要盡可能地將這些程式中混雜於HTML程式碼中的PHP程式碼移植出來,在專門的檔案中將這些程式碼封裝成函數,然後在HTML程式碼中使用include語句來包含這些文件,在適當的位置呼叫這些函數即可。
  這種做法一方面使HTML程式碼和PHP程式碼都簡單易讀,另一方面因為HTML程式碼需要不斷更新,而這種分離的方法可以確保後台程式不會被破壞。
  同前端程式不同,後台程式更追求的是穩定、結構化,極少更改,所以應該認真地設計和管理。其實,在設計台程式時,投入大量時間是值得的,“現在栽樹,以後乘涼”,在以後的設計工作中將可以輕鬆地使用現在編寫的後台程式。
  2.彈性使用包含檔案
  如前面所說的那樣,後台程式應安排在一系列的包含檔案中。包含檔案可以透過include語句在需要時動態裝入,也可以在php.ini檔案中透過使用auto_prepend_file指令預先自動裝入。
  如果使用後一種方法的話,雖然取得了一勞永逸的好處,但是也有一些缺點值得我們注意。下面的一段程式碼向我們展示了解析一個龐大的包含檔案需要一定的時間:
    require(timing.inc);
  ss_timing_start();
  include(test.inc);
; ();
  echo
.ss_timing_current().
  ?>
  在上面的程式碼中,test.inc是1000行的包含文件,運行的結果顯示,解析這個包含文件花費了0.6秒鐘,對於一個大型網站來說,這個速度並不是可以忽略的。
  使用包含檔案的另一個缺點是:如果一個檔案中的一個語句發生錯誤,將會使整個網站的PHP程式都無法運作。所以使用起來也及其小心。
  其實,對包含檔案稍做處理,即可以使包含檔案只在需要時進行解析。以下的程式碼讓abc.inc檔案只在程式需要時才解析:
    if ( defined( __LIBA_INC) ) return;
  define( __LIBA_INC, 1 );
  define( __LIBA_INC, 1 );
  define( __LIBA_INC, 1 );
  @ . ..
  */
  ?>
  3.使用物件導向的程式設計方法
  PHP也是一種物件導向的語言,物件導向的程式設計方式是優秀的程式設計師們非常推崇的一體程式種軟體設計方法,在PHP程式設計中可以充分發揮物件導向語言的優勢,對程式設計中的物件進行封裝。在前面的程式碼中,我們使用了物件導向的方法,例如在管理資料庫時,我們將query()函數封裝進資料庫類別中,這大大方便了程式碼的管理,增加了程式的可讀性。
  三、追求程式速度,而不是程式設計的速度
  在網站建置中,程式運作速度和網頁下載速度都是關係成敗的重要因素。身為Web程式設計師,應該要更加註意程式碼的運行速度。以下介紹的幾種方法都在不同程度上提高了程式碼的運行速度。
  1.使用內嵌的HTML程式碼,而不是PHP的echo語句。
  因為PHP是一門嵌入式Web程式語言,可以將HTML程式碼和PHP程式碼相互嵌入。但是很多程式設計師擔心在HTML程式碼中過多的使用""嵌入PHP程式碼會多次呼叫PHP解釋器,從而降低了PHP程式碼的運行速度,所以寧願使用PHP的echo語句來輸出HTML程式碼,而不直接使用HTML程式碼。但事實卻恰恰相反。每一個PHP頁面只呼叫一次PHP解譯器來解釋所有的PHP程式碼,所以,只在需要時才嵌入PHP程式碼,而大多數的時候直接使用HTML程式碼輸入結果,不但不會降低程式的運行速度,而且因為減少了echo語句的解析,往往可以提高程式碼的運行速度。   下面的一段程式碼證明了我們的結論。在這段程式碼中,我們使用了前面介紹的時間測試函數。
  

以上就介紹了photoshop大師之路 PHP 高手之路(二),包括了photoshop大師之路的內容,希望對PHP教學有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles