2015-04-29 14 views
5

Hi im testowanie lumen nowy laravel mikro-frameword i gdy próbuję dostać się im wejście z usług internetowych otrzymuję ten błądlaravel klasa lumen wejścia Nie znaleziono

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

tutaj jest mój kod:

<?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

Czy odkomentowaniu 'withFacades' w' bootstrap.php'? –

+0

Czy możesz spróbować tuż po swojej przestrzeni nazw, użyj App \ Http \ Controllers \ Input; –

Odpowiedz

7

Rozwiązanie nr 1

Odkomentuj $app->withFacades(); w bootstrap/app.php, aby umożliwić korzystanie z elewacji w kontrolerze.

<?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(); 
     } 
    } 
} 

Rozwiązanie nr 2 (osobiste preferencje)

wtrysku Wykorzystanie uzależnienie wstrzyknąć klasę Illuminate\Http\Request do swoich metod.

<?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. zadziałało :) – karmous

+0

Jak dodać '$ request' w metodzie' GET'? – Volatil3

+1

@ Volatil3 - działa tak samo dla wszystkich czasowników 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

Trochę wyjaśnienia bo co było nie tak? – mins

Powiązane problemy