TP開發規範

來源:互聯網
上載者:User

標籤:使用   io   檔案   資料   ar   問題   div   html   

命名規範

使用ThinkPHP開發的過程中應該盡量遵循下列命名規範:

  • 類檔案都是以.class.php為尾碼(這裡是指的ThinkPHP內部使用的類庫檔案,不代表外部載入的類庫檔案),使用駝峰法命名,並且首字母大寫,例如 DbMysql.class.php;
  • 類的命名空間地址和所在的路徑地址一致,例如 Home\Controller\UserController類所在的路徑應該是 Application/Home/Controller/UserController.class.php;
  • 確保檔案的命名和調用大小寫一致,是由於在類Unix系統上面,對大小寫是敏感的(而ThinkPHP在偵錯模式下面,即使在Windows平台也會嚴格檢查大小寫);
  • 類名和檔案名稱一致(包括上面說的大小寫一致),例如 UserController類的檔案命名是UserController.class.php, InfoModel類的檔案名稱是InfoModel.class.php, 並且不同的類庫的類命名有一定的規範;
  • 函數、設定檔等其他類庫檔案之外的一般是以.php為尾碼(第三方引入的不做要求);
  • 函數的命名使用小寫字母和底線的方式,例如 get_client_ip;
  • 方法的命名使用駝峰法,並且首字母小寫或者使用底線“_”,例如 getUserName,_parseType,通常底線開頭的方法屬於私人方法;
  • 屬性的命名使用駝峰法,並且首字母小寫或者使用底線“_”,例如 tableName、_instance,通常底線開頭的屬性屬於私人屬性;
  • 以雙底線“__”打頭的函數或方法作為魔法方法,例如 __call 和 __autoload;
  • 常量以大寫字母和底線命名,例如 HAS_ONE和 MANY_TO_MANY;
  • 配置參數以大寫字母和底線命名,例如HTML_CACHE_ON;
  • 語言變數以大寫字母和底線命名,例如MY_LANG,以底線打頭的語言變數通常用於系統語言變數,例如 _CLASS_NOT_EXIST_;
  • 對變數的命名沒有強制的規範,可以根據團隊規範來進行;
  • ThinkPHP的模板檔案預設是以.html 為尾碼(可以通過配置修改);
  • 資料表和欄位採用小寫加底線方式命名,並注意欄位名不要以底線開頭,例如 think_user 表和 user_name欄位是正確寫法,類似 _username 這樣的資料表欄位可能會被過濾。

特例:在ThinkPHP裡面,有一個函數命名的特例,就是單字母大寫函數,這類函數通常是某些操作的快捷定義,或者有特殊的作用。例如:A、D、S、L 方法等等,他們有著特殊的含義,後面會有所瞭解。

由於ThinkPHP預設全部使用UTF-8編碼,所以請確保你的程式檔案採用UTF-8編碼格式儲存,並且去掉BOM資訊頭(去掉BOM頭資訊有很多方式,不同的編輯器都有設定方法,也可以用工具進行統一檢測和處理),否則可能導致很多意想不到的問題。

開發建議

在使用ThinkPHP進行開發的過程中,我們給出如下建議,會讓你的開發變得更輕鬆:

  • 遵循架構的命名規範和目錄規範;
  • 開發過程中盡量開啟偵錯模式,及早發現問題;
  • 多看看記錄檔,尋找隱患問題;
  • 養成使用I函數擷取輸入變數的好習慣;
  • 更新或者環境改變後遇到問題首要問題是清空Runtime目錄;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.