Belajar laravel (مسیریابی، میان افزار، کنترلر)
Summarize this content to 400 words in Persian Lang
مسیریابی
مسیریابی در لاراول نقاط انتهایی یا URL هایی را تعریف می کند که به توابع خاصی در کنترلر اشاره می کنند یا به طور مستقیم کد منطقی را اجرا می کنند.
هدف: مسیریابی تعیین می کند که درخواست ها از یک URL باید به کجا هدایت شوند و چه اقداماتی باید انجام شود. فایل های مسیریابی در routes/web.php (برای وب) یا routes/api.php (برای API) قرار می گیرند.
مثال استفاده در مطالعه موردی: در یک برنامه مدیریت دانشجویی، می خواهیم لیستی از دانشجویان را با مسیر زیر نمایش دهیم:
یادداشت ها:
/students: به متد index() در StudentController اشاره می کند تا همه دانش آموزان را نمایش دهد.
/students/create: به فرم ایجاد دانش آموز جدید هدایت می شود.
POST /students: دانش آموزان جدید را در پایگاه داده ذخیره می کند.
/students/{id}/edit: فرم ویرایش را برای یک دانش آموز خاص نمایش می دهد.
PUT /students/{id}: دادههای دانشآموز را بر اساس شناسه بهروزرسانی میکند.
DELETE /students/{id}: دانش آموزان را از پایگاه داده حذف می کند.
میان افزار
Middleware یک لایه فیلتر است که قبل یا بعد از اجرای درخواست اجرا می شود. نمونه های رایج عبارتند از احراز هویت، ورود به سیستم یا اعتبارسنجی مجوز.
هدف: از میان افزار برای کارهایی مانند احراز هویت کاربر (اطمینان از ورود کاربر)، محدود کردن دسترسی به صفحات خاص، یا رسیدگی به درخواست های خاص قبل از رسیدن به کنترلر استفاده می شود.
مثال استفاده در مطالعه موردی: ما می خواهیم دسترسی به صفحات ایجاد، ویرایش و حذف دانش آموز را محدود کنیم تا فقط مدیران بتوانند به آنها دسترسی داشته باشند.
میانافزار auth اطمینان میدهد که کاربر وارد سیستم شده است، در حالی که role:admin اطمینان میدهد که فقط کاربرانی که نقش مدیریت را دارند میتوانند به این صفحه دسترسی داشته باشند.
کنترل کننده
کنترلر کلاسی است که مسئولیت مدیریت منطق برنامه را بر عهده دارد و به عنوان رابط بین مدل (داده) و view (نمایش) عمل می کند.
استفاده: کنترلکنندهها به مدیریت منطق برنامهها، مانند رسیدگی به درخواستهای کاربران، بازیابی دادهها از مدلها و ارسال دادهها به نماها کمک میکنند.
مثال استفاده در مطالعه موردی: ما یک StudentController برای مدیریت منطق CRUD دانش آموز ایجاد می کنیم:
یادداشت ها:
index(): لیستی از دانش آموزان را برمی گرداند.
create(): فرمی را برای افزودن دانش آموزان جدید نمایش می دهد.
store(): داده های دانش آموز جدید را در پایگاه داده ذخیره می کند.
edit(): فرمی را برای ویرایش داده های دانش آموز بر اساس ID نمایش می دهد.
update(): داده های دانش آموز را در پایگاه داده به روز می کند.
kill(): دانش آموزان را با شناسه حذف می کند.
-
مسیریابی
مسیریابی در لاراول نقاط انتهایی یا URL هایی را تعریف می کند که به توابع خاصی در کنترلر اشاره می کنند یا به طور مستقیم کد منطقی را اجرا می کنند.
هدف: مسیریابی تعیین می کند که درخواست ها از یک URL باید به کجا هدایت شوند و چه اقداماتی باید انجام شود. فایل های مسیریابی در routes/web.php (برای وب) یا routes/api.php (برای API) قرار می گیرند.
مثال استفاده در مطالعه موردی: در یک برنامه مدیریت دانشجویی، می خواهیم لیستی از دانشجویان را با مسیر زیر نمایش دهیم:
یادداشت ها:
- /students: به متد index() در StudentController اشاره می کند تا همه دانش آموزان را نمایش دهد.
- /students/create: به فرم ایجاد دانش آموز جدید هدایت می شود.
- POST /students: دانش آموزان جدید را در پایگاه داده ذخیره می کند.
- /students/{id}/edit: فرم ویرایش را برای یک دانش آموز خاص نمایش می دهد.
- PUT /students/{id}: دادههای دانشآموز را بر اساس شناسه بهروزرسانی میکند.
- DELETE /students/{id}: دانش آموزان را از پایگاه داده حذف می کند.
-
میان افزار
Middleware یک لایه فیلتر است که قبل یا بعد از اجرای درخواست اجرا می شود. نمونه های رایج عبارتند از احراز هویت، ورود به سیستم یا اعتبارسنجی مجوز.
هدف: از میان افزار برای کارهایی مانند احراز هویت کاربر (اطمینان از ورود کاربر)، محدود کردن دسترسی به صفحات خاص، یا رسیدگی به درخواست های خاص قبل از رسیدن به کنترلر استفاده می شود.
مثال استفاده در مطالعه موردی: ما می خواهیم دسترسی به صفحات ایجاد، ویرایش و حذف دانش آموز را محدود کنیم تا فقط مدیران بتوانند به آنها دسترسی داشته باشند.
میانافزار auth اطمینان میدهد که کاربر وارد سیستم شده است، در حالی که role:admin اطمینان میدهد که فقط کاربرانی که نقش مدیریت را دارند میتوانند به این صفحه دسترسی داشته باشند.
-
کنترل کننده
کنترلر کلاسی است که مسئولیت مدیریت منطق برنامه را بر عهده دارد و به عنوان رابط بین مدل (داده) و view (نمایش) عمل می کند.
استفاده: کنترلکنندهها به مدیریت منطق برنامهها، مانند رسیدگی به درخواستهای کاربران، بازیابی دادهها از مدلها و ارسال دادهها به نماها کمک میکنند.
مثال استفاده در مطالعه موردی: ما یک StudentController برای مدیریت منطق CRUD دانش آموز ایجاد می کنیم:
یادداشت ها:
- index(): لیستی از دانش آموزان را برمی گرداند.
- create(): فرمی را برای افزودن دانش آموزان جدید نمایش می دهد.
- store(): داده های دانش آموز جدید را در پایگاه داده ذخیره می کند.
- edit(): فرمی را برای ویرایش داده های دانش آموز بر اساس ID نمایش می دهد.
- update(): داده های دانش آموز را در پایگاه داده به روز می کند.
- kill(): دانش آموزان را با شناسه حذف می کند.