Laravel NotFoundHttpException(RouteCollection->匹配)

时间:2014-05-14 05:46:43

标签: php laravel laravel-routing

我是Laravel的新手并且正在学习教程(https://www.youtube.com/watch?v=Zz_R73eW3OU&list=PL09BB956FCFB5C5FD)。我刚安装了最新版本的Laravel,并且正在完成本教程的开始阶段。到目前为止(安装,创建迁移)我做得很好,但现在我被困在创建新路线的位置。

我在app / controllers中创建了一个控制器:

<?php

class Slots_Controller extends Base_Controller{

    public $restful = true;

    public function get_index(){
        return View::make( 'slots.index' );
    }

}

以及app / views / slots / index.php文件中的极简主义视图

<h1>Slots</h1>

我的app / routes文件如下所示:

Route::get('/', function()
{
    return View::make('hello');
});

Route::get( '/public/slots', array(
    'uses' => 'slots@index'
) );

我在网上搜索了很多东西,这是我到底走了多远: - 我知道理想情况下只有公共目录应该在htdocs中,我将在教程的另一个阶段做这个。截至目前,我的laravel主页位于http://localhost:8888/my_directory.laravel/public/ - 我检查了apache mod-rewrite:它打开了,它适用于codeIgniter - 我已经检查过.htaccess是由laravel提供的(并且由不同帖子提供)

奇怪的是,如果我像这样改变主页的路线:

Route::get('/', function()
{
    return 'hello world';
//  return View::make('hello');
});

没有任何变化,即我仍然得到原始的欢迎页面。我的理解是这个修改应该只输出“hello world”作为主页的html。

所以看来我在routes.php中所做的一切都没有任何效果,好像我正在修改错误的文件或其他东西。

我已经度过了一个阳光明媚的下午的大部分时间,任何帮助都是非常有用的:)

谢谢,

TEPP

1 个答案:

答案 0 :(得分:0)

这里有很多你做错的事情(最好的方法是按照Laravel上的教程):

  1. 在控制器文件中,您提到&#34; Base_Controller&#34;,您确定控制器目录中有这样的文件吗? (根据我的知识,它应该是BaseController)

  2. 没有正确定义Route :: get。定义路线的方法有很多种;但是对于你的情况,它应该是这样的:

    Route :: get(&#39; slots&#39;,array(    &#39;使用&#39; =&GT; &#39; Slots_Controller @ get_index&#39; ));

  3. 希望这有帮助。