0

为什么我得到一个

Class 'Search_Controller' not found

这样做时:

class Snippets_Controller extends Search_Controller {

public $restful = true;

public function get_index()
{
    $snippets = Snippet::all();
    $categories = Categorie::all();

    return View::make('snippet.index')->with(array(
        'snippets' => $snippets,
        'categories' => $categories,
        'active_categorie' => Session::get('active_categorie_id')
        )
    );
}

搜索控制器:

class Search_Controller extends Base_Controller {

    protected static function build_html_for_search_results($search_results)
    {
...
4

1 回答 1

2

您应该在您的应用程序 start.php 文件夹中自动加载它。如果您打开该文件并搜索“Base_Controller”,您将看到如下内容:

Autoloader::map(array(
    'Base_Controller'       => path('app').'controllers/base.php'
));

您唯一需要做的就是在此处添加搜索控制器:

Autoloader::map(array(
    'Base_Controller'       => path('app').'controllers/base.php',
    'Search_Controller'     => path('app').'controllers/search.php'
));

这应该可以解决问题。

Laravel 根据请求的名称加载控制器,它不会自动加载任何控制器,因为这对 90% 的控制器来说是浪费时间。

于 2013-07-16T14:31:30.387 回答