좋은 코드 작성 습관은 사람들을 행복하게 만들 수 있습니다. 다음 기사에서는 PSR 프로그래밍 표준을 준수하는 PHP 예제 코드를 공유합니다.
머리말
개발 기준에 관해서는 항상 스타일이 매우 달랐다고 할 수 있습니다. 회사마다 플레이 방식이 다르고, 사람들 사이에서는 개인적인 플레이입니다. 현재 국내 유명 프레임워크(Yii, Laravel) 중 일부가 Composer를 지원하고 PHP-FIG(php 프레임워크 프로그램 그룹)에 가입했습니다.
Composer의 자동 로딩은 자동 로딩 메커니즘을 구현하기 위해 PHP-FIG에서 지정한 PSR-0 및 PSR-4 사양을 지원하며 Composer는 PSR-4
PHP-FIG
사용을 권장합니다. 은 자발적이고 비공식적인 조직이지만 현재 우리에게 미치는 영향으로 판단하면 공신력 있는 조직으로 기본 설정되었을 수 있으며 공식 웹사이트에서 투표를 통해 실제로 많은 훌륭한 규범을 공식화했습니다. www.php-fig.org/psr/) 7가지 주요 사양이 통과되었습니다
<?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 디자인 패턴 1 - 네임스페이스, 자동 로딩 클래스, PSR-0 코딩 사양
위 내용은 PSR 프로그래밍 사양을 준수하는 PHP의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!