好的程式碼書寫習慣可以讓人賞心悅目,下面這篇文章就給大家分享了PHP符合PSR程式設計規範的實例程式碼,有需要的朋友們可以參考借鑒,下面來一起看看吧。
前言
關於開發標準這塊,可以說一直都是風格迥異,各家都有各家的玩法,民間更是個人玩個人的。目前我們國內比較有名的幾個框架(Yii,Laravel) 都已經支援Composer並且加入了PHP-FIG(php框架程式組)。
其中Composer的自動載入就支援PHP-FIG指定的PSR-0 和PSR-4 規範來實作自動載入機制,而Composer建議使用PSR-4
#PHP-FIG
這是一個自願非正式的機構,但是就目前對我們的影響來看,可能都已經默認為一個公信組織了,的的確確制定了不少非常好的規範
目前從官網看,已經投票( http://www.php-fig.org/psr/ )通過的有7個大的規格了
PSR-0 自動載入規格( 官方已廢棄,主要是php5.3以前沒有命名空間)
PSR-1 編碼規格
PSR-2 編碼風格推薦
PSR-3 日誌介面
#PSR-4 改進的自動載入規格(官方推薦,規格更簡潔調理清晰了)
PSR-6 快取介面
PSR-7 HTTP訊息介面
實例
##
<?php namespace Standard; // 顶部命名空间 // 空一行 use Test\TestClass;//use引入类 /** * 类描述 * * 类名必须大写开头驼峰. */ abstract class StandardExample // {}必须换行 { /** * 常量描述. * * @var string */ const THIS_IS_A_CONST = ''; // 常量全部大写下划线分割 /** * 属性描述. * * @var string */ public $nameTest = ''; // 属性名称建议开头小写驼峰 // 成员属性必须添加public(不能省略), private, protected修饰符 /** * 属性描述. * * @var string */ private $_privateNameTest = ''; // 类私有成员属性,【个人建议】下划线小写开头驼峰 /** * 构造函数. * * 构造函数描述 * * @param string $value 形参名称/描述 */ public function __construct($value = '')// 成员方法必须添加public(不能省略), private, protected修饰符 {// {}必须换行 $this->nameTest = new TestClass(); // 链式操作 $this->nameTest->functionOne() ->functionTwo() ->functionThree(); // 一段代码逻辑执行完毕 换行 // code... } /** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @return 返回值类型 返回值描述 * 返回值类型:string,array,object,mixed(多种,不确定的),void(无返回值) */ public function testFunction($value = '')// 成员方法必须小写开头驼峰 { // code... } /** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @return 返回值类型 返回值描述 */ private function _privateTestFunction($value = '')// 私有成员方法【个人建议】下划线小写开头驼峰 { // code... } /** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @return 返回值类型 返回值描述 */ public static function staticFunction($value = '')// static位于修饰符之后 { // code... } /** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @return 返回值类型 返回值描述 */ abstract public function abstractFunction($value = ''); // abstract位于修饰符之前 /** * 成员方法名称. * * 成员方法描述 * * @param string $value 形参名称/描述 * * @return 返回值类型 返回值描述 */ final public function finalFunction($value = '')// final位于修饰符之前 { // code... } /** * 成员方法名称. * * 成员方法描述 * * @param string $valueOne 形参名称/描述 * @param string $valueTwo 形参名称/描述 * @param string $valueThree 形参名称/描述 * @param string $valueFour 形参名称/描述 * @param string $valueFive 形参名称/描述 * @param string $valueSix 形参名称/描述 * * @return 返回值类型 返回值描述 */ public function tooLangFunction( $valueOne = '', // 变量命名可小写开头驼峰或者下划线命名,个人那习惯,据说下划线可读性好 $valueTwo = '', $valueThree = '', $valueFour = '', $valueFive = '', $valueSix = '')// 参数过多换行 { if ($valueOne === $valueTwo) {// 控制结构=>后加空格,同{一行,(右边和)左边不加空格 // code... } switch ($valueThree) { case 'value': // code... break; default: // code... break; } do { // code... } while ($valueFour <= 10); while ($valueFive <= 10) { // code... } for ($i=0; $i < $valueSix; $i++) { // code... } } }
#PHP物件導向PSR-0規格詳解
############
以上是PHP符合PSR程式設計規範的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!