Как мы знаем в Laravel 5.2, метод Route::controller()
и Route::controllers()
устарел, но он был очень удобен для сокращения количества маршрутов.Мне удалось написать простой маршрут, подобный этому Route::controller('admin/invoice','InvoiceController')
.С помощью этого простого единственного маршрута я могу управлять всем, что связано с выполнением операций, связанных со счетами, с помощью контроллера.
class InvoiceController extends Controller{
public function getInvoices(){ }
public function getInvoiceDetails(){ }
public function postStoreInvoice(){ }
public function postUpdateInvoice(){ }
public function postStoreInvoiceDetails(){ }
public function postupdateInvoiceDetails(){ }
public function postDeleteInvoice(){ }
public function postDeleteInvoiceDetails(){ }
....
}
, но, к сожалению, эти Route::controller()
и Route::controllers()
больше не доступны в версии laravel> 5.1.Доступна опция Route::resource()
, но у нее ограниченное количество маршрутов.Маршрут laravel является Macroable, есть возможность расширить функции маршрута, такие как
Illuminate\Routing\Router::macro('controller', function ($routes) {
// implementation
});
Есть ли кто-нибудь, кто реализует метод Route::controller()
и Route::controllers()
для Laravel 5.8, 6?или предложить какой-либо способ.