php - Laravel 4 - 调用未定义的方法 SomeController::getAfterFilters()

标签 php laravel-4

我明白

Call to undefined method ContestsCpController::getAfterFilters()

在特定 Controller 上。所有其他 Controller 都工作正常,我不记得任何会导致此损坏的更改。事实上,我已经好几个星期没有碰过代码了。我做的最后一件事是一些重构。

路线

Route::get("contestscp/home", "ContestsCpController@getHome");

Controller

<?php

class ContestsCpController extends BaseController
{

    public function getHome() {
        return Redirect::to("contestscp/give_award");
    }
...
some other methods
...
}
?>

调试输出

/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @param string $method
* @return mixed
*/
protected function assignAfter($instance, $route, $request, $method)
{
foreach ($instance->getAfterFilters() as $filter) //fails here
{
// If the filter applies, we will add it to the route, since it has already been

Google 和 SO 认为这是当 Controller 未扩展 BaseController 时造成的,但情况显然并非如此。所以我认为由于某种原因我的类(class)没有延长。或者.. 类无法初始化并且 $instance 为 null。但我不知道为什么以及如何调试这个。

有什么建议吗?

最佳答案

我知道这一定是愚蠢的事情......因为它总是如此。

问题出在我的重构上。我曾经将所有验证器扩展在一个文件中。当我将验证器分成不同的文件时,我将 ContestsCpValidator 类错误命名为 ContestsCPController(废话..)。所以我有一个同名的第二个类,显然没有方法。

所以基本上,如果您碰巧遇到此错误并且您确实正在扩展 BaseController,请确保您不会自动加载另一个同名的类。

关于php - Laravel 4 - 调用未定义的方法 SomeController::getAfterFilters(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23984088/

相关文章:

php - 选择不等于关联数组键的多个值的位置

php - 购物车 - 销售税更改后更新总金额 - 无需使用 AJAX 重新加载页面

php - 如何处理有错误的 Beanstalkd 作业

authentication - 传递给 Illuminate\Auth\Guard::login() 的参数 1 必须实现接口(interface) Illuminate\Auth\UserInterface,null 给定打开:

laravel-4 - Laravel 路由 url 参数顺序可变

php - 更新后的Mysql触发器插入到另一个有条件的表中

php - 使用 PHP_EOL 时没有在输出中换行

php - 将信息从 javascript 传递到 php 文件,同时限制用户自己做?

php - Laravel, Dropzone "Trying to get property of non-object"文件上传错误

php - 在 Laravel 中使用 eloquent 创建查询