0

我知道 laravel 5 还没有发布并且处于开发阶段,但我一直在尝试并了解它是如何工作的。使用 HomeController,我添加了另一种称为联系的方法,当我尝试通过浏览器访问它时,它只显示 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';
    }

}

app/Providers/RouteServiceProviders.php 

这条线

require app_path('Http/routes.php');

被注释掉了。所以我只是取消注释并将其放入我的 routes.php

$router->get('contact', 'HomeController@contact');

它仍然不起作用。

4

2 回答 2

0

感谢 jeffrey way 找到了解决方案

https://laracasts.com/discuss/channels/general-discussion/controller-class-not-found

于 2014-10-28T07:38:50.050 回答
0

你应该把解决方案放在这里,还有一个链接供参考,不仅仅是链接:

来自Laracast 论坛

您需要指定完整路径:

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');
          });
}
于 2014-11-01T11:27:54.913 回答