我是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
答案 0 :(得分:0)
这里有很多你做错的事情(最好的方法是按照Laravel上的教程):
在控制器文件中,您提到&#34; Base_Controller&#34;,您确定控制器目录中有这样的文件吗? (根据我的知识,它应该是BaseController)
没有正确定义Route :: get。定义路线的方法有很多种;但是对于你的情况,它应该是这样的:
Route :: get(&#39; slots&#39;,array( &#39;使用&#39; =&GT; &#39; Slots_Controller @ get_index&#39; ));
希望这有帮助。