- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我收到这个错误:
call_user_func_array() expects parameter 1 to be a valid callback, class 'Symfony\Component\HttpFoundation\LaravelRequest' does not have a method 'url'
我使用的代码是:
路由.php:
<?php
Route::post('', 'app@check');
Route::get('', 'app@check');
Route::post('game', 'app@game');
Route::get('game', 'app@game');
Route::get('terminos', 'app@terminos');
Route::post('save', 'scores@savescore');
Route::get('scores', 'scores@scorelist');
Route::get('scores2468', 'scores@showscores');
Event::listen('404', function()
{
//return Response::error('404');
echo "Error 404: \n";
echo Request::url();
});
Event::listen('500', function()
{
return Response::error('500');
});
Route::filter('before', function()
{
// Do stuff before every request to your application...
});
Route::filter('after', function($response)
{
// Do stuff after every request to your application...
});
Route::filter('csrf', function()
{
if (Request::forged()) return Response::error('500');
});
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::to('login');
});
分数.php:
class Scores_Controller extends Base_Controller {
public $restful = true;
public function get_showscores()
{
// Imprimo pantalla con tabla de resultados
$regs = array('regs' => Score::order_by('score','desc')->get());
//dd($regs);
return View::make('score.show', $regs);
}
public function post_savescore()
{
// Tomo FacebookSDK instance
$facebook = IoC::resolve('facebook-sdk');
$accessToken = $facebook->getAccessToken();
$user = $facebook->getUser();
$user_profile = $facebook->api('/me');
if ($user) {
// Logueado
$data = Input::all();
// Guardo un nuevo score
$score = Score::create(array(
'nombre' => $user_profile['name'],
'score' => $data['score'],
'fbid' => $user_profile['id']
));
return json_encode($score->attributes);
}else{
// No hay sesion
return false;
}
}
public function get_scorelist(){
$facebook = IoC::resolve('facebook-sdk');
$scores = Score::order_by('score','desc')->take(10)->get();
$response = array();
foreach($scores as $sc){
$ua = $facebook->api('http://www.facebook.com/'.$sc->attributes['fbid']);
$dat = array(
//'name' => $user->name,
'nombre' => $sc->attributes['nombre'],
'uid' => $sc->attributes['fbid'],
'score' => $sc->attributes['score']
);
array_push($response, $dat);
}
return json_encode($response);
}
}
正如您可能已经注意到的那样,这是 Facebook 应用程序的一部分。问题是,当我尝试调用“保存”路由时,我收到了之前发布的错误。
完整的错误描述,包括。回溯:
Unhandled Exception
Message:
call_user_func_array() expects parameter 1 to be a valid callback, class 'Symfony\Component\HttpFoundation\LaravelRequest' does not have a method 'url'
Location:
/www/conamor/htdocs/apps/aventuracenter/pacman/laravel/request.php on line 287
Stack Trace:
#0 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/laravel.php(42): Laravel\Error::native(2, 'call_user_func_...', '/www/conamor/ht...', 287)
#1 [internal function]: Laravel\{closure}(2, 'call_user_func_...', '/www/conamor/ht...', 287, Array)
#2 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/request.php(287): call_user_func_array(Array, Array)
#3 /www/conamor/htdocs/apps/aventuracenter/pacman/application/routes.php(63): Laravel\Request::__callStatic('url', Array)
#4 /www/conamor/htdocs/apps/aventuracenter/pacman/application/routes.php(63): Laravel\Request::url()
#5 [internal function]: {closure}()
#6 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/event.php(199): call_user_func_array(Object(Closure), Array)
#7 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/event.php(124): Laravel\Event::fire('404', Array)
#8 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/laravel.php(109): Laravel\Event::first('404')
#9 [internal function]: Laravel\{closure}('save')
#10 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/routing/route.php(163): call_user_func_array(Object(Closure), Array)
#11 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/routing/route.php(124): Laravel\Routing\Route->response()
#12 /www/conamor/htdocs/apps/aventuracenter/pacman/laravel/laravel.php(167): Laravel\Routing\Route->call()
#13 /www/conamor/htdocs/apps/aventuracenter/pacman/public/index.php(34): require('/www/conamor/ht...')
#14 {main}
有什么想法吗?提前致谢!
最佳答案
根据您的堆栈跟踪,Laravel 触发了 404 事件。这意味着,您的事件处理程序会抛出错误。此外,call_user_func' 提示您的处理程序中缺少函数
url()`。所以在我看来,这个电话
echo Request::url();
是万恶之源。将其删除并检查是否仍然出现错误。
关于php - Laravel - call_user_func_array() 期望参数 1 是一个有效的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17981075/
第一次尝试处理这个 call_user_func_array,但有些东西不起作用,因为我没有收到函数的响应,我会遗漏什么? function _a_($id, $text) {
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
在组合数组时遇到了一些问题......这可行: $un[0] = array("0:0:0"); //$un[1] = array("1:1:1"); $flat = call
当函数包含引用参数时,下面的函数会产生错误,例如: function test(&$arg, &$arg2) { // some code } 现在我不能对上面的函数使用call_user_fun
我正在使用 mysqli 和准备好的语句为我的数据库编写一个简单的搜索引擎,我目前正在使用 call_user_func_array 来动态创建我的查询。我的问题是:使用 mysqli 是否有更快或更
我在 stack 上阅读了其他答案关于使用 call_user_func_array 与仅调用函数有关,但我仍然无法收集何时应该使用前者。我知道当您不知道传递了多少个参数时,您可能想使用 call_u
本周早些时候我看到了一段代码(不幸的是,我无法检索),我很好奇作者是如何实现 __call() 魔法方法的。代码如下所示: class Sample { protected function
我目前正在构建一个数据库处理程序。在 Firebird 数据库之上运行 PHP 5.4.16。 当我创建了准备好的语句后,我需要使用参数执行 SQL。我做了这个功能: private function
这个问题在这里已经有了答案: How to call the constructor with call_user_func_array in PHP (1 个回答) 关闭7年前。 我已经搜索了许多
这个问题在这里已经有了答案: How to call the constructor with call_user_func_array in PHP (1 个回答) 关闭7年前。 我已经搜索了许多
我使用的是 PHP 5.4.25。采取以下代码: 'John', 'last_name'=>'Doe']); call_user_func_array('fails', ['first_name'=>
这个问题已经有答案了: Sort array using array_multisort() with dynamic number of arguments/parameters/rules/dat
目前我正在使用: call_user_func( $func, $_POST['a'],$_POST['b'],$_POST['c'],$_POST['d'],$_POST['
我正在构建一个模板系统,但遇到了动态调用函数的问题。 当我尝试以下操作时: $args = array( 4, 'test' => 'hello', 'hi' ); 你知道..
PHP 的 call_user_func_array 在 Python 中是否有等效项? ? 最佳答案 以*开头的数组调用函数: function(*array) 关于Python 中的 PHP ca
我今天遇到了一个有趣的问题。我们有一个利用 Zend Frameworks 缓存功能的应用程序。对此应用程序的请求通常使用以下行调用工厂方法 $result = call_user_func_arr
这个问题在这里已经有了答案: Build SELECT query with dynamic number of LIKE conditions as a mysqli prepared state
我有一个方法,简化后看起来像这样: class Foo { public function bar($id) { // do stuff using $this, error occ
如何记录 call_user_func_array 中发生的 fatal error ?它位于作为守护进程运行的 CLI 脚本中。我想在发生错误时记录日志,但它总是抛回错误消息。 我尝试过但无法实现的
当使用 call_user_func_array() 我想通过引用传递一个参数。我该怎么做。例如 function toBeCalled( &$parameter ) { //...Do So
我是一名优秀的程序员,十分优秀!