rah / rah_runtime
诊断 Textpattern CMS 模板执行时间
Requires
- php: >=5.2.0
- textpattern/installer: *
- textpattern/lock: >=4.5.0,<4.7.0
This package is auto-updated.
Last update: 2024-09-15 12:58:02 UTC
README
主页 | Packagist | Twitter | GitHub | 支持论坛 | 捐赠
Rah_runtime 返回 A 到 B 点的运行时间,以微秒为单位。该插件可用于诊断 Textpattern 标记代码的特定块的运行时间。
基础
<txp:rah_runtime format="1">
...contained statements...
</txp:rah_runtime>
该插件引入了一个新的 Textpattern 标签,<txp:rah_runtime />。该标签计算 Textpattern 模板标记的执行时间,运行时间可以打印到页面模板,并添加到标签跟踪中。
rah_runtime 标签既可以作为容器使用,也可以作为自闭合单标签使用。当标签作为容器使用时,它计算包装代码的运行时间。当作为自闭合单标签使用时,它计算从第一个标签实例到第二个实例的运行时间。
属性
<txp:rah_runtime/> 标签的属性如下。
return
如果设置为 1,则标签将输出运行时间到页面模板。如果为 0,则运行时间仅在站点处于调试模式时添加并可见于页面的 标签跟踪中。默认情况下 return 为 0,运行时间仅添加到标签跟踪中。
示例: return="1" 默认: "0"
format
返回时间格式的版本。当使用时,结果值(浮点数)将呈现为固定的小数。默认情况下使用该选项(1)。
示例: format="0" 默认: "1"
index
使用此属性可以嵌套多个标签对并计算多个独立的运行时间。当使用 <txp:rah_runtime /> 作为自闭合单标签时,index 属性仅适用。
示例: index="articles" 默认: "default"
persistent
如果设置为 1,则运行时间在返回后保持活跃。通常在使用后销毁运行时间对,但使用 persistent 后,初始运行时间将保持并仍然可用。该属性在您想从相同的单个起始点计算多个运行时间时很有用。当使用 <txp:rah_runtime /> 作为自闭合单标签时,persistent 属性仅适用。
示例: persistent="1" 默认: "0"
示例
作为容器使用
作为容器,rah_runtime 计算包装内容的运行时间。
<txp:rah_runtime>
<txp:article_custom />
</txp:rah_runtime>
上述代码将返回包含语句的结果,就像没有使用 rah_runtime 一样,并且包含语句的运行时间将添加到页面的 标签跟踪中。标签跟踪应显示类似以下行
[rah_runtime (default): 0.000010013580322]
作为单标签使用
当 rah_runtime 标签作为单个自闭合标签使用时,运行时间从 <txp:rah_runtime/> 标签实例计算到下一个实例。本质上,运行时间是两个 <txp:rah_runtime/> 标签之间的标记和代码的运行时间。
<txp:rah_runtime />
<!--
Some code here, for example:
<txp:article />
-->
<txp:rah_runtime />
上述代码将返回所有标记,就像没有 rah_runtime 的痕迹一样,运行时将以类似以下方式添加到页面的标签跟踪中:
[rah_runtime (default): 0.000010013580322]
将运行时返回到页面
通常,生成的运行时会被添加到 标签跟踪 中,并且在正常页面内容中不可见。除非 return 属性设置为 1。
<txp:rah_runtime />
Runtime: <txp:rah_runtime return="1" />
运行时将被添加到标签跟踪,上述代码将返回
Runtime: 0.00021401458032
使用多级嵌套标签对
rah_runtime 标签的 index 属性可以用来嵌套和混合多个 <txp:rah_runtime/> 标签和运行时对,这允许计算重叠的运行时。
<txp:rah_runtime index="2" />
<txp:rah_runtime index="1" />
Time1: <txp:rah_runtime index="1" return="1" />
Time2: <txp:rah_runtime index="2" return="1" />
上述代码将返回两个运行时
Time1: 0.000081
Time2: 0.000184
time2 包含 time1 的运行时以及更多。
使用持久化运行时
当需要从相同的起点计算多个运行时,持久化运行时非常有用。
<!-- Starting the runtime timer --><txp:rah_runtime persistent="1" return="1" /><!-- Some code here, for example <txp:article /> ... then output a (first) runtime --><txp:rah_runtime persistent="1" return="1" /><!-- Some more code here, for example <txp:output_form form="myform" />Output runtime, calculated from the same original starting point --><txp:rah_runtime persistent="1" return="1" /><!-- Even some more code. Finally, return the final runtime still calculated from the same original starting point. --><txp:rah_runtime return="1" />
请注意,每个 rah_runtime 标签(除了最后一个)都将 persistent 属性设置为 1。如果没有设置该属性,则运行时对在返回后将被销毁。要最终销毁运行时,请将 persistent 设置为 "0"(零)或将其留为未定义。
变更日志
版本 0.5.0 – 即将推出
- 更新:帮助文件。
版本 0.4 – 2012/07/12
- 新增:
return属性。 - 新增:现在运行时被添加到标签跟踪中。
- 新增:支持容器标签模式。
- 更改:默认情况下,运行时仅在标签跟踪中可见。将
return属性设置为1(return="1")以输出运行时到页面模板。 - 更改:默认
index更改为default。这是为了避免潜在的类型转换副作用。
版本 0.3 – 2011/08/19
- 新增:一个新的属性
persistent。禁用已使用运行时对的销毁。 - 更改:现在将运行时存储在静态变量中而不是全局变量中。
版本 0.2 – 2010/06/18
- 修复:现在以浮点数返回(兼容 pre-PHP5)。感谢您报告,Andreas。
版本 0.1 – 2010/06/15
- 首次发布。