【发布时间】:2012-08-14 06:00:21
【问题描述】:
详情
id=12 的用户尝试打开页面,出现以下错误:
警告:call_user_func() 期望参数 1 为有效回调,未找到函数 '12' 或 E:\thumbsup2\classes\thumbsup.php 第 201 行中的无效函数名
违规行是$user_id = (int) call_user_func(ThumbsUp::config('user_id_callback'));
thumbup.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 或 __get 函数?
-
问题肯定是您使用的是 call_user_func() 并从您的配置中传递了一个 user_id 而不是可调用函数?
-
如何让它成为一个可调用函数?或者是否有另一种方法可以将 user_id 的值传递给 thumbsup.php 对不起,如果这听起来像一个愚蠢的问题。
-
相信我已经找到了解决办法
$user_id = ThumbsUp::config('user_id_callback');
标签: php function callback warnings