2015-02-09 14 views
19

Sto provando a chiamare il metodo Illuminate \ Http \ Request da uno dei miei controller.Laravel 5 Illuminate Http Request ha il metodo che non consente la chiamata statica

Request::has('fields') 

seguito dalla documentazione esattamente, eppure sto ricevendo un errore gettato:

metodo non statico Illuminate \ Http \ Request :: ha() non dovrebbe essere chiamato in modo statico, assumendo $ questo dal contesto incompatibile

Non sono sicuro di cosa sto facendo male qui, ho provato a seguire la documentazione il più fedelmente possibile.

+0

Dal laravel 5, questa è la corretta impostazione/spiegazione http://stackoverflow.com/a/28574016/165084 –

risposta

46

Il problema è che si sta utilizzando la classe Request errata. È necessario importare il Facciata:

use Illuminate\Support\Facades\Request; 
+3

Grazie! Dovrebbero davvero aggiornare la documentazione per spiegarlo. _Utilizzando alcuni semplici metodi, è possibile accedere a tutti gli input dell'utente dalla propria istanza Illuminate \ Http \ Request. Non devi preoccuparti del verbo HTTP utilizzato per la richiesta, poiché l'accesso è accessibile allo stesso modo per tutti i verbi. – Life4Cali

+1

Prego. Sì è vero. Tuttavia in realtà non è nemmeno necessario importare alcuna classe poiché esiste un alias registrato in "app.php". Tuttavia, gli IDE non lo capiscono davvero. [Questo pacchetto] (https://github.com/barryvdh/laravel-ide-helper) aiuta comunque – lukasgeiter

0

Prova utilizzando ingresso :: ha() al posto quindi utilizzare ingresso :: get() per afferrare in realtà il corrispondente INVIATI/GET var.

3

L'uso Illumina \ Support \ Facades \ Request; sta usando la facciata che non è una buona pratica. dovrebbe usare Illuminate \ Http \ Request; e ottenere la richiesta disponibile tramite il metodo o costruttore ie.-

public function __construct(Request $request) { 
    $this->request = $request; 
} 

e quindi nel metodo usarlo, vale a dire.

public function checkText() { 
    $txt = $this->request->has('txt'); 
    return $txt; 
} 
Problemi correlati