2016-12-01 146 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