> 백엔드 개발 > PHP 튜토리얼 > PSR 프로그래밍 사양을 준수하는 PHP의 예

PSR 프로그래밍 사양을 준수하는 PHP의 예

墨辰丷
풀어 주다: 2023-03-28 10:36:01
원래의
1423명이 탐색했습니다.

좋은 코드 작성 습관은 사람들을 행복하게 만들 수 있습니다. 다음 기사에서는 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가지 주요 사양이 통과되었습니다


PSR-0 자동 로딩 사양 (주로 php5.3 이전에는 네임스페이스가 없었기 때문에 공식적으로 폐기되었습니다)
  1. PSR-1 코딩 사양
  2. PSR-2 코딩 스타일 추천
  3. PSR-3 로그 인터페이스
  4. PSR-4 개선된 자동 로딩 사양 (공식 추천, 사양이 더 간결하고 명확해짐)
  5. PSR- 6 캐시 인터페이스
  6. PSR-7 HTTP 메시지 인터페이스
Example


<?php
namespace Standard; // 顶部命名空间
// 空一行
use Test\TestClass;//use引入类

/**
 * 类描述
 *
 * 类名必须大写开头驼峰.
 */
abstract class StandardExample // {}必须换行
{
  /**
  * 常量描述.
  *
  * @var string
  */
 const THIS_IS_A_CONST = &#39;&#39;; // 常量全部大写下划线分割

 /**
  * 属性描述.
  *
  * @var string
  */
 public $nameTest = &#39;&#39;; // 属性名称建议开头小写驼峰
            // 成员属性必须添加public(不能省略), private, protected修饰符

 /**
  * 属性描述.
  *
  * @var string
  */
 private $_privateNameTest = &#39;&#39;; // 类私有成员属性,【个人建议】下划线小写开头驼峰

 /**
  * 构造函数.
  *
  * 构造函数描述
  *
  * @param string $value 形参名称/描述
  */
 public function __construct($value = &#39;&#39;)// 成员方法必须添加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 = &#39;&#39;)// 成员方法必须小写开头驼峰
 {
   // code...
 }

 /**
  * 成员方法名称.
  *
  * 成员方法描述
  *
  * @param string $value 形参名称/描述
  *
  * @return 返回值类型    返回值描述
  */
 private function _privateTestFunction($value = &#39;&#39;)// 私有成员方法【个人建议】下划线小写开头驼峰
 {
   // code...
 }

 /**
  * 成员方法名称.
  *
  * 成员方法描述
  *
  * @param string $value 形参名称/描述
  *
  * @return 返回值类型    返回值描述
  */
 public static function staticFunction($value = &#39;&#39;)// static位于修饰符之后
 {
  // code...
 }

 /**
  * 成员方法名称.
  *
  * 成员方法描述
  *
  * @param string $value 形参名称/描述
  *
  * @return 返回值类型    返回值描述
  */
 abstract public function abstractFunction($value = &#39;&#39;); // abstract位于修饰符之前

 /**
  * 成员方法名称.
  *
  * 成员方法描述
  *
  * @param string $value 形参名称/描述
  *
  * @return 返回值类型    返回值描述
  */
 final public function finalFunction($value = &#39;&#39;)// 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  = &#39;&#39;, // 变量命名可小写开头驼峰或者下划线命名,个人那习惯,据说下划线可读性好
  $valueTwo  = &#39;&#39;,
  $valueThree = &#39;&#39;,
  $valueFour = &#39;&#39;,
  $valueFive = &#39;&#39;,
  $valueSix  = &#39;&#39;)// 参数过多换行
 {
  if ($valueOne === $valueTwo) {// 控制结构=>后加空格,同{一行,(右边和)左边不加空格
   // code...
  }

  switch ($valueThree) {
   case &#39;value&#39;:
    // 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 코딩 사양


PHP 사양 PSR 사양


PHP 객체 지향 PSR-0 사양 상세 설명


위 내용은 PSR 프로그래밍 사양을 준수하는 PHP의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