آموزش قراردادها در لاراول

3 سال پیش

آموزش قراردادها در لاراول

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش قراردادها در لاراول خواهیم پرداخت.

قراردادهای لاراول مجموعه ای از رابط ها با قابلیت های مختلف و خدمات اصلی ارائه شده توسط چارچوب است.

به عنوان مثال، در Illuminate \ Contracts \ Queue \ Queue از روشی استفاده می شود که برای صف بندی مشاغل مورد نیاز است و Illuminate \ Contracts \ Mail \ Mailer از این روش برای ارسال ایمیل استفاده می کند.

هر قرارداد تعریف شده شامل اجرای مربوطه چارچوب است. تمام قراردادهای لاراول در مخزن GitHub موجود است همانطور که در زیر ذکر شد –

https://github.com/illuminate/contracts

این مخزن انواع قراردادهای موجود در چارچوب لاراول را ارائه می دهد که می توان آنها را بارگیری و متناسب با آن استفاده کرد.

 

نکات مهم

هنگام کار با قراردادهای لاراول، لطفاً به نکات مهم زیر توجه کنید –

  • تعریف نما در سازنده کلاس الزامی است.
  • قراردادها به صراحت در کلاسها تعریف شده اند و نیازی نیست که قراردادها را در سازندگان تعریف کنید.

 

مثال

قرارداد مورد استفاده برای مجوز در لاراول را که در زیر ذکر شده است در نظر بگیرید –

<?php

namespace Illuminate\Contracts\Auth\Access;

interface Authorizable{
   /**
      * Determine if the entity has a given ability.
      *
      * @param string $ability
      * @param array|mixed $arguments
      * @return bool
   */
   public function can($ability, $arguments = []);
}

 

این قرارداد از یک تابع می تواند شامل یک پارامتر به نام توانایی و آرگومان ها باشد که از شناسه کاربر در قالب یک آرایه استفاده می کند.

شما باید یک قرارداد را مطابق شکل زیر تعریف کنید –

interface <contract-name>

 

از قراردادها مانند نما برای ایجاد برنامه های قوی و آزمایش شده لاراول استفاده می شود. تفاوتهای عملی مختلفی با استفاده از قراردادها و نماها وجود دارد.

کد زیر استفاده از قرارداد برای ذخیره مخزن را نشان می دهد –

<?php

namespace App\Orders;
use Illuminate\Contracts\Cache\Repository as Cache;

class Repository{
   /**
      * The cache instance.
   */
   
   protected $cache;
   
   /**
      * Create a new repository instance.
      *
      * @param Cache $cache
      * @return void
   */
   
   public function __construct(Cache $cache) {
      $this->cache = $cache;
   }
}

 

قرارداد شامل اجرا و وابستگی های جدید نیست. نوشتن پیاده سازی جایگزین یک قرارداد مشخص آسان است ، بنابراین یک کاربر می تواند پیاده سازی حافظه پنهان را بدون تغییر هیچگونه پایه کد جایگزین کند.

 

منبع.

 

لیست جلسات قبل آموزش لاراول

  1. آموزش لاراول
  2. آموزش مقدماتی لاراول
  3. آموزش نصب لاراول
  4. آموزش ساختار برنامه در لاراول
  5. آموزش پیکربندی لاراول
  6. آموزش مسیریابی در لاراول
  7. آموزش Middleware در لاراول
  8. آموزش فضای نام در لاراول
  9. آموزش کنترل کننده ها در لاراول
  10. آموزش درخواست در لاراول
  11. آموزش کوکی در لاراول
  12. آموزش پاسخ در لاراول
  13. آموزش View در لاراول
  14. آموزش تمپلیت Blade در لاراول
  15. آموزش ریدایرکت کردن در لاراول
  16. آموزش کار با پایگاه داده در لاراول
  17. آموزش خطاها و ورود به سیستم در لاراول
  18. آموزش فرم ها در لاراول
  19. آموزش محلی سازی در لاراول
  20. آموزش اعتبار سنجی در لاراول
  21. آموزش بارگذاری فایل در لاراول
  22. آموزش ارسال ایمیل در لاراول
  23. آموزش ایجکس در لاراول
  24. آموزش مدیریت خطا در لاراول
  25. آموزش مدیریت رویداد در لاراول
  26. آموزش نما در لاراول
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه