ThinkPHP里面是不是不能用内部函数?
PHPz
PHPz 2017-04-11 09:09:30
[PHP讨论组]
function toShow()
{
   function show()
   {
       ;
   }
   show();
}

会导致:

:(
Cannot redeclare CommonObjectshow() (previously declared in
C:wampwwwCCDCCommonObjectWorkFlow.class.php:163)

好像是只要在一次请求中,有多次调用toShow方法就会出现这种情况。是thinkphp3.2版本。

PHPz
PHPz

学习是最好的投资!

全部回复(2)
迷茫

php不能(在同一命名空间里)重复定义同名函数,和tp无关。

想做函数里的“内部”函数,用匿名函数吧。

PHPz

可以考虑把函数封装在数组内.

$func = array(
    'foo' => function($arg){return $arg;},
    'bar' => function($arg){return $arg;}
);
echo call_user_func_array($func['foo'], array('php'));
echo call_user_func_array($func['bar'], array('best'));
//输出 phpbest
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号