我知道laravel 5尚未出现并处于开发阶段,但我一直在玩它以尝试了解它是如何工作的。使用HomeController,我添加了另一个名为contact的方法,当我尝试通过浏览器访问它时,它只显示404页面。我究竟做错了什么?默认情况下,路由被禁用,所有内容都通过控制器传递。
http://domain.com/home/contact
<?php namespace App\Http\Controllers;
use Illuminate\Routing\Controller;
class HomeController extends Controller
{
public function index()
{
$data = array(
'fname' => 'sarmen',
'lname' => 'b'
);
return view('pages.home')->with('data', $data);
}
public function contact()
{
return 'contact us';
}
}
in
app/Providers/RouteServiceProviders.php
这一行
require app_path('Http/routes.php');
被注释掉了。所以我只是取消注释并将其放入我的routes.php
$router->get('contact', 'HomeController@contact');
它仍然无法正常工作。
答案 0 :(得分:0)
通过jeffrey方式找到解决方案
https://laracasts.com/discuss/channels/general-discussion/controller-class-not-found
答案 1 :(得分:0)
您应该在此处提供解决方案,并提供参考链接,而不仅仅是链接:
您需要指定完整路径:
App\Http\Controllers\HomeController
要么是这样,要么在RouteServiceProvider部分添加一个名称空间,你需要routes.php - 就像这样:
public function map(Router $router) {
$router->group(['namespace' => $this->rootUrlNamespace],
function() use ($router) {
require app_path('Http/routes.php');
});
}