摘要:框架之間通過接口自動加載和標(biāo)準(zhǔn)的編碼風(fēng)格進行合作。該規(guī)范的精髓是把命名空間的前綴和系統(tǒng)中的目錄對應(yīng)起來。
PHP-FIG
1).即PHP Framework Interop Group。這個組織發(fā)布推薦的規(guī)范,而不是強制規(guī)范。
2).PHP-FIG的使命是實現(xiàn)框架的互操作性。框架的互操作性指的是通過自動加載機制、接口和標(biāo)準(zhǔn)的風(fēng)格,讓框架互相合作。
3).框架之間通過接口、自動加載和標(biāo)準(zhǔn)的編碼風(fēng)格進行合作。
1).即PHP推薦標(biāo)準(zhǔn)。這是上面的組織制定的推薦規(guī)范。例如下面的規(guī)范:
PSR-1:基本的代碼風(fēng)格
必須把PHP代碼放在或?>標(biāo)簽中。
編碼字符集必須是UTF-8
一個PHP文件可以定義類或者處理數(shù)據(jù),但是不能同時做這兩件事
遵循自動加載
類命名遵循駝峰式命名
常量大寫
方法名稱使用第一個字母小寫的駝峰式命名
PSR-2:嚴(yán)格的代碼風(fēng)格
貫徹執(zhí)行PSR-1
使用四個空格縮進
使用UNIX風(fēng)格換行符
不能使用關(guān)閉標(biāo)簽
每一行不能超過120個字符
PHP關(guān)鍵字一律小寫
命名空間之后必須跟一個空行
類的定義體起始括號應(yīng)該在類命后新起一行,類的結(jié)束括號也必須新起一行
方法名的括號換行方式和類一直,參數(shù)除了第一個參數(shù)前面要有空格。
必須聲明屬性和方法的可見性
可以使用php code sniffer檢查代碼格式
控制結(jié)構(gòu)關(guān)鍵字后面的起始括號應(yīng)該和控制結(jié)構(gòu)的關(guān)鍵字寫在同一行,結(jié)束括號另起一行。例子如下
isAwake() === true) { do { $gorilla->beatChest(); } while ($libs->isAsleep() === true); $libs->flyAway(); }
PSR-3:日志記錄接口
該規(guī)范不是一系列方針,而是一個接口,規(guī)定了PHP日志記錄器組件可以實現(xiàn)的方法。
PSR-4:自動加載
這個規(guī)范描述了一個標(biāo)準(zhǔn)的自動加載策略。自動加載策略是指在運行時按需查找PHP類、接口或者形狀,并將其載入PHP解析器,支持PSR-4自動加載器標(biāo)準(zhǔn)的PHP組件和框架使用同一個自動加載器就能找到相關(guān)代碼,然后將其載入PHP解釋器。
該規(guī)范的精髓是把命名空間的前綴和系統(tǒng)中的目錄對應(yīng)起來。
自己實現(xiàn)psr-4自動加載器
這樣的話當(dāng)我們使用 FooBarBazQux這個類的時候,使用SPL注冊了上面這個函數(shù)之后,PHP就會嘗試從/path/to/project/src/Baz/Qux.php 加載這個類。
專題系列PHP專題系列目錄地址:https://github.com/xx19941215/webBlog
PHP專題系列預(yù)計寫二十篇左右,主要總結(jié)我們?nèi)粘HP開發(fā)中容易忽略的基礎(chǔ)知識和現(xiàn)代PHP開發(fā)中關(guān)于規(guī)范、部署、優(yōu)化的一些實戰(zhàn)性建議,同時還有對Javascript語言特點的深入研究。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23294.html
摘要:簡單來說,就是我們創(chuàng)建一對密鑰,其中一個是私鑰保存在本地設(shè)備中,另一個是公鑰,傳到你的中,之所以叫做密鑰對,是因為使用公鑰加密的消息只能使用對應(yīng)的私鑰解密。 配置 1).如果你使用的不是Pass,那么先配置VPS或者專用的服務(wù)器才能運行PHP應(yīng)用。本文假設(shè)你會使用vim或者nano編輯器。2).我們選擇nginx服務(wù)器來作為我們的web服務(wù)器。 首次登錄 ssh [email protected]...
平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個網(wǎng)址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經(jīng)典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學(xué)習(xí)使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉(zhuǎn)換...
平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個網(wǎng)址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經(jīng)典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學(xué)習(xí)使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉(zhuǎn)換...
平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個網(wǎng)址:http://www.kancloud.cn/jsfron... 1. Javascript 前端生成好看的二維碼 十大經(jīng)典排序算法(帶動圖演示) 為什么知乎前端圈普遍認為H5游戲和H5展示的JSer 個人整理和封裝的YU.js庫|中文詳細注釋|供新手學(xué)習(xí)使用 擴展JavaScript語法記錄 - 掉坑初期工具 漢字拼音轉(zhuǎn)換...
閱讀 3946·2021-09-29 09:34
閱讀 3806·2021-09-27 13:34
閱讀 601·2021-09-24 09:47
閱讀 3064·2019-08-30 15:53
閱讀 1844·2019-08-26 13:54
閱讀 2110·2019-08-26 13:43
閱讀 575·2019-08-23 14:47
閱讀 1770·2019-08-23 14:28