2016-01-08 42 views
26

Pracuję z Laravel 5 i chciałbym wiedzieć, jak wygenerować RESTful Resource Controller ze wszystkimi predefiniowanymi metodami za pomocą polecenia Artisan (PHP).Jak utworzyć kontroler RESTful Resource w Laravel 5.2, używając polecenia Artisan (PHP)

Kiedy biegnę php artisan make:controller LessonsController tworzy kontroler, bez metod, jak pokazano poniżej:

<?php 
namespace App\Http\Controllers; 

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

class LessonsController extends Controller 
{ 


} 

Co chcę utworzyć jest kompletnym laravel relaksującego zasobów Kontroler z wszystkich zdefiniowanych metod jak w: index(), create(), store(), show(), edit(), update() i destroy() .

Jak mogę to osiągnąć?

+0

jaka wersja laravel 5? – lagbox

+0

Laravel Framework wersja 5.2.7 – Vicky

Odpowiedz

53

Spróbuj uzyskanie pomocy w komendzie

php artisan help make:controller 

Jeśli widzisz flagę --resource w opcjach pomocy, prawdopodobnie jesteś na 5.2 i możesz dodać tę flagę do polecenia, aby uzyskać kontroler zasobów.

php artisan make:controller --resource SomeResourceController 

Dla laravel 5.0 i 5.1 komenda make:controller stałaby kontroler zasobów domyślnie opcja --plain stałaby zwykły kontroler.

Laravel 5.2 - Restful Resource Controllers - Default zwykły

Laravel 5.1 - Restful Resource Controllers - zasobu Domyślny

Laravel 5.0 - Restful Resource Controllers - zasobu Domyślny

+3

ten działał 'php artisan make: controller --resource SomeResourceController' ..... Dzięki człowieku – Vicky

+1

@Vicky tak, ponieważ używasz 5.2. – lagbox

+0

Hmmm masz rację – Vicky

2

Dla domyślnego kontrolera, który ma wszystkie potrzebne metody. php rzemieślnik Producent: kontroler LessonsController

Jeśli chcesz zwykły kontroler bez metody php rzemieślnik Producent: kontroler --plain LessonsController

+0

Dude to nie działa z Laravel 5. Jeśli zrobisz 'php artisan make: controller Xyz' to dostaniesz zwykły kontroler – Vicky

+0

To działa dla mnie. – Nihar

+0

To nie działa w Laravel 5. Myślę, że pracujesz z Laravel 4. – Vicky

1

php artisan make:controller "NameOfController" - stworzy kontroler ze wszystkimi metodami

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

poważaniem, używam laravel 5.0

+0

Nie bro to nie – Vicky

+0

Vicky to robi, po prostu używasz innej wersji laravel 5, co powinno być odnotowane w twoim pytaniu. – lagbox

+0

Wiem, że w wersji 4 działa dobrze. Ale nie ma wersji 5.2.7 – Vicky

0

więc używasz laravel 5.2, tak aby mieć kontroler z metod REST wydać polecenie

php artisan make:controller --resource NAME_OF_CONTROLLER 

W laravel 5.1 i poniżej, domyślnie markę: Kontroler polecenia używany do generowania Controller ze wszystkimi wymagane metody, takie jak "indeksuj, twórz, przechowuj, wyświetlaj, edytuj, aktualizuj, niszcz". A dla 5,1 i poniżej, aby mieć pusty plik kontrolera bez żadnych metod, zwykliśmy używać „--plain” parametr jako

php artisan make:controller --plain NAME_OF_CONTROLLER 

Ale z laravel 5.2, domyślnie komenda rzemieślnik stworzy goły plik sterownika bez żadnych metod REST.

Jako Laravel 5.2 ma wiele zmian, lepiej jest użyć polecenia „rzemieślnik help” jak poniżej

php artisan help make:controller 

Dzięki temu będziemy realizować wprowadzenie --resource

należy zapoznać się z dokumentacją laravel Laravel HTTP Controllers - Artisan Command

Sugestia : Ponieważ jest to zmiana z wersji 5.2, dobrze byłoby również zmodyfikować tytuł postu.

1
php artisan make:controller ControllerName --resource 
8

Dla Laravel 5.2

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

Jeśli Laravel < 5.2

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

i

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