xxxxxxxxxx
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProductController;
Route::get('/', function () {
return view('welcome');
});
Route::resource('product',ProductController::class);
xxxxxxxxxx
// Implicit Model Binding Routes can be created with one line using either:
Route::resource('photos', PhotoController::class);
// OR
Route::resources([
'photos' => PhotoController::class,
'posts' => PostController::class,
]);
php artisan make:controller PhotoController --resource --model=Photo
// makes a controller with stubouts for methods:
// index
// create
// store
// show
// edit
// update
// destroy
xxxxxxxxxx
Verb Path Action Route Name
GET /users index users.index
GET /users/create create users.create
POST /users store users.store
GET /users/{user} show users.show
GET /users/{user}/edit edit users.edit
PUT|PATCH /users/{user} update users.update
DELETE /users/{user} destroy users.destroy
xxxxxxxxxx
Route::resource('faq', 'ProductFaqController', [
'names' => [
'index' => 'faq',
'store' => 'faq.new',
// etc...
]
]);
xxxxxxxxxx
By default, all resource controller actions have a route name;
however, you can override these names by passing a names array
with your desired route names:
use App\Http\Controllers\PhotoController;
Route::resource('photos', PhotoController::class)->names([
'create' => 'photos.build'
]);
xxxxxxxxxx
use App\Http\Controllers\BlogController;
Route::get('blogs', '[BlogController::class, 'index']');
Route::get('blogs/create', '[BlogController::class, 'create']');
Route::post('blogs', '[BlogController::class, 'store']');
Route::get('blogs/{blog}/edit', '[BlogController::class, 'edit']');
Route::put('blogs/{blog}', '[BlogController::class, 'update']');
Route::get('blogs/{blog}', '[BlogController::class, 'show']');
Route::delete('blogs/{blog}', '[BlogController::class, 'destroy']');
xxxxxxxxxx
use App\Http\Controllers\BlogController;
Route::resource('blogs', BlogController::class);
xxxxxxxxxx
Route::get('student', [StudentController::class, 'index'])->name('students.index');
Route::post('student', [StudentController::class, 'store'])->name('students.store');
Route::get('student', [StudentController::class, 'create'])->name('students.create');
Route::get('student/{id}/edit', [StudentController::class, 'edit'])->name('students.edit');
Route::put('student/{id}', [StudentController::class, 'update'])->name('students.update');
Route::get('student/{id}', [StudentController::class, 'show'])->name('students.show');
Route::delete('student/{id}', [StudentController::class, 'delete'])->name('students.delete');
xxxxxxxxxx
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BlogController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}