2016-12-01 108 views
1

我是laravel的新手,我尝试将视图中的值发布到控制器。但我没能获得通过,因为我得到错误说 FatalErrorException in routes.php line 26: Class 'registration' not found提交表格时未找到控制器类laravel 5.1

routes.php文件

Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::get('/register', function(){ 
return view('register'); 
}); 

Route::post('/register_action', function() 
{ 
    $values = registration::store(); 
}); 

控制器

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use App\model\registration as register_model 

class registration extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index() 
    { 
     // 
    } 

    /** 
    * Store a newly created resource in storage. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @return \Illuminate\Http\Response 
    */ 
    public function store() 
    { 
     echo 'hello'; 
     register_model::saveFormData(); 
    } 
} 

查看

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Registration</title> 
</head> 
<body> 
    {!! Form::open(array('url' => 'register_action')) !!} 
     <p>Name : {!! Form::text('name') !!}</p> 
     <p>Email : {!! Form::text('email') !!}</p> 
     <p>Password : {!! Form::password('password') !!}</p> 
     <p>Confirm Password : {!! Form::password('cpassword') !!}</p> 
     <p>{!! Form::submit('Submit') !!}</p> 
    {!! Form::close() !!} 
</body> 
</html> 

请帮我解决问题并获取控制器中的发布值。由于

+1

请不要使用这样的闭包。将它发送给控制器,并从那里开始工作。顺便说一句,你在上一个命名空间中忘了';'。 – GabMic

+1

你应该大写你班级的名字。 –

回答

3

不能使用控制器这样的:

$values = registration::store(); 

使用需要在你的路线改变。

Route::post('/register_action', '[email protected]'); 
1

如果你需要调用路由控制器方法(这是一个坏主意),你可以添加一个使用声明

use App\Http\Controllers\registration;

但它仍然会给你一个错误,因为你是静态调用非静态方法,所以你最好的选择将是@Alexey Mezenin answer