一、概述php
<?php
或者 <?=
標籤。StudyCaps
。camelCase
。二、文件html
PHP代碼必須使用長標籤<?php ?>
或者輸出-短標籤<?= ?>
。不能使用其餘變異標籤。ide
PHP代碼必須僅容許使用去除BOM的UTF-8編碼。函數
包括但不限於如下形式:生成輸出,直接使用 require 或者 include ,鏈接外部服務,修改ini配置,產生錯誤或者異常,修改全局或靜態變量,直接讀寫文件等等。ui
如下是一個雙重定義的反作用實例:編碼
<?php // side effect: 修改ini配置 ini_set('error_reporting', E_ALL); // side effect: 加載一個文件 include "file.php"; // side effect: 直接輸出 echo "<html>\n"; // 定義 function foo() { // 函數體 }
如下是一個正確的定義方式:spa
<?php // 定義 function foo() { // function body } // 條件式定義 if (! function_exists('bar')) { function bar() { // function body } }
三、命名空間和類名code
命名空間和類都必須緊隨「自動加載」PSR:[PSR-0, PSR-4]htm
這就意味着,每一個類都必須定義在一個獨立的文件中,而且命名空間至少一個層級:頂級名稱。接口
類名必須以該種形式:StudyCaps
。
PHP 5.3 以上的版本必須使用正式的命名空間。例如:
<?php // PHP 5.3 and later: namespace Vendor\Model; class Foo { }
PHP 5.2.* 或者以前的版本,應當使用僞命名空間慣例,類名須要以 Vendor_
做爲前綴。例如:
<?php // PHP 5.2.x and earlier: class Vendor_Model_Foo { }
四、類中的常量、屬性和方法
「類」是指全部的類、接口、traits。
類中的常量必須使用大寫字母或下劃線來定義。例如:
<?php namespace Vendor\Model; class Foo { const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01'; }
形如:$StudyCaps
$camelCase
$under_score
方法名必須定義爲:camelCase()