PHP 註解規則使用方式
/**
* 函數名稱
* 函數描述(有些會含HTML代碼)
*
* @access 變數可存取的權限 (Example: Public or Private)
* @api 爲第三方來源的變數
* @author 函數建立者名稱 (Example: @author Barry <riceooks[at]gmail.com>)
* @category 函數的分類別名,可能某些工具會利用這個來分類你的方法,使好幾個方法歸為某一類,方便做辨識使用
* @copyright 函數的版權宣告 (Example: @copyright 隨手寫有限公司 www.barryblogs.com)
* @deprecated 代表不建議使用的函數,未來可能會移除這個方法使用到的某個變數,或整個方法都被刪除
* @example 代表這個函數使用方式可以參考某個資料,可以使用檔案位置或網址 (Example: @example https://www.barryblogs.com/)
* @filesource 這個函數所需的來源
* @global 函數內有使用的全域變數註解 (Example: @global Number $user_id)
* @ignore 代表這個函數或區域可以被忽略,通常會加上說明
* @internal 代表這個函數或區域可能只給予內部使用
* @license 此函數可能是含有某個版權或許可 (Example: @license http://opensource.org/licenses/gpl-license.php GNU Public License)
* @link 可能與某個網站有關係 (Example: @link https://www.barryblogs.com/)
* @method 函數有使用的方法 (Example: @method Array @this->getCategories() or @method String getUserName())
* @package 利用這個註解來達到細部分層結構 (Example: @package PSR\Documentation\API or @package PSR\Documentation\Doc)
* @param 函數要帶入的參數 (Example: @param String|Number $username)
* @property 如果這是一個類別的函數,在類別建構時通常會指定初始化參數,而這個函數可能會使用到某些初始化後的參數,稱之為屬性 (Example: @property Resource|Boolean $mysql_connect)
* @return 函數最後的回傳值或形態 (Example: @return Array|Object|Boolean)
* @see 函數參照或關聯的方法 (Example: @see Class User or @see <a href="https://www.barryblogs.com/">BarryBlogs</a>)
* @since 函數內某個使用的變數由哪個版本變動 (Example: @since v1.3376a $user_nickname )
* @source 這個比較特別,在函數中可以標示從 m 至 n 行 是做什麼事情 (Example: @source 14 21 Get user data)
* @static 靜態變數的註解 (Example: @static String $lang = 'zh_TW')
* @subpackage 利用這個註解來達到細部分層子結構,通常會同時使用 @package,可以參考上面的@package (Example: @package PSR
* @subpackage Documentation\API)
* @throws 例外處理的註解,有多種例外處理的方式,每種方式都不同 (Example: @throws InvalidArgumentException if the provided argument is not of type 'array'
* @throws Exception other...)
* @todo 計劃要進行的項目描述,一般應該會使用文字描述
* @uses 代表某個元素可能與其它結構有利用關係 (Example: @uses MyClass::$items to retrieve the count from)
* @var 變數(物件成員變數)的形態或描述 (Example: @var Boolean)
* @version 函數的版本 (Example: v1.3258c)
*/
/**
* 使用者類別
* 使用者相關的方法
*/
class User{
/**
* 使用者編號
*
* @access public
* @var Number
*
* @version 1.0
* @author Barry
*/
var $user_id; /**
* 建構子
*
* @param Number $user_id 使用者編號
* @property Number $user_id 使用者編號
*
* @version 1.0
* @author Barry
*/
function __construct($user_id){
$this->user_id = intval($user_id);
} /**
* 取得使用者編號
*
* @return Number|Boolean
*
* @version 1.0
* @author Barry
*/
function getUserID(){
if( !empty($this->user_id) ){
return $this->user_id;
}
return false;
} /**
* 取得分類資料
*
* @ignore Number $parent_id 上層分類編號
* @global Class $model 模型變數
* @see Class Model getCategories() 取得分類資料模型
* @return Array|Boolean
*
* @version 1.0
* @author Barry
*/
function getCategories($parent_id=0){
global $model; $rows = $model->getCategories($parent_id);
if( !empty($rows) ){
return $rows;
} return false;
}
}
PHP 註解規則使用方式的更多相关文章
- [Python學習筆記] 使用xlwings 插入註解 (forked 版本)
到今天為止 xlwings 還沒有插入註解的功能 去原始開發者的 Github Pull Requests 他說之前有人有建議要加入這個功能 但他還沒更新~ 如果需要使用 Python 來插入註解的話 ...
- JavaScript中的與和或的規則
與(&&)的規則是: 第一項的Boolean值為false,則返回第一項的值 第一項的Boolean值為true,則返回第二項的值 簡記:一假返一,一真返二 與:一假為假,全真為真 或 ...
- [Python學習筆記] 利用 Python在Excel 插入註解
用Python 來處理excel 檔 用過了 openpyxl 還有 pyexcel目前覺得除了讀寫如果還要使用另外的功能 (像是讀取格子裡的公式)可以用 xlwings 他的首頁標題 " ...
- react目录结构、demo实例详解、属性数据绑定方式
1.目录结构 2.demo实例详解 a)创建Home.js import React, { Component } from 'react'; //创建一个组件必须要集成Component组件,且组件 ...
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- Spring事务之详解--三种实现方式
实现购买股票案例: 一.引入JAR文件: 二.开始搭建分层架构---创建账户(Account)和股票(Stock)实体类 Account: /* * 账户 */ public class Accoun ...
- ChildNodes详解及其兼容性处理方式
写在前面:在做insertBefore插入节点练习时发现一个问题,插入childNodes[0]和childNodes[1]时插入的位置是一样的!于是有了childNodes的了解,有了这篇文章,欢迎 ...
- 一維條碼編碼規則(1D Barcode)
1.Code 39 條碼:又分 標準型Code 39 條碼(Standard Code 39):資料內容包含有0~9數字,A~Z英文字母,”+”,”-“,”*”,”/”,”%”,”$”,”.”以及sp ...
- 详解JavaScript对象继承方式
一.对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使 Parent 构造函数成为 Children 的方法,然 ...
随机推荐
- 如何获取到一个form中的所有子控件?
使用yield关键字,非常的方便 private static IEnumerable<Control> GetChildren(Control frmRootDock) { if (fr ...
- HDU 6038 - Function | 2017 Multi-University Training Contest 1
/* HDU 6038 - Function [ 置换,构图 ] 题意: 给出两组排列 a[], b[] 问 满足 f(i) = b[f(a[i])] 的 f 的数目 分析: 假设 a[] = {2, ...
- phpstorm快捷键和激活
点击PHP中文网->PHPstorm激活, 按照步骤激活 今天遇到了不能激活的情况, your activation code could not be validated.这个解决方法是把上面 ...
- 小程序开发之后台SSM环境搭建(一)
1.新建web项目 打开eclipse,选择file-->New-->Dynamic web Project ,填写项目名字,一直点击next,勾选Generate web.xml dep ...
- Linux—查看远程Linux系统运行时间
[选择题]在Shell环境下,如何查看远程Linux系统运行了多少时间? A.scp user@被监控主机ip "uptime" B.ssh user@被监控主机ip " ...
- CDQ解决一些三维偏序的问题
本来几天前就该记录的东西,硬生生被我拖到了现在,太懒了... 在cdq学习时,二维偏序已经解决了,无非就是先sort使第一维有序,然后再用cdq或者数据结构处理第二维.而三维偏序的时候呢,大佬的做法好 ...
- webpack打包.vue文件
在webpack中配置.vue组件页面的解析(vue-loader) 结合webpack使用vue-router 在webpack中配置.vue组件页面的解析 1.运行npm i vue -S将vue ...
- State Threads之co-routine的创建和stack的管理
1. 综述 协程库 State Threads Library 是一个基于 setjmp/longjmp 实现的 C 语言版用户线程库或协程库(user level thread). 基本协程例子: ...
- Nginx-rtmp之 ngx_rtmp_send.c 文件分析
1. 简述 1.1 RTMP 消息类型 /* RTMP message types */ #define NGX_RTMP_MSG_CHUNK_SIZE 1 #define NGX_RTMP_MSG_ ...
- [转]基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用
长期以来一直都是做java应用的开发,所使用的开发工具基本上也都是基于java的,经常用的有eclipse, netbeans, ant, maven, cruisecontrol, tomcat, ...