موضوعات

  • مفاهیم پایه CRUD
  • ایجاد کنترلر و مسیرهای مربوطه بصورت دستی
  • ایجاد خودکار کنترلر و متدها توسط لاراول
  • ایجاد خودکار مسیرها توسط لاراول
    • استثنا کردن برخی مسیر
    • تنها برخی از مسیرهای ایجاد شود
  • ایجاد کنترلر برای api
  • ایجاد روت برای api

عملیات CRUD (مخفف Create، Read، Update، Delete) چهار عمل اصلی هستند که در برنامه‌نویسی و مدیریت پایگاه داده‌ها برای ایجاد، خواندن، به‌روزرسانی و حذف داده‌ها به‌کار می‌روند. این عملیات پایه‌ای‌ترین و اساسی‌ترین وظایف در هر سیستم مدیریت پایگاه داده یا API محسوب می‌شوند

هر کنترلر CRUD باید 7 متد است

شمارهمتدURIمتد کنترلرکاربردنام مسیر
1GET/postsindexنمایش لیست پستهاposts.index
2GET/posts/createcreateنمایش فرم ایجاد پستposts.create
3POST/postsstoreذخیره پست جدیدposts.store
4GET/posts/{post}showنمایش یک پستposts.show
5GET/posts/{post}/editeditنمایش فرم ویرایشposts.edit
6PUT/posts/{post}updateبه‌روزرسانی پستposts.update
7DELETE/posts/{post}destroyحذف پستposts.destroy

class postController extends Controller

{

function index(){

}

function create(){

}

function show(){

}

function store(){

}

function edit(){

}

function update(){

}

function destroy(){

}

}

مسیرها

Route::controller(postController::class)->group(function(){

Route::get('/post/index','index');

Route::get('/post/create','create');

Route::get('/post/show','show');

Route::get('/post/edit','edit');

Route::put('/post/update','update');

Route::post('/post/store','store');

Route::delete('/post/destroy','destroy');

}

در لاراول برای راحتی میتوان از دستور زیر برای ساخت خودکار کنترلر استفاده کرد

php artisan make:controller postController --resource

این دستور مسیرهای مورد نیاز را بصورت خودکار ایجاد میکند

route::resource('posts',postController::class);

مشاهده روت های موجود

php artisan route:list

حذف برخی روت ها

route::resource('posts',postController::class)->except(['edit','create']);

ایجاد روتهای مشخص

route::resource('posts',postController::class)->only(['edit','create']);

ایجاد کنترلر برای api

php artisan make:controller postController --api

فرق بین resource و api در این است که در هنگام استفاده از api نیازی به create(فرم ساخت ) و edit(فرم ویرایش) نداریم زیرا فرم ها در برنامه کلاینت وجود دارد و تنها json استفاده می شود

ایجاد روت برای api

route::apiResource('posts',postController::class);