ThinkPHP8命名規范-ThinkPHP8知識詳解

本文主要講解thinkphp8的命名規范,主要包括:遵循PHP自身的PSR-2命名規范和PSR-4自動加載規范、目錄和文件命名規范、函數和類、屬性命名規范、常量和配置命名規范、數據表和字段命名規范、不能使用PHP保留字。

在使用thinkphp8開發項目之前,應理解并盡量遵循以下命名規范,可以減少在開發過程中出現不必要的錯誤。

ThinkPHP8命名規范

一、遵循PHP自身的PSR-2命名規范和PSR-4自動加載規范

二、目錄和文件命名規范

目錄使用小寫+下劃線;

類庫、函數文件統一以.php為后綴;

類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;

類(包含接口和Trait)文件采用駝峰法命名(首字母大寫),其它文件采用小寫+下劃線命名;

類名(包括接口和Trait)和文件名保持一致,統一采用駝峰法命名(首字母大寫);

三、函數和類、屬性命名規范

類的命名采用駝峰法(首字母大寫),例如 User、UserType;

函數的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如 get_client_ip;

方法的命名使用駝峰法(首字母小寫),例如 getUserName;

屬性的命名使用駝峰法(首字母小寫),例如 tableName、instance;

特例:以雙下劃線__打頭的函數或方法作為魔術方法,例如 __call 和 __autoload;

四、常量和配置命名規范

常量以大寫字母和下劃線命名,例如 APP_PATH;

配置參數以小寫字母和下劃線命名,例如?url_route_on 和url_convert;

環境變量定義使用大寫字母和下劃線命名,例如APP_DEBUG;

五、數據表和字段命名規范

數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如 think_user 表和 user_name字段,不建議使用駝峰和中文作為數據表及字段命名。

六、不能使用PHP保留字

不能使用PHP保留字作為常量、類名和方法名,以及命名空間的命名,否則會造成系統錯誤。

1、關鍵詞在 PHP 中有著特定的語法和功能,通過它們可以實現不同的編程邏輯和控制流程,從而構建出功能豐富的 PHP?應用程序。

2、這些詞語在 PHP 中有著特殊的意義。

3、它們中有些像是函數,有些像是常量,但是它們不是真的,它們只是語言結構的一部分。

4、不能使用它們的任何一個作為常量、類名或函數名。

5、它們可以被用作類的屬性、常量以及類的方法名,或者接口名和 traits 名,除了 class 不能被用作常量名。

關鍵詞列表(一行五個)

function、global、goto、if、implements

include、include_once、instanceof、insteadof、interface

isset()、list()、match、namespace、new

or、print、private、protected、public

readonly、require、require_once、return、static

switch、throw、trait、try、unset()

use、var、while、xor、yield

yield from

編譯時常量

__CLASS__、__DIR__、__FILE__、__FUNCTION__、__LINE__、__METHOD__、__NAMESPACE__、__TRAIT__

PSR-2命名規范、PSR-4自動加載規范及以上關鍵字的意思,到時候我們重新發文,進行詳細解釋。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35321.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35321.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35321.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#使用OpenCv(OpenCVSharp)圖像全局二值化處理實例

本文實例演示C#語言中如何使用OpenCv(OpenCVSharp)對圖像進行全局二值化處理。 目錄 圖像二值化原理 函數原型 參數說明 實例 效果 圖像二值化原理

線程轉換狀態,傻傻分不清等待和阻塞嗎?你還在暴力的停止線程嗎?

線程切換 線程創建之后,調用start()方法開始運行。當線程執行wait()方法之后,線程進入等待狀態。進入等待狀態的線程需要依靠其他線程的通知才能夠返回到運行狀態,而超時等待狀態相當于在等待狀態的基礎上增加了超時限制,也就是超…

騰訊云服務器競價實例是什么?適用于什么行業?有啥優惠?

騰訊云服務器CVM計費模式分為包年包月、按量計費和競價實例,什么是競價實例?競價實例和按量付費相類似,優勢是價格更劃算,缺點是云服務器實例有被自動釋放風險,騰訊云服務器網來詳細說下什么是競價實例?以及…

GUI、多線程編程、網絡編程簡介

GUI、多線程編程、網絡編程簡介 文章目錄 GUI簡介什么是GUIGUI有什么用使用方法 多線程編程什么是多線程編程多線程編程有什么用提高程序的響應能力提高程序的性能實現異步編程并發數據訪問和共享資源實現復雜的算法和任務分解 進行多線程編程的步驟 網絡編程什么是網絡編程網絡…

JMeter處理接口簽名之BeanShell實現MD5加密

項目A需要給項目B提供一個接口,這個接口加密了,現在需要測試這個接口,需要怎么編寫腳本呢?實現接口簽名的方式有兩種:BeanShell實現MD5加密和函數助手實現MD5加密,之前已經分享過了函數助手實現MD5加密&…

React如何配置env環境變量

React版本: "react": "^18.2.0" 1、在package.json平級目錄下創建.env文件 2、在‘.env’文件里配置環境變量 【1】PUBLIC_URL 描述:編譯時文件的base-href 官方描述: // We use PUBLIC_URL environment variable …

從KM到Cure Models:常用生存分析方法的優缺點

