2015-04-29 11 views
5

Hi im test lume nuovo laravel micro-frameword e quando sto cercando di ottenere l'input da un im servizio web ottenere questo errorelaravel classe lume di ingresso non trovato

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

qui è il mio codice:

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

hai fatto decommentare 'withFacades' in' bootstrap.php'? –

+0

Puoi provarlo subito dopo il tuo spazio dei nomi, usa App \ Http \ Controllers \ Input; –

risposta

7

Soluzione # 1

Decommentare $app->withFacades(); in bootstrap/app.php per consentire di utilizzare la facciata nel controller.

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

Soluzione # 2 (preferenze personali)

iniezione Uso di dipendenza per iniettare la classe Illuminate\Http\Request nei vostri metodi.

<?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. ha funzionato :) – karmous

+0

Come aggiungere '$ request' in un metodo' GET'? – Volatil3

+1

@ Volatil3: funziona allo stesso modo per tutti i verbi 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

Un po 'di spiegazione per cosa c'era che non andava? – mins

Problemi correlati