关于在非对象上调用成员函数domain()

时间:2015-04-21 07:49:34

标签: php laravel laravel-5

我对Laravel 5有疑问。使用Form::open后,会出现一些错误:

error : Call to a member function domain() on a non-object

FatalErrorException in UrlGenerator.php line 440:
Call to a member function domain() on a non-object
in UrlGenerator.php line 440
at HandleExceptions->fatalExceptionFromError(array('type' => '1', 'message' => 'Call to a member function domain() on a non-object', 'file' => '/home/nl/Laravel/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php', 'line' => '440')) in HandleExceptions.php line 116
at HandleExceptions->handleShutdown()

这是我的LoginCheckController.php:

<?php namespace App\Http\Controllers;

class LoginCheckController extends BaseController {

    public function index()

这是我的路线:

Route::post('/LoginCheck', 'LoginCheckController@index');

在视图中我有这个:

{!! Form::open(array('action' => 'LoginCheckController@index')) !!}

我还运行了composer dump-autoloadphp artisan clear-compiled,但我仍然遇到错误。我忘记了什么吗?

我解决了它:

  1. 重新安装具有清晰版本的作曲家
  2. php artisan make:带手动的控制器

2 个答案:

答案 0 :(得分:0)

尝试在操作中包含命名空间:

{!! Form::open(array('action' => 'App\Http\Controllers\LoginCheckController@index')) !!}

http://laravel.io/forum/10-03-2014-laravel-5-call-to-a-member-function-domain-on-a-non-object

答案 1 :(得分:0)

首先更新您的laravel框架包,查看您正在运行的行。

其次,在Laravel 5中,所有内容都存在于App命名空间中,您的控制器位于App\Http\Controllers\中。路由正在工作,因为它在RouteServiceProvider

中设置了名称空间

尝试在使用action时在模板中添加命名空间,或使用这样的命名路由:

Route::post('/LoginCheck', ['uses' => 'LoginCheckController@index', 'as' => 'login.check.index']);

{!! Form::open(['route' => 'login.check.index']) !!}