Home >php教程 >php手册 >PHP comment syntax specifications and naming conventions

PHP comment syntax specifications and naming conventions

WBOY
WBOYOriginal
2016-05-16 09:00:253049browse

comments are very important in the process of writing code. good comments can make your code easier to read. when writing code, you must pay attention to the specifications of comments. here, the editor of script house will sort it out for you. friends in need can refer to it.

hp comment specification

comments are very important in the process of writing code , good comments can make your code easier to read. be sure to pay attention to the specifications of comments when writing code.

“php is an extremely easy language to get started with. a novice who has just started may be able to use echo to print out a hello world in less than a few minutes! but is he a real programmer? how? how to define a programmer? if you want to truly become a programmer, you must follow a set of program writing specifications."

we often write some functions, but these functions may only be understood by ourselves. even after a while, i no longer recognize what i wrote, so what should i do? the best way is of course to add comments to your code.

we may be familiar with many comment writing methods, such as c pear php comments, etc., but the ones we mainly use are # and /**/.

# is a short comment method. maybe you will use it to annotate a variable or call a method. /**/we may still use it to comment out a large section of code, but how to use it to comment out a function in a standard way?

/**
* @name 名字
* @abstract 申明变量/类/方法
* @access 指明这个变量、类、函数/方法的存取权限
* @author 函数作者的名字和邮箱地址
* @category 组织packages
* @copyright 指明版权信息
* @const 指明常量
* @deprecate 指明不推荐或者是废弃的信息
* @example 示例
* @exclude 指明当前的注释将不进行分析,不出现在文挡中
* @final 指明这是一个最终的类、方法、属性,禁止派生、修改。
* @global 指明在此函数中引用的全局变量
* @include 指明包含的文件的信息
* @link 定义在线连接
* @module 定义归属的模块信息
* @modulegroup 定义归属的模块组
* @package 定义归属的包的信息
* @param 定义函数或者方法的参数信息
* @return 定义函数或者方法的返回信息
* @see 定义需要参考的函数、变量,并加入相应的超级连接。
* @since 指明该api函数或者方法是从哪个版本开始引入的
* @static 指明变量、类、函数是静态的。
* @throws 指明此函数可能抛出的错误异常,极其发生的情况
* @todo 指明应该改进或没有实现的地方
* @var 定义说明变量/属性。
* @version 定义版本信息
*/

the information in the comments is very comprehensive, and there may be a lot of it that we don’t use. the red parts are the ones we often use.

example: several common comment methods in php:

1. file comments, introducing the file name, function, author version number and other information

/**
* 文件名简单介绍
* 
* 文件功能
* @author 作者
* @version 版本号
* @date 2020-02-02
*/

file header template

/** 
*这是一个什么文件 
* 
*此文件程序用来做什么的(详细说明,可选。)。 
* @author   richard<e421083458@163.com> 
* @version   $id$ 
* @since    1.0 
*/

2. class comments, class name and introduction

/**
* 类的介绍
* 
* 类的详细介绍(可选)
* @author 作者
* @version 版本号
* @date 2020-02-02
*/
/** 
* 类的介绍 
* 
* 类的详细介绍(可选。)。 
* @author     richard<e421083458@163.com> 
* @since     1.0 
*/ 
class test  
{ 
}

3. function comments, function function, parameter introduction and return type

/**
* 函数的含义说明
* 
* @access public 
* @author 作者
* @param mixed $arg1 参数一的说明 
* @param mixed $arg2 参数二的说明
* @return array 返回类型
* @date 2020-02-02
*/

function header comments

/** 
* some_func 
* 函数的含义说明 
* 
* @access public 
* @param mixed $arg1 参数一的说明 
* @param mixed $arg2 参数二的说明 
* @param mixed $mixed 这是一个混合类型 
* @since 1.0 
* @return array 
*/ 
public function thisisfunction($string, $integer, $mixed) {return array();}

program code comments

1. comments the principle is to explain the problem clearly, not more is better.

2. several statements serve as a logical code block, and the comments of this block can use the /* */ method.

3. for comments specific to a certain statement, you can use the end-of-line comment: //.

/* 生成配置文件、数据文件。*/ 
 
$this->setConfig(); 
$this->createConfigFile(); //创建配置文件 
$this->clearCache();     // 清除缓存文件 
$this->createDataFiles();  // 生成数据文件 
$this->prepareProxys(); 
$this->restart();

php naming convention

1 .directories and files

directories use lowercase underscores
class libraries and function files are all suffixed with .php
the file names of classes are all defined in namespaces, and the paths of the namespaces and the path of the class library file is consistent
class files are named using camel case (the first letter is capitalized), and other files are named with lowercase underscores
the class name and class file name are consistent, and uniformly use camel case (the first letter is capitalized)

2. functions and classes, attribute naming

classes are named using camel case (the first letter is capitalized), such as user, usertype, and no suffix is ​​required by default. for example, usercontroller should be directly named user
functions are named using lowercase letters and underscores (starting with a lowercase letter) for example, the name of the get_client_ip
method uses camel case (the first letter is lowercase), such as getusername (if the method has a return value, it is currently customary to use the first letter of the attribute type in lowercase, such as s (string), i (int), f (float), b (boolean), a (array), etc.)
the naming of attributes uses camel case (the first letter is lowercase), such as tablename, instance (it is currently customary to use lowercase for the first letter) attribute types, such as s (string), i (int), f (float), b (boolean), a (array), etc.)
functions or methods starting with double underscore "__" are used as magic methods, for example __call and __autoload

3. constants and configurations

constant names are named with uppercase letters and underscores, such as app_path and think_path
configuration parameters are named with lowercase letters and underscores, for example url_route_on and url_convert

4. data table box fields

data tables and fields are named in lowercase and underlined, and be careful not to start the field name with an underscore, such as the think_user table and user_name field. it is not recommended to use camel case and chinese as data table field names.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn