- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在我的 Wordpress 页面上实现某个插件 (dtabs),但在升级到最新版本后,我发现我现在第二次调用名为 dtab_list_tabs() 的主函数时出现错误
。
它的工作方式是,插件获得 include_once'd,但无论您想在布局中放置选项卡多少次,都会调用 main 函数。我对 dtab_list_tabs()
有 2 个这样的调用。
现在的问题是,无论出于何种原因,开发人员决定直接在 dtab_list_tabs()
中包含另一个名为 current_tab()
的函数。因为它是在一个函数内声明的,显然 PHP 会在您第二次调用父函数时尝试重新声明它,这对我来说没有任何意义。
PHP Fatal error: Cannot redeclare current_tab() (previously declared in .../wp-content/plugins/dtabs/dtabs.php:1638) in .../wp-content/plugins/dtabs/dtabs.php on line 1638
该修订版的代码位于 http://plugins.svn.wordpress.org/!svn/bc/208481/dtabs/trunk/dtabs.php
我想弄清楚的是是否有办法告诉 PHP 是的......它有一个内部函数,据我所知这是一个完全有效的 PHP 范例,所以不要t 重新声明它并失败。
至于手头的情况,我已经删除了 current_tab()
,因为它似乎没有被使用。
最佳答案
您可以使用 function_exists()测试是否已经定义了具有该名称的函数。如果您使定义成为条件 ( if(something) { function foo() {...} } ) php 将仅在满足条件时“评估”定义。
function foo() {
if ( !function_exists('bar') ) {
function bar() {
echo 'bar ';
}
}
bar();
}
foo();
foo();
另请参阅:http://docs.php.net/functions.user-defined
(但我会尽量避免这些事情一起发生)
关于php - 在 PHP 的函数内定义函数时,有没有办法避免 "redeclared function" fatal error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304938/
function test($str) { $c = count($str); if ($c>1) { foreach ($str as $key => $value) $result
function test($str) { $c = count($str); if ($c>1) { foreach ($str as $key => $value) $result
诚然,我的 OOPHP 有点不稳定,但我看不出这有什么问题。在我的一个 Controller 中,我包含了一个 utils 表,它与 Controller 一样,扩展了基本的 CI_Controlle
是否可以声明一个成员是基类成员的子类? 例如 class A { int a; } class B : A { int b; } class Foo { A *baz; } cl
#include int x=13; // forcing space allocation int x; int main(){ printf("%d\n",x); } 上面的代码可以编译,但下
VIM Syntastic 插件适用于 .go 文件。但有时我想在同一个文件夹中有几个 go 文件,每个文件都有 main() 方法,这样我就可以 go run xxx 每个文件(用于演示)。这将在我
我今天将 wordpress 更新为 Newest 时遇到了这个 fatal error 。我使用 Barely Corporate 主题。 第 126 行是代码的最后一行。有没有人知道这是什么?该主
我有以下代码,但是当我运行我的工厂时出现以下异常: Cannot redeclare questionIndex() (previously declared in /Users/user/Deskt
我正在使用 PHP,并且有一个常量声明表列详细信息。 我目前 $sql = "CREATE TABLE ' . $table_name . ' ' . TABLE_COLUMNS; 并 odbc 执行
我是 C++ 的新手,遇到了这段代码: 文件.h namespace Type { typedef BOOL (WINAPI *TYCopyFile) ( PCHAR lpExis
我正在尝试创建自己的“智能迭代器”,并且我想使用 SFINAE 来根据迭代器的标签来设置一些运算符: 这是我的代码: template class RangeFilterIterator { publ
我正在尝试创建一个程序,该程序接收整数值并使用 atoi 将它们转换为 2 的补码整数,并确定进行了哪种类型的转弯。这是我的代码: #include #include int turn(int t
在文件范围内,我可以使用初始化(静态)变量的前向声明。存在循环依赖。 s[0]指的是count的地址。 count 是指 s 中的项目数。 struct s { int *a; }; static i
这个问题在这里已经有了答案: "Fatal error: Cannot redeclare " (18 个答案) 关闭 4 年前。 (使用 MySQL 编写 PHP) Fatal error: Ca
Clang 接受这段代码,但 GCC 拒绝它: class Foo { public: static constexpr double kVal = 0.25f; }; const double
#include #include double integrateF(double low, double high) { double low = 0; double high
我有以下表格: user, logbook, user_logbook 用户日志是一个联结表(schema.xml 中的isCrossRef="true"),包含user_id 和logbook_id
我正在开发一个基于 TinyBoard (xampp) 的简单图像板,当我尝试发布图像时,网站出于某种原因给我错误: Fatal error: Cannot redeclare imagecreate
我刚刚完成我的应用程序并且它运行良好,但是在按文件 -> 复制后突然,我收到一条消息说 Invalid redeclaration of 'ViewController' 如果可以的话,请帮帮我好吗?
这个问题在这里已经有了答案: "Fatal error: Cannot redeclare " (18 个答案) 关闭 3 年前。 我有这个 php 脚本: function hoeveelzijn
我是一名优秀的程序员,十分优秀!