首页 >php教程 >php手册 >PHP编程风格规范分享_php基础

PHP编程风格规范分享_php基础

WBOY
WBOY原创
2016-05-16 08:59:542978浏览

Nota: Spesifikasi ini disusun oleh EasyChen berdasarkan "Spesifikasi Pembangunan C++" Jabatan Pembangunan Aplikasi Rangkaian SINA, "Spesifikasi Pembangunan PHP4" Jabatan Teknologi Interaktif, dan spesifikasi phpDocument. Saya fikir ia sangat baik dan sesuai untuk pembangunan PHP Ia adalah rujukan untuk semua orang.

Konvensyen Penamaan Bab 1

1.1 Pembolehubah

1.1.1 Pembolehubah global

Pembolehubah global bermula dengan $g_, seperti $g_data_list.

1.1.2 Pembolehubah umum

Secara amnya, pembolehubah dinamakan dengan huruf kecil dan perkataan dipisahkan dengan garis bawah.

Nama pembolehubah hendaklah menggunakan kata nama atau kata adjektif + kata nama. Seperti $value, $new_value.

1.1.3 Pembolehubah sementara

Jangan gunakan pembolehubah sementara seperti $i, $j, dsb. yang kerap digunakan dalam gelung untuk tujuan lain.

1.2 Fungsi

Fungsi dinamakan dengan huruf kecil dan perkataan dipisahkan dengan garis bawah.

Adalah disyorkan untuk menggunakan kata kerja + kata nama apabila menamakan fungsi, seperti get_user_img.

Fungsi yang melengkapkan set fungsi diletakkan dalam fail, dan fail yang menyimpan fungsi dinamakan function_name.func.php.

Kelas 1.3

Kelas

menggunakan huruf besar bahasa Inggeris untuk memisahkan perkataan, termasuk perkataan pertama, dan huruf pertama semua perkataan menggunakan huruf besar, seperti

;

Dalam kelas, letakkan kaedah sebelum definisi atribut dan kaedah awam sebelum kaedah khas;

Secara amnya, kelas sepadan dengan fail;

Apabila sesetengah kelas berkait rapat, mereka boleh disimpan dalam satu fail;

Fail yang menyimpan kelas dinamakan ClassName.class.php.

1.4 Kaedah

Kaedah

menggunakan huruf besar bahasa Inggeris untuk memisahkan perkataan Kecuali untuk perkataan pertama, huruf pertama perkataan lain adalah dengan huruf besar, seperti getCurrentPage();

Jangan gunakan singkatan yang tidak biasa, seperti where2go();

Apabila menggunakan singkatan yang biasa digunakan, hanya gunakan huruf besar huruf pertama, seperti getHtml().

Peraturan Format Bab 2

2.1 Pemisahan Semantik

Barisan kosong hendaklah digunakan antara setiap fungsi dan kaedah;

Pemisahan baris tidak diperlukan antara pernyataan yang berkait rapat dalam fungsi yang sama diperlukan dalam kes lain.

2.2 Peraturan ruang

2.2.1 Ruang mesti ditambah sebelum dan selepas operator logik

Betul



Salin kod

Kod adalah seperti berikut:$a == $b; > Ralat
Salin kod

Kod adalah seperti berikut:

Betul



Salin kod

Kod adalah seperti berikut:

$a--; 🎜> Ralat
Salin kod

Kod adalah seperti berikut:

$a ++; >

Catatan: Operator tambah dan tolak tidak boleh menambah ruang. 2.2.2 Ruang mesti ditambah apabila memisahkan berbilang parameterBetul
Salin kod

Kodnya adalah seperti berikut:

$g_pro , $g_user , g_show; 🎜>get_db_info ($host, $user, $passwd);

Ralat Salin kod

Kod adalah seperti berikut:

$g_pro,$g_user,$g_show; get_db_info($host,$user,$passwd);

2.2.3 Ruang mesti ditambah selepas kata kunci sintaks Contohnya: Jika, untuk, sementara, tukar…..Betul

Salin kod

Kod adalah seperti berikut:

untuk ($i = 0; $i < 10 ; $i++ )


Ralat

Salin kod Kod adalah seperti berikut:
untuk($i = 0; $i < 10 ; $i++ )

2.3 Peraturan sambungan rentetan dan pembolehubah

Apabila rentetan dan pembolehubah disambungkan menggunakan tanda '.', ruang mesti ditambah sebelum dan selepas '.', dan apabila tanda "{} " mesti ditambah sebelum dan selepas pembolehubah.

Betul

Salin kod
Kodnya adalah seperti berikut:

$my_name = 'file_' ;
$my_name = "file_{$var1}";