一、引言 生存分析是一種用于研究個體生命長度或事件發生時間的統計方法。在許多領域中,如醫學、社會學、經濟學和工程學等,生存分析被廣泛應用于分析個體的生存時間,并研究相關因素對生存時間的影響。通過生存分析,我們可以評估特…

交換排序——選擇排序和冒泡排序的區別是什么?

今天重溫一下算法,其實剛開始我覺得冒泡排序和選擇排序是一樣的,因為他們排序過程中都是通過相鄰的數據比較找到最小/最大的數據,通過不斷思考和學習才明白,兩者還是有區別的。 冒泡排序 概念 冒泡排序(Bubble Sort)&#xff0…

SpringBoot使用thymeleaf模版引擎配置自定義錯誤頁面

1、要在Spring Boot項目中配置自定義的錯誤頁面&#xff0c;你可以遵循以下步驟&#xff1a; 1.1、pom.xml引入thymeleaf <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId><…

【正版系統】2023熱門短劇SAAS版開源 | 小程序+APP+公眾號H5

當我們在刷百度、D音、K手等各種新聞或短視頻時經常會刷到劇情很有吸引力的短劇廣告&#xff0c;我們點擊廣告鏈接即可進入短劇小程序&#xff0c;小程序運營者通過先免費看幾集為誘耳然后在情節高潮時彈出充值或開VIP會員才能繼續看的模式來賺錢&#xff0c;以超級贅婿、鄉村小…

VS Code中C++程序的調試(Debug)功能

有一個.vscode文件&#xff0c;存放當前工作區相關配置文件的目錄。 launch.json {"version": "0.2.0","configurations": [{"name": "gcc.exe - 生成和調試活動文件", // 該調試任務的名字&#xff0c;啟動調試時會在待…

TCP/IP 下的計算機網絡江湖

〇、引言 在當今數字化時代,計算機網絡宛如廣袤江湖,涵蓋著五大門派:物理層、數據鏈路層、網絡層、傳輸層和應用層。每個門派獨具技能,共同構筑著現代網絡的框架。物理層宛如江湖基石,將比特流傳輸;數據鏈路層如武林傳承,組織數據幀傳遞;網絡層則像導航大師,尋找傳送路…

使用阿里云服務器搭建PostgreSQL主從架構圖文流程

阿里云百科分享使用阿里云服務器搭建PostgreSQL主從架構圖文流程&#xff0c;PostgreSQL被業界譽為最先進的開源數據庫&#xff0c;支持NoSQL數據類型&#xff08;JSON/XML/hstore&#xff09;。本文檔介紹在CentOS 7操作系統的ECS實例上搭建PostgreSQL主從架構的操作步驟。 目…

【Linux操作系統】文件描述符fd

&#x1f525;&#x1f525; 歡迎來到小林的博客&#xff01;&#xff01; ??????&#x1f6f0;?博客主頁&#xff1a;??林 子 ??????&#x1f6f0;?博客專欄&#xff1a;?? Linux之路 ??????&#x1f6f0;?社區 :?? 進步學堂 ??????&#x1…

python單元測試框架(測試固件、批量執行)

python測試框架 在Python語言中應用最廣泛的單元測試框架是unittest和pytest,unittest屬于標準庫&#xff0c;只要安裝了Python解釋器后就可以直接導入使用了,pytest是第三方的庫&#xff0c;需要單獨的安裝。 1.白盒測試原理 在軟件架構的層面來說&#xff0c;測試最核心的…

Kotlin入門:變量和函數——02

目錄 一、Kotlin 基本數據類型 ?編輯 二、變量 val 關鍵字&#xff1a; var 關鍵字: 類型推斷: 可空類型: 三、函數 基本函數語法&#xff1a; 單表達式函數&#xff1a; 默認參數值&#xff1a; 命名參數&#xff1a; 一、Kotlin 基本數據類型 Kotlin 的基本數…

vue數據更新table內容不更新解決方法

場景&#xff1a; table組件綁定的數據變化時&#xff0c;頁面沒有重新渲染&#xff0c;常見于子組件中使用table組件 原理&#xff1a; 創建實例時 數組在vue中沒有被監聽到&#xff0c;屬于非響應式數據&#xff0c;數組的下標變化無法監聽到 解決方式&#xff1a; <e…

SpringSecurity如何放行資源

SpringSecurity配置放行資源 permitAll配置實例 EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter {Overridepublic void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/css/**", …

數據庫事務ACID介紹

一、ACID簡介 ACID&#xff0c;是指數據庫管理系統&#xff08;DBMS&#xff09;在增刪改數據的的過程中&#xff0c;為保證事務&#xff08;transaction&#xff09;的準確性&#xff0c;可靠性等&#xff0c;所必須具備的四個特性&#xff1a;原子性&#xff08;atomicity&a…

【MFC】09.MFC視圖-筆記

MFC視圖窗口&#xff1a;CView類 顯示數據/畫面 我們之前的繪圖消息&#xff0c;都是在框架類上畫出來的 視圖窗口就覆蓋在框架窗口上 視圖窗口本質上也是窗口&#xff0c;只是和框架窗口風格不同 CView類也繼承于CWnd類 CView也能處理消息&#xff0c;因為它繼承于CWnd類…