検索
ホームページphp教程PHP源码利用phpdoc常用标签生成代码说明文档

利用phpdoc常用标签生成代码说明文档

说明如何使用phpdoc常用标签生成代码说明文档

<?php
 
/**
 * 记录用于进行BI数据统计的日志类
 * @author chenjianbin
 * @version 1.0
 */
class Logger {
    // 定义操作类型常量
    /**
     * 首次关注
     */
    const OPT_FIRST_FOCUS = 1;
    /**
     * 取消关注
     */
    const OPT_CANCEL_FOCUS = 2; 
    /**
     *首次绑定手机
     */
    const OPT_FIRST_BIND = 3;   
    /**
     * 取消绑定手机
     */
    const OPT_CANCEL_BIND = 4;  
    /**
     * 发送消息
     */
    const OPT_SEND_MSG = 5; 
    /**
     * 重新关注
     */
    const OPT_REPEAT_FOCUS = 6; 
    /**
     *重新绑定手机
     */
    const OPT_REPEAT_BIND = 7;  
 
    // 定义交互类型常量
    /**
     * 发送文本
     */
    const INTACT_TEXT_MSG = 1;  
    /**
     * 点击菜单
     */
    const INTACT_CLICK_MENU = 2;    
    /**
     * 发送图片
     */
    const INTACT_PIC_MSG = 3;   
    /**
     * 发送视频
     */
    const INTACT_VIDEO_MSG = 4; 
    /**
     * 发送语音
     */
    const INTACT_AUDIO_MSG = 5; 
    /**
     * 发送关键词
     */
    const INTACT_KEYWORD = 6;   
 
    // 定义活动类型常量
    /**
     * 抽奖
     */
    const CAMP_LOTTERY = 1; 
    /**
     * 调研
     */
    const CAMP_SURVEY = 2;  
    /**
     * 晒图
     */
    const CAMP_SHOWPIC = 3; 
    /**
     * 红包
     */
    const CAMP_RED_PACK = 4;    
    /**
     * 转发红包
     */
    const CAMP_TRANS_RED_PACK = 5;  
    /**
     * 刮刮卡
     */
    const CAMP_SCRATCH_CARD = 6;    
    /**
     *拆礼盒
     */
    const CAMP_OPEN_GIFT = 7;   
    /**
     * 预约
     */
    const CAMP_APPOINTMENT = 8; 
    /**
     * 秒杀
     */
    const CAMP_SECKILL = 9; 
    /**
     * 团购
     */
    const CAMP_GROUPON = 10;    
    /**
     * 组团团购
     */
    const CAMP_GROUP_BUY = 11;  
    /**
     * 征集
     */
    const CAMP_COLLECT = 12;    
    /**
     * 兑奖模板
     */
    const CAMP_EXPIRY = 13; 
 
    /**
     * 日志路径
     * @access private
     * @var string
     */
    private $_log_path;
    /**
     * 系统分支
     * @access private
     * @var string
     */
    private $_branch;
    /**
     * 商户id
     * @access private
     * @var int
     */
    private $_merchant_id;
    /**
     * 商户代码
     * @access private
     * @var string
     */
    private $_merchant_code;
    /**
     * 用户id 
     * @access private
     * @var int
     */
    private $_userid;
    /**
     * 用户openid 
     * @access private
     * @var string
     */
    private $_openid;
    /**
     * 用户电话号码
     * @access private
     * @var string
     */
    private $_phone;
    function __construct() {}
 
    /**
     * 设置日志路径
     * @access public
     * @param string $log_path 日志路径
     */
    public function set_log_path($log_path) {
        $this->_log_path = $log_path;
    }
    /**
     * 基本参数设置
     * @access public
     * @param string $branch 分支
     * @param int $merchant_id 商户id
     * @param string $merchant_code 商户代码
     * @param int $userid 用户id
     * @param string $openid 用户openid
     * @param string $phone 手机号码
     */
    public function set_base_params($branch, $merchant_id, $merchant_code, $userid, $openid, $phone) {
        $this->_branch = $branch;
        $this->_merchant_id = $merchant_id;
        $this->_merchant_code = $merchant_code;
        $this->_userid = $userid;
        $this->_openid = $openid;
        $this->_phone = $phone;
    }
 