错误

复制代码 代码如下:

$my_name = "file_'.$var1; 
$my_name = "file_$var1";

2.4 圆括号规则
函数名后括号不需要加空格、语法关键字后的括号必须加空格。
正确

复制代码 代码如下:
for ($i = 0; $i < 10; $i++) 
strlen($my_name);

错误

复制代码 代码如下:
for($i = 0; $i < 10; $i++ ) 
strlen ($my_name);

2.5 花括号规则
花括号必须为上下对应。

正确

复制代码 代码如下:

if ($a) 
 { 
    $b = $a; 
 }

错误

复制代码 代码如下:

if ($a){ 
     $b = $a; 
 }

2.6 数组定义规则

数组定义和使用时中key值前后必须加单引号。
PHP 代码:
正确

复制代码 代码如下:

array( 'name'   => '', 'gender'  => '' );  
$user_info['name'];

错误

复制代码 代码如下:

array( name => '', gender    => '' );  
$user_info[name];

2.7 SQL规则

在PHP中嵌入的SQL语句关键字全部采用大写;
表名和字段名要用反引号(`)引起来以防止因为字段名中包含空格而出现错误;
数据值两边用单引号''包括,并且应确保数据值中的单引号已经转义以防止SQL注入。

正确

复制代码 代码如下:
$sql = "SELECT `user`.`name` FROM `user` WHERE `id` = '$id' LIMIT 1";

错误

复制代码 代码如下:
$sql = "select name.user from name where id = $id ";

第3章 注释规则

3.1 一般规则
不写不必要的注释;只有当代码不能很好地说明逻辑时,才用注释补充;
把注释看成程序的一部分,在编写/维护代码时同时编写/维护注释;
注释完全采用PHPDocumentor的规范,以方便用其生成API级文档。

3.2 详细规则
请参见PHPDocumentor手册。下边给出各个部分的注释示范。

3.2.1 版权信息
注释名称 版权信息
注释示范:

复制代码 代码如下:

//
// +----------------------------------------------------+
// | phpDocumentor |
// +----------------------------------------------------+
// | Copyright (c) 2000-2003 Joshua Eichorn |
// | Email jeichorn@phpdoc.org |
// | Web http://www.phpdoc.org |
// +----------------------------------------------------+
// | This source file is subject to PHP License |
// +----------------------------------------------------+
//

Nota: gunakan // untuk menandakan maklumat hak cipta untuk mengelakkan konflik dengan DocBlock peringkat halaman PHPDocumentor

3.2.2 Contoh ulasan pengepala fail

Komen pengepala fail nama ulasan
Demonstrasi Komen :

Kod PHP:

Salin kod Kod adalah seperti berikut:

/**
* Semua perwakilan abstrak teg sebaris terdapat dalam fail ini
* @package phpDocumentor
* @subpackage InlineTags
* @sejak fail berasingan sejak versi 1.2
* @versi $Id $
*/

Catatan
1) Komen pengepala fail perlu menunjukkan pakej dan subpakej yang dimilikinya
2) Tambahkan $ID pada @versi untuk memudahkan pengurusan fail menggunakan CVS.

3.2.3 Contoh anotasi kelas
nama anotasi Anotasi kelas
contoh anotasi:

Kod PHP:

Salin kod Kod adalah seperti berikut:

/**
* Gunakan elemen ini untuk mewakili {@}teg sebaris} seperti {@}pautan}
* @lihat parserStringWithInlineTags
* @package phpDocumentor
* @subpackage InlineTags
* @pengarang Greg Beaver
* @sejak 1.0rc1
* @versi $Revision: 1.21.2.6 $
* @tutorial inlinetags.pkg
*/


3.2.4 Contoh Anotasi Atribut Kelas
Anotasi Atribut Kelas Nama Anotasi
Demonstrasi Anotasi:
Kod PHP:

Salin kod Kod adalah seperti berikut:

/**
* Jenis elemen
*
* Jenis digunakan oleh banyak fungsi untuk melangkau kerumitan
*
*
* jika get_class($blah) == ' parserBlah'
*
* sentiasa "inlinetag"
* @var string
*/
var $type = 'inlinetag';

3.2.5 Contoh anotasi fungsi/kaedah kelas
Nama anotasi Fungsi/anotasi kaedah kelas
Contoh anotasi:
Kod PHP:

Salin kod Kod adalah seperti berikut:

/**
* @kembali rentetan sentiasa ''
* kira penerangan ringkas DocBlock
* @lihat parserStringWithInlineTags::getString()
* @lihat parserStringWithInlineTags::trimmedStrlen()
*/
fungsi getString()
{
kembalikan '';
}
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn