如何读取PHP中的注释块?

2023-12-21

我正在做一些自制的自动化文档,因为我有一个布局不是很标准的代码库,我想知道最好的方法是读取 PHP 文件并获取注释块的内容。我能想到的唯一方法是打开文件并逐行读取它,但我认为也许有一些内置的魔法可以为我解析文档,类似于反射函数。

每个文件的基本布局是这样的:

<?php // $Id$
/**
 * Here is this script's documentation, with information in pseudo-javadoc
 * type tags and whatnot.
 *
 * @attr    something    some information about something
 * @attr    etc          etc etc
 */
 // rest of the code goes here.

请务必注意,这些文件中没有定义任何函数或类。这些评论与整个脚本有关。


查看分词器 http://www.php.net/manual/en/book.tokenizer.php.

获取名为的文件中的所有评论test.php你会这样做:

$tokens = token_get_all(file_get_contents("test.php"));
$comments = array();
foreach($tokens as $token) {
    if($token[0] == T_COMMENT || $token[0] == T_DOC_COMMENT) {
        $comments[] = $token[1];
    }
}
print_r($comments);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何读取PHP中的注释块? 的相关文章

  • PDO语法错误

    我在一个项目中使用 PDO 但提交时出现语法错误 这是我的代码
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • Type.GetInterface 和嵌套类型

    我刚刚发现 Type GetInterface 和嵌套类型有一个非常奇怪的行为 以下示例代码将显示问题 我使用接口的 Type FullName 来检查给定类型是否派生自该接口 public interface IStandardInter
  • 如何从脚本中创建新的 Joomla 用户帐户?

    我们正在为 Joomla 创建一个 XML API 允许合作伙伴网站在我们的网站上为其用户创建新帐户 我们已经创建了一个独立的 PHP 脚本来处理和验证 API 请求 但现在我们需要实际创建新帐户 我们最初只想进行 CURL 调用来提交注册
  • 检查字符串是否是哈希值

    我正在使用 SHA 512 来散列我的密码 当然还有盐 我认为我想要的不可能 但无论如何我们还是要问一下 有没有办法检查字符串是否已经是 SHA 512 或其他算法 哈希值 当用户登录时 我想检查他的密码 如果它仍然是纯文本 则应将其转换为
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 付款成功后保存到数据库(paypal)

    我试图找出在客户使用 paypal 支付商品费用后将数据 之前以表单提交 保存到数据库的最佳方法 沿着这个过程的一些事情 1 在实际网站上填写表格 gt 2 登录 Paypal gt 3 立即付款 PayPal gt 4 数据已插入数据库
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email

随机推荐

  • 无法在 XCode 中为 UILabel 设置自定义字体

    我无法在 XCode 中为 UILabel 设置自定义字体 这是我尝试过的 下载 JennaSue 字体 http www dafont com jenna sue font http www dafont com jenna sue fo
  • 在 Flutter 中显示 SnackBar

    我想显示一个simple SnackBar颤振内部的有状态小部件 我的应用程序创建了新实例MaterialApp有一个名为的有状态小部件MyHomePage 我尝试展示SnackBar in showSnackBar 方法 但它失败了The
  • ADFS 2012 R2 是否支持 Auth2 资源所有者密码凭据流程

    我想确认ADFS支持oAuth 2 0完全支持所有流量oAuth 2 0 i e 三足oAuth 2 足 oAuth 隐式流 我问这个是因为我尝试使用资源所有者密码流 2 legged Oauth 这是我的代码 using HttpClie
  • 删除数据网格行 (WPF)

    应用程序的主窗口有数据网格 它是从数据库填充的 从数据表绑定数据网格 数据网格有 3 列
  • AWS Code Commit Slack 集成 - 显示作者和提交详细信息

    我刚刚设置了 AWS codecommit 的 Slack 集成 我只收到存储库名称和分支 另外我还想知道是谁做出了这个提交和提交消息 我确实尝试设置输入变压器规则 现在它显示了 Amazon EventBridge 中的两个角色 我在下面
  • jQuery UI 可排序在 iPAD 中不起作用

    我正在使用 jquery UI 可排序功能 这在浏览器中运行良好 但在 iPAD 等触摸设备中 它不起作用 下面是我正在使用的代码
  • 如何设置JTable中特定单元格的值?

    我只是想知道如何update specific cell in JTable 就像我想将单元格 1 1 设置为具有值Test Value 我的代码是这样的 但对我不起作用 String s Test Value tableName setV
  • 在 Blackberry 10 应用程序中禁用网络安全会产生什么影响?

    In 另一个问题 https stackoverflow com q 17419494 527559处理 blackberry10 中拒绝跨源 XHR 调用的错误 建议通过禁用网络安全来解决该问题 但禁用网络安全到底意味着什么 如果我使用这
  • 快速合并 AAsset-视频数组

    我想合并 AVAsset arrayVideos成一个视频并将其保存在相机胶卷中 Raywenderlich com 有一个很棒的tutorial https www raywenderlich com 94404 play record
  • Java 应用程序在用户闲置 10 分钟后导致屏幕显示无响应

    我编写了一个 Java 应用程序 允许用户编写鼠标 键盘输入脚本 JMacro http jmacro org 链接不重要 仅供好奇 我个人使用该应用程序在夜间睡觉时自动执行在线游戏中的角色动作 不幸的是 我早上总是回到电脑前 发现它没有反
  • Google 地图 iOS API 密钥不起作用

    我有一个简单的 iOS 应用程序 我正在其中集成 Google 地图 但是 当显示我的地图视图时 我提供的 API 密钥会导致出现以下几条错误消息 ClientParametersRequest failed 3 attempts rema
  • 在C++中设置本地环境变量

    如何在 C 中设置环境变量 他们不需要保留过去的程序执行 它们只需要在当前进程中可见 偏好与平台无关 但对于我的问题 只需要在 Win32 64 上工作 Thanks NAME putenv change or add an environ
  • 将多行合并为一行,多对多

    使用 SQL Server 我有以下表格 数据 CUS 访问 Cus ID Cus Vis ID 1 01 1 02 2 01 and CUS EVENT Cus Event ID Cus ID Cus Vis ID 001 1 01 00
  • 将巨大的 40000 页 pdf 拆分为单页,itextsharp,内存不足异常

    我收到了包含大量数据的巨大 PDF 文件 目前的 PDF 大小为 350 MB 大约有 40000 页 当然 如果能得到更小的 PDF 就好了 但这就是我现在必须处理的 我可以在 acrobat reader 中打开它 加载时会有一些延迟
  • jQuery 和伪元素

    我尝试动态更改 CSS 中定义的元素的位置 after 使用这个 function div after css top 20px 但这不起作用 有什么方法可以改变位置吗 你不能 内容创建者 after or before不是 DOM 的一部
  • 如何使用 docker-compose 而不是使用 docker 桥从 docker 容器连接到 localhost:9092

    我正在我的上运行 Kafka 服务器本地机器在端口 9092 上 我正在运行一项服务使用 docker compose 的 docker 容器需要向kafka服务器发送消息 我尝试使用 localhost 和 IP 在服务代码中编写我的生产
  • 如何生成表示 rrule 对象的人类可读字符串?

    我的应用程序允许用户定义对象的调度 并将它们存储为 rrule 我需要列出这些对象并显示类似 每日下午 4 30 的内容 有什么可用的东西可以 漂亮地格式化 rrule 实例吗 您只需提供一个 str 方法 每当需要将对象呈现为字符串时就会
  • SQLite 返回日期超过一周的记录

    我正在为图书库制作一个程序 在 sqlite 数据库中有一个图书表 其中包括该书上次取出的日期 我需要一个查询来显示过期的书籍 到目前为止我的代码如下 def findOverdueBooks event findRecords c exe
  • NuxtJS分布式静态页面生成

    有没有办法将静态页面生成过程拆分到多台机器上 我目前正在使用 NuxtJS 静态生成约 150k 页面 生成这些页面需要相当长的时间 约 1 小时 如果您已经在使用有效负载密钥 https nuxtjs org docs configura
  • 如何读取PHP中的注释块?

    我正在做一些自制的自动化文档 因为我有一个布局不是很标准的代码库 我想知道最好的方法是读取 PHP 文件并获取注释块的内容 我能想到的唯一方法是打开文件并逐行读取它 但我认为也许有一些内置的魔法可以为我解析文档 类似于反射函数 每个文件的基