【问题标题】:PhpDocumentor strange error: "Only variables should be passed by reference ..."PhpDocumentor 奇怪的错误:“只有变量应该通过引用传递......”
【发布时间】:2012-03-15 19:32:55
【问题描述】:

我正在使用 PhpDocumentor (1.4.4) 和 NetBeans (7.1)。当我生成 php 文档时,我在文档顶部(以及某些地方的文档中)收到错误/警告:

"Strict Standards: Only variables should be passed by reference in ..."

有人知道为什么会出现这个问题吗? 以前(不在此计算机上)我没有收到此消息。

【问题讨论】:

标签: phpdoc


【解决方案1】:

这里的根本原因是phpDocumentor本身如果是PHP4代码。我猜您是在 PHP5 上执行它,因此会根据您在 php.ini 中的错误报告级别看到运行时通知。

这对于使用 phpDocumentor 没有什么可担心的,在您正在记录的源代码中也无需担心。

【讨论】:

  • 我使用的是 php 5.4.16。我可以看到文档,但是由于错误出现在文档中,因此非常烦人。你确定这是因为 php >5 造成的吗?
  • 但是您是否也在使用 OP 中提到的旧 phpDocumentor 1.4.4 版本?或者您使用的是较新的 2.x 版本?如果是后者,那么我的回答将不适用。
  • 我正在使用 php documentor,1.4.4。我在生成的文档中看到它。 , "本文档由 phpDocumentor v1.4.4 生成" 但我的 php 版本是 5.4.16
  • 啊,一个想法——您是否通过浏览器查看您的文档,其中文件由网络服务器提供服务?如果是这样,那么我想知道当您点击页面时,是否是网络服务器正在执行的一些 old 模板代码,这就是可见错误的来源(运行时错误而不是包含在文档本身)。您可以尝试在根 doc 目录中创建一个 .htaccess 文件,在那里将错误报告设置为 0,然后查看是否可以清除它。如果是这样,那就是罪魁祸首。如果没有,那我还是迷路了:)
  • 感谢您的回复。好吧,我实际上编辑了生成的 html 文件,并且错误在文档上。我猜这个问题是因为 php documentor 使用的 php 版本。所以我将 phpdocumentor 更改为 2.2,现在它可以正常工作而不会显示错误。我使用的是 php 5.4.16,所以旧版本中应该有很多被贬低的命令
【解决方案2】:

PHP Documentation 状态:

The following things can be passed by reference:

- Variables, i.e. foo($a)
- New statements, i.e. foo(new foobar())
- References returned from functions

No other expressions should be passed by reference, as the result is undefined.

自 PHP 4.0.4 以来就是这种情况。您的源代码很可能已经过时并且需要更改。

【讨论】:

  • 这不是我的代码:“严格标准:只有变量应该在 C:\xampp\PhpDocumentor-1.4.4\PhpDocumentor-1.4.4\phpDocumentor\Smarty-2.6.0\ 中通过引用传递第 712 行的 libs\Smarty_Compiler.class.php" - 这是完整的消息
  • 好吧,您可以编辑 Smarty_Compiler.class.php 中的第 712 行,这样它就不会通过引用传递,或者您可以将 Smarty 升级到最新的可用版本 (3.1.8) smarty.net
  • 在新版本中,我得到了聪明的异常,所以忘了它。在 Smarty_Compiler.class.php 我怎样才能编辑该行来工作?
  • 我猜问题是_compile_arg_list函数的返回值(它是一个数组)...
【解决方案3】:

终于解决了:

我使用了 smarty 主题 (HTML:Smarty:*) 并且没有错误。

解决了。

【讨论】:

  • 我收到此错误。你能更具体一点吗?我在 netbeans 8.0.2 中使用 smarty 主题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 2017-04-03
相关资源
最近更新 更多