    /**
     * 用户操作日志   
     * @access public
     * @param string $opt_code 操作代码 
     * @param string $act_code 交互代码
     */
    public function operate($opt_code, $act_code) {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $this->_openid, 
                $this->_phone, 
                $opt_code, 
                $ctime,
                $act_code
                );
 
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;operate&#39;, $line, $date);
    }
 
    /**
     * 用户访问日志
     * @access public
     * @param string $user_type 用户类型 是否粉丝用户 0/1
     * @param int $visit_src 访问来源 1.内部访问;2.外部访问
     * @param string $page_title 页面标题
     * @param string $visit_url 访问url
     */
    public function visit($user_type, $visit_src, $page_title, $visit_url) {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $this->_openid, 
                $phone->_phone, 
                $user_type, 
                $visit_src, 
                $page_title, 
                $visit_url, 
                $ctime
                );
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;visit&#39;, $line, $date);    
    }
 
    /**
     * 活动记录日志 
     * @access public
     * @param string $user_type 用户类型
     * @param int $visit_src 访问来源 1.内部访问;2.外部访问
     * @param string $activity_id 活动id
     * @param string $activity_url 活动url
     * @param string $activity_title 活动标题
     * @param string $activity_type 活动类型
     * @param string $activity_status 活动状态
     * @param string $send_userid 发起分享的用户id
     * @param string $rece_userid 接受分享的用户id
     * @param string $share_num 分享生成的唯一序列号
     */
    public function activity
    (
    $user_type, 
    $visit_src, 
    $activity_id, 
    $activity_url, 
    $activity_title, 
    $activity_type, 
    $activity_status, 
    $send_userid, 
    $rece_userid, 
    $share_num) 
    {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $user_type, 
                $this->_openid, 
                $this->_phone, 
                $visit_src, 
                $activity_id, 
                $activity_url, 
                $activity_title, 
                $activity_type, 
                $activity_status, 
                $send_userid, 
                $rece_userid, 
                $share_num, 
                $ctime
                );
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;activity&#39;, $line, $date);
    }
 
    /**
     * 菜单统计日志
     * @access public 
     * @param string $menu_key 菜单key
     * @param string $menu_name 菜单名称
     * @param string $parent_name 父菜单名称
     */
    public function menu($menu_key, $menu_name, $parent_name) {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $this->_openid, 
                $this->_phone, 
                $menu_key, 
                $menu_name, 
                $parent_name, 
                $ctime
                );
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;menu&#39;, $line, $date); 
    }
 
    /**
     * 关键词统计日志
     * @access public
     * @param string $keyword 关键词
     */
    public function keyword($keyword) {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $this->_openid, 
                $this->_phone, 
                $keyword, 
                $ctime
                );
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;keyword&#39;, $line, $date);      
    }
 
    /**
     * 二维码统计日志 
     * @access public
     * @param int $qrcode_id 二维码id
     * @param string $desc 二维码描述
     * @param int $qrcode_type 二维码类型 1.扫码进入;2.扫码关注
     */
    public function qrcode($qrcode_id, $desc, $qrcode_type) {
        $ctime = date(&#39;YmdHis&#39;);
        $log_arr = array(
                $this->_branch, 
                $this->_merchant_id, 
                $this->_merchant_code, 
                $this->_userid, 
                $this->_openid, 
                $this->_phone, 
                $qrcode_id, 
                $desc, 
                $qrcode_type
                );
        $line = implode(&#39;|&#39;, $log_arr);
        $this->_write_log(&#39;qrcode&#39;, $line, $date);
    }
 
    /**
     * 获取服务器端IP地址
     * @access public
     * @return string
     */
    public function get_server_ip() { 
        if (isset($_SERVER)) { 
            if($_SERVER[&#39;SERVER_ADDR&#39;]) {
                $server_ip = $_SERVER[&#39;SERVER_ADDR&#39;]; 
            } else { 
                $server_ip = $_SERVER[&#39;LOCAL_ADDR&#39;]; 
            }   
        } else { 
            $server_ip = getenv(&#39;SERVER_ADDR&#39;);
        }   
 
        return $server_ip; 
    } 
 
    /**
     * 写日志
     * @access private
     * @param string $log_type 日志类型
     * @param string $line 日志内容
     * @param string $date 日志日期 
     */
    private function _write_log($log_type, $line, $date) {
        $dir = dirname($this->_log_path);
        // 创建目录
        if ( !file_exists($dir) ) {
            mkdir($dir, 0777);
        }
        // 获取服务器ip
        $ip = $this->get_server_ip();
        $filename = "{$this->_log_path}/{$this->_merchant_code}_{$log_type}_{$ip}_{$date}.log";
        @file_put_contents($filename, $line."\n", FILE_APPEND);
    } 
}

2. [文件] doc.tar.gz

利用phpdoc常用标签生成代码说明文档doc.tar.gz


以上就是利用phpdoc常用标签生成代码说明文档的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP 代码文档化之王:PHPDoc 的进阶指南PHP 代码文档化之王:PHPDoc 的进阶指南Mar 02, 2024 am 08:43 AM

引言:PHPDoc是一种用于php代码的注释标准,可生成易于理解且信息丰富的文档。通过使用特定的注释标签,PHPDoc允许开发人员提供有关函数、类、方法和其他代码元素的重要详细信息。这篇进阶指南将深入探讨PHPDoc,展示其功能并提供有效的文档化策略。语法和标签:PHPDoc注释以双斜杠(//)或多行注释(/**/)开头。以下是一些常见的注释标签:@param:定义函数或方法的参数。@return:指定函数或方法的返回值。@throws:说明函数或方法可能引发的异常。@var:定义类的属性或实例

点亮代码之路:使用 PHPDoc 照亮代码库点亮代码之路:使用 PHPDoc 照亮代码库Mar 01, 2024 pm 03:07 PM

作为PHP开发人员,编写清晰、可维护的代码至关重要。代码注释是实现这一目标的关键,而phpDoc作为PHP的文档生成标准,为我们提供了强大而标准化的注释工具。PHPDoc基础PHPDoc注释以/*和/标记包围,并遵循特定的语法:/***函数或类的描述**@param类型$参数名描述*@return类型描述*/函数注释函数注释提供了以下信息:函数描述参数类型和描述返回值类型和描述例如:/***计算两个数的和**@paramint$a第一个数*@paramint$b第二个数*@returnint和*

PHP 文档化的终极指南:PHPDoc 从入门到精通PHP 文档化的终极指南:PHPDoc 从入门到精通Mar 01, 2024 pm 01:16 PM

PHPDoc是一种用于记录php代码的标准化文档注释系统。它允许开发者使用特定格式的注释块向其代码添加描述性信息,从而提高代码的可读性和可维护性。本文将提供一个全面的指南,帮助您从入门到精通PHPDoc。入门要使用PHPDoc,您只需在代码中添加特殊的注释块,通常放置在函数、类或方法之前。这些注释块以/**开始,以*/结束,中间包含描述性信息。/***计算两个数字的和**@paramint$a第一个数字*@paramint$b第二个数字*@returnint两个数字的和*/functionsum

攻克难题:PHP PHPDoc 文档编纂指南攻克难题:PHP PHPDoc 文档编纂指南Mar 01, 2024 am 09:46 AM

PHPDoc是一种标记语言,用于为php代码生成可读的文档。通过编写PHPDoc注释,开发人员可以提供有关函数、类、变量和其他代码元素的信息,以便其他开发人员和IDE轻松理解和使用代码。编纂高质量的PHPDoc文档对于维护和协作式开发至关重要。使用PHPDoc注释PHPDoc注释以斜杠和两个星号开头,如下所示:/***根据给定的ID获取文章**@paramint$id文章ID*@returnArticle|null文章对象或null如果文章不存在*/注释的第一个部分是注释说明,它提供有关代码元素

揭秘 PHPDoc 文档化:提升代码可读性与可维护性揭秘 PHPDoc 文档化:提升代码可读性与可维护性Mar 01, 2024 am 10:10 AM

PHPDoc简介PHPDoc是一种遵循特定格式的代码注释,它允许开发人员在php代码中添加文档注释。这些注释可以通过文档生成工具(如Doxygen、PHPDocumentor)解析,以生成可读的文档、api参考和自动完成建议。文档注释的结构PHPDoc注释遵循特定的格式,包括:起始标记:以/**开头,以*/结尾顶级文档注释:描述类、接口、方法或属性。内联文档注释:描述代码块的特定部分,如参数、返回值或异常。顶级文档注释的组成顶级文档注释包含以下部分:类、接口、方法或属性的简要描述。@param:

解锁 PHPDoc 的力量:自动化文档的神器解锁 PHPDoc 的力量:自动化文档的神器Mar 01, 2024 am 09:28 AM

PHPDoc是一种文档注释标准,用于为php代码生成全面、易于理解的文档。它充当注释的特殊语法,可解析为可读的文档,从而提高代码可读性和可维护性。PHPDoc简介PHPDoc允许开发者使用特殊注释语法,在代码中添加描述性元数据。这些元数据包括:函数、类和属性的描述参数和返回值类型异常信息用法示例PHPDoc注释语法PHPDoc注释使用以/**开始的注释块。此注释块包含特殊标记,用于指定不同的元数据类型。常用PHPDoc标记@param:指定参数的类型和描述@return:指定返回值的类型和描述@

探索 PHPDoc 的世界:提升代码质量与可重用性探索 PHPDoc 的世界:提升代码质量与可重用性Mar 02, 2024 am 08:55 AM

什么是PHPDoc?PHPDoc是一种文档生成工具,允许开发人员使用特定语法在php代码中添加注释。这些注释包含有关函数、类、方法和属性的信息,如参数类型、返回值和描述。为什么使用PHPDoc?使用PHPDoc有许多好处:增强代码可读性:清晰的注释提高了代码的可读性和可维护性。自动生成文档:PHPDoc工具可以自动生成html或其他格式的文档,提供有关代码的详细说明。提高代码质量:通过强制提供参数类型和其他信息,PHPDoc促进了代码质量,减少了错误。促进代码可重用性:良好的注释使代码更易于理解

PHPDoc 专家指南:掌握代码文档化的奥秘PHPDoc 专家指南:掌握代码文档化的奥秘Mar 01, 2024 pm 03:43 PM

简介PHPDoc是一种用于在php代码中添加文档注释的标准化格式。这些注释提供有关类、方法、参数和属性的详细元数据,从而提高代码的可读性和可维护性。基本语法PHPDoc注释以双斜杠(//)开头,后面紧跟注释文本。文本以一个开始标签(如@param),后跟一个空格和标签值。例如:/***求两个数的总和**@paramint$num1第一个数字*@paramint$num2第二个数字*@returnint总和*/functionsum(int$num1,int$num2):int{return$nu

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール