Thumbsup:为什么将$ user_id解释为函数?
问题描述:
详细
用户与id=12
试图打开一个网页,会出现以下错误:
警告:call_user_func()预计参数1是一个有效的回调,功能'12'
未找到或无效的函数名在E:\ thumbsup2 \类\ thumbsup.php上线201
有问题的行是$user_id = (int) call_user_func(ThumbsUp::config('user_id_callback'));
umbsup.php
public static function get_user_id()
{
// Cache
static $user_id = FALSE;
// This code only needs to be executed once per request
if ($user_id !== FALSE)
return $user_id;
// The callback config is left empty
if (! ThumbsUp::config('user_id_callback'))
return $user_id = NULL;
// Load the user id
$user_id = (int) call_user_func(ThumbsUp::config('user_id_callback'));//<<-- line 201
// Set user id to NULL if not found
return ($user_id) ? $user_id : $user_id = NULL;
}
在config.php
'user_id_callback' => $userz_id, // <<-- $userz_id is 12
质询
我怎么能回到12为$ USER_ID?为什么12被解释为一个函数?
答
你不需要的call_user_func方法都没有。它看起来像你正在做的是从配置文件加载你的用户ID,它看起来不像你做任何修改它,所以应该工作。
$user_id = ThumbsUp::config('user_id_callback');
答
因为 call_user_func(::配置( 'user_id_callback')) 和user_id_callback为12
该类或它的任何父母是否具有__call或__get函数? – 2012-08-14 06:01:52
肯定问题是你正在使用call_user_func()并从你的配置中传递一个user_id而不是一个可调用的函数? – martynthewolf 2012-08-14 06:14:42
我该如何去做一个可调用函数?或者还有另一种方法可以将user_id的值传递给thumbsup.php对不起,如果这听起来像一个愚蠢的问题。 – TryHarder 2012-08-14 06:24:08