훌륭한 프로그래머가 되려면 좋은 코딩 표준이 매우 중요합니다. 그렇다면 어떻게 좋은 코드를 작성할 수 있을까요? 이 기사에서는 몇 가지 PHP 코딩 표준과 제안 사항을 제공합니다.
PHP 코드 파일은
<?php //开头 // 不结尾
PHP 코드 파일은 BOM 없이 UTF-8로 인코딩되어야 합니다. ㅋㅋㅋ
PHP 코드에는 클래스만 정의되어야 합니다. ( 특성)/함수/상수/부작용을 생성하는 기타 작업(예: 파일 출력 생성 및 .ini 구성 파일 수정 등)에서는 하나만 선택할 수 있습니다.例sublime, setting增加,"show_encoding" : true
例,sublime "word_wrap": "true", "wrap_width": 80,
例,sublime "tab_size": 4,
例, a.php class A { } b.php function demo() { } c.php define('A', value); d.php ini_set('some_vars', value);
class StudlyCaps { } trait StudlyCaps { } Interface StudlyCaps { }
define('FOO_BAR', 'something more'); const FOO_BAR = value;
class StudlyCaps { public function studlyCaps() { // coding... } }
function snake_case() { // coding... }
class StudlyCaps { private function _studlyCaps() { // coding... } }
class StudlyCaps { public function doSomething() { // coding... } }
각 네임스페이스 선언 블록과 사용 선언 블록 뒤에는 빈 줄을 삽입해야 합니다.
class StudlyCaps { public function doSomething() { $someVariable = 'demo'; // coding... } }
여는 중괄호 "{"는 함수 선언 뒤 한 줄에 써야 하고, 닫는 중괄호 "}"도 함수 본문 뒤에 한 줄에 써야 합니다.
class StudlyCaps { public function doSomething($variableOne, $variableTwo) { // coding... } }
메서드/함수의 여는 중괄호 {는 함수 선언 뒤의 한 줄에 작성해야 하며, 닫는 중괄호 }도 함수 본문 뒤의 한 줄에 작성해야 합니다.
$a = $b + $c; $a = $b . $c;
클래스의 속성과 메서드에는 액세스 수정자(private, protected, public)를 추가해야 하며 abstract 및 final은 액세스 수정자 앞에 선언해야 하며 static은 액세스 수정자 뒤에 선언해야 합니다.
namespace Standard; // 空一行 use Test\TestClass;//use引入类 // 空一行
제어 구조의 키워드 뒤에는 공백이 있어야 하지만, 메서드나 함수를 호출할 때는 공백이 있어서는 안 됩니다.
class StudlyCaps { }
제어구조체의 여는 중괄호 {는 선언문과 같은 줄에 써야 하고, 닫는 중괄호 }는 본문 다음 한 줄에 써야 합니다.
class StudlyCaps { public function studlyCaps() { // coding... } } function snake_case() { // coding... }
제어 구조의 여는 왼쪽 괄호 뒤와 닫는 오른쪽 괄호 앞에는 공백이 없어야 합니다.
abstract class StudlyCaps { abstract public function studlyCaps(); final public static function studlyCapsOne() { } }
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... } $demo = new Demo() $demo->doSomething(); do_something();</p> <ul class=" list-paddingleft-2"> <li><p></p></li>및 기타 제어 구조 조건이 너무 긴 경우</ul> <p></p> <pre class="brush:php;toolbar:false">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... }
if ($valueOne === $valueTwo) {// 控制结构(右边和)左边不加空格 // code... }
// heredoc语法 $sql = <<<SQL SELECT delivery_id FROM d_test WHERE delivery_id IN (123,234) GROUP BY delivery_id HAVING SUM(send_number) <= 0; SQL;
if ($a > 0 && $b > 0 && $c > 0 && $d > 0 && $e > 0) { }
문자열에 변수가 없습니다, 작은따옴표
문자열에 변수가 있습니다, 큰따옴표
public function tooLangFunction( $valueOne = '', $valueTwo = '', $valueThree = '', $valueFour = '', $valueFive = '', $valueSix = '') { //coding... }
$this->nameTest->functionOne() ->functionTwo() ->functionThree();
$a = [ 'aaa' => 'aaa', 'bbb' => 'bbb' ];
try...catch를 사용하세요...
$str = 'str'; $arg = "$str";
/** * 类描述 * * desc */ class StandardExample { /** * 常量描述. * * @var string */ const THIS_IS_A_CONST = ''; /** * 属性描述. * * @var string */ public $nameTest = ''; /** * 构造函数. * * 构造函数描述 * @author name <email> * @param string $value 形参名称/描述 * @return 返回值类型 返回值描述 * 返回值类型:string,array,object,mixed(多种,不确定的),void(无返回值) */ public function __construct($value = '') { // coding... }
사용
// +---------------------------------------------------------------------- // | Company Name xx服务 // +---------------------------------------------------------------------- // | Copyright (c) 2017 http://domain All rights reserved. // +---------------------------------------------------------------------- // | Author: name <email> // +----------------------------------------------------------------------
以上内容就给新手程序员的一些编写代码的规范及建议,希望能帮助到大家。
相关推荐:
위 내용은 초보자를 위한 PHP 코딩 표준 및 제안의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!