2015-04-29 8 views
5

Привет им тестирование люменов новый Laravel микро-frameword и когда я пытаюсь получить ввод из им веб-службы получаю эту ошибкуLaravel класс Просвет Input не найден

Fatal error: Class 'App\Http\Controllers\Input' not found in C:\wamp\www\lumen\app\Http\Controllers\WsController.php 

вот мой код:

<?php namespace App\Http\Controllers; 

class WsController extends Controller { 

public function addUser() 
    { 
     $user = new Models\User; 
     $user->email = Input::get('email');; 
     $user->password = strtoupper(md5(Input::get('password'))); 
     $user->first_name = Input::get('first_name'); 
     $user->last_name = Input::get('last_name'); 
     if($user->save()){ 
      return Models\User::all(); 
     } 
    } 
} 
+0

ли вы раскомментируете '' withFacades' в bootstrap.php'? –

+0

Можете ли вы попробовать попробовать сразу после своего пространства имен, используйте App \ Http \ Controllers \ Input; –

ответ

7

Решение # 1

Раскоментируйте $app->withFacades(); в bootstrap/app.php, чтобы позволить вам использовать Фасад в контроллере.

<?php 

namespace App\Http\Controllers; 

use Input; 

class WsController extends Controller 
{ 

    public function addUser(Request $request) 
    { 
     $user = new Models\User; 
     $user->email = Input::get('email'); 
     $user->password = strtoupper(md5(Input::get('password'))); 
     $user->first_name = Input::get('first_name'); 
     $user->last_name = Input::get('last_name'); 
     if($user->save()) { 
      return Models\User::all(); 
     } 
    } 
} 

Решение # 2 (личные предпочтения)

инъекция Использования зависимостей для инъекции Illuminate\Http\Request класса в свои методы.

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class WsController extends Controller 
{ 

    public function addUser(Request $request) 
    { 
     $user = new Models\User; 
     $user->email = $request->input('email');; 
     $user->password = strtoupper(md5($request->input('password'))); 
     $user->first_name = $request->input('first_name'); 
     $user->last_name = $request->input('last_name'); 

     if($user->save()) { 
      return Models\User::all(); 
     } 
    } 
} 
+0

thx @ N.B. он работал :) – karmous

+0

Как добавить '$ request' в метод' GET'? – Volatil3

+1

@ Volatil3 - он работает одинаково для всех HTTP-глаголов. –

-1
<?php namespace App\Http\Controllers; 

    use Illuminate\Support\Facades\Request as Request; 

    class WsController extends Controller { 

    public function addUser() 
    {   
      //creating a new user object from User model class 
      $user = new Models\User; 
      //getting the email value from the email input like Input::get('email'); 
      $user->email = Request::input('email'); 
      //same as above happen with the rest of the lines 
      $user->password = strtoupper(md5(Request::input('password'))); 
      $user->first_name = Request::input('first_name'); 
      $user->last_name = Request::input('last_name'); 
      //User model has a save() method, so is calling if return true the if block will be executed 
      if($user->save()){ 
      return Models\User::all(); 
      } 
     } 

      //this is the best way in lumen to execute some method, because lumen is powerful in small APIs and restful services 
    } 
+0

Немного объяснения для чего не так? – mins

Смежные вопросы