Php:没有 "Cannot redeclare class"时如何解析 "previously declared"

标签 php

我想测试 phpDocumentor-alpha,有一个问题有些人似乎没有:

# sudo pear uninstall phpdoc/phpDocumentor-alpha
uninstall ok: channel://pear.phpdoc.org/phpDocumentor-2.0.0a6
olivier@olivier-ubuntu ~/Documents/pizzas/dev # phpdoc --help
bash: /usr/bin/phpdoc: Aucun fichier ou dossier de ce type
# 
# sudo pear install --alldeps -f phpdoc/phpDocumentor-alpha
downloading phpDocumentor-2.0.0a6.tgz ...
Starting to download phpDocumentor-2.0.0a6.tgz (1,107,853 bytes)
..................................done: 1,107,853 bytes
install ok: channel://pear.phpdoc.org/phpDocumentor-2.0.0a6
# phpdoc --help
PHP Fatal error:  Cannot redeclare class phpDocumentor\Plugin\Core\Listener in /usr/share/php/phpDocumentor/src/phpDocumentor/Plugin/Core/Listener.php on line 194

Fatal error: Cannot redeclare class phpDocumentor\Plugin\Core\Listener in /usr/share/php/phpDocumentor/src/phpDocumentor/Plugin/Core/Listener.php on line 194
# 

好的,我可以通过以下方式避免这个问题:

if ( !class_exists('MTIHelperEstadosLocal') ) {...}

但这只是一个丑陋的解决方法。我想知道是否有办法知道声明在哪里(= 哪个包含或其他什么)。

有什么想法吗?

最佳答案

这是一个简单的解决方案:

print_r(get_declared_classes());

关于Php:没有 "Cannot redeclare class"时如何解析 "previously declared",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186348/

相关文章:

javascript - wp_enqueue_script - 渲染页面源代码中的文件路径丢失 "/"

php - 命名 MySQL 表列

php - 如何更改定期付款交易的信用卡号码?

php - jQuery 数据表 MySQL 日期到 PHP 日期

java - 比较两个音频文件。声音匹配

php - 使用 ssh2_fetch_stream 进行远程尾随

javascript - 与 Google plus 分享并获得成功或失败的回应

php - 如何在wordpress中的the_content()上实现网格系统

php - 多查询 PHP 问题

php - 用php动态添加内容到div