2016-01-08 12 views
26

Sto lavorando con Laravel 5 e mi piacerebbe sapere come generare un controller di risorse RESTful con tutti i metodi predefiniti usando il comando Artisan (PHP).Come creare un controller di risorse RESTful in Laravel 5.2, usando il comando Artisan (PHP)

Quando eseguo php artisan make:controller LessonsController, si crea un controller, con nessun metodo come illustrato di seguito:

<?php 
namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Requests; 

class LessonsController extends Controller 
{ 


} 

Quello che voglio creare è un laravel RESTful controller completo delle risorse con tutti i metodi predefiniti come in: index(), create(), store(), show(), edit(), update() e destroy() .

Come posso ottenere questo risultato?

+0

quale versione di laravel 5? – lagbox

+0

Laravel Framework versione 5.2.7 – Vicky

risposta

53

Prova ad ottenere aiuto sul comando

php artisan help make:controller 

Se viene visualizzato un flag --resource nelle opzioni della guida, probabilmente si è in 5.2 e si può aggiungere tale flag al comando per ottenere un controller risorse.

php artisan make:controller --resource SomeResourceController 

Per laravel 5.0 e 5.1 il comando make:controller farebbe un controller risorsa di default e l'opzione --plain farebbe un controller normale.

Laravel 5.2 - Restful Resource Controllers - default Normale

Laravel 5.1 - Restful Resource Controllers - risorsa di default

Laravel 5.0 - Restful Resource Controllers - risorsa di default

+3

questo ha funzionato 'php artisan make: controller --resource SomeResourceController' ..... Grazie man – Vicky

+1

@Vicky sì perché stai usando 5.2. – lagbox

+0

Hmmm hai ragione – Vicky

2

Per il controller predefinito che dispone di tutti i metodi desiderati. php artigianale marca: Controller LessonsController

Se si desidera controller di pianura con nessun metodo php artigianale marca: Controller --plain LessonsController

+0

Dude questo non funziona con Laravel 5. Se fai 'php artisan make: controller Xyz' ti darai un controller semplice – Vicky

+0

Funziona per me. – Nihar

+0

Non funziona in Laravel 5. Supponiamo che tu stia lavorando con Laravel 4. – Vicky

1

php artisan make:controller "NameOfController" - creerà controller con tutti i metodi

php artisan make:controller "NameOfController" --plain This will create controller with no methods. 

migliori saluti, sto usando laravel 5.0

+0

No bro it non – Vicky

+0

vicky lo fa, stai solo usando una versione diversa di laravel 5, che avrebbe dovuto essere notato nella tua domanda. – lagbox

+0

So che nella versione 4 funziona bene. Ma non con la versione 5.2.7 – Vicky

0

in modo che si sta utilizzando laravel 5.2, in modo da avere il controller con i metodi RESTful emettere il comando

php artisan make:controller --resource NAME_OF_CONTROLLER 

In laravel 5.1 e di seguito, per impostazione predefinita il marca: Controller comando utilizzato per generare il controller con tutti i metodi richiesti come 'index, create, store, show, edit, update, destroy'. E per 5.1 e di seguito, di avere il file di controllo in bianco, senza alcun metodo, che abbiamo usato per usare '--plain' parametro come

php artisan make:controller --plain NAME_OF_CONTROLLER 

Ma con laravel 5.2, per impostazione predefinita il comando artigianale creerà il file di controllo nuda senza alcun metodo RESTful.

Come Laravel 5.2 ha molti cambiamenti, è meglio utilizzare il comando 'artigianale di aiuto', come di seguito

php artisan help make:controller 

Con questo, ci renderemo conto l'introduzione di --resource

Si prega di fare riferimento alla documentazione laravel Laravel HTTP Controllers - Artisan Command

Suggerimento : Poiché questo è il passaggio da 5.2, sarebbe opportuno modificare anche il Post Title.

1
php artisan make:controller ControllerName --resource 
8

Per Laravel 5.2

php artisan make:controller NameofController --resource 
// It will create the controller with all methods. 

Se Laravel < 5.2

php artisan make:controller NameofController 
// It will create the controller with all methods. 

e

php artisan make:controller NameofController --plain 
// It will create the controller without any method. 
Problemi correlati