我已经离PHP大约2年了,现在我又被迫再次使用它了。现在,我正在尝试使用laravel作为框架。但是,我陷入了它的路由方法。
我在route.php
中设置了这个:
Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));
这是我的控制器,名为catalogs.php
:
<?php
class Catalogs_Controller extends Base_Controller {
public $restful = true;
public function get_latest()
{
return "wohoooooo!";
}
}
存储在localhost
和我的laravel应用程序中的/Users/ariefbayu/Sites/
个文件存储在/Users/ariefbayu/Sites/ecatalog/
在这个目录中,我info.php
确认我的路径设置是否正常,但确实如此。
但是,当我导航到http://localhost/ecatalog/public/index.php/ecatalogs
时,它总是返回404错误。我知道这是基本的,但是,我不知道为什么这不起作用。
仅供参考,我正在使用mamp服务器并将所有源文件设置为777
的访问权限,以测试它是否是权限问题。
答案 0 :(得分:1)
您指定要在控制器ecatalogs
内调用“最新”操作,但实际上您的控制器名为catalogs
。将您的使用参数更改为catalogs@latest
(或重命名文件和类)。
答案 1 :(得分:1)
Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));
注意ecatalogs@latest
指针。这告诉Laravel在get_latest()
上调用Ecatalog_Controller
方法。
这是你的控制器Catalogs_Controller
和功能get_latest()
。您需要使用以下方式调用get_latest()
:
Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'catalogs@latest'));