آموزش فریمورک لاراول (قراردادها ) - جلسه 26
1397/11/10 11:59 , سامان یزدان‌نیک

آموزش فریمورک لاراول (قراردادها ) - جلسه 26

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

مثلا،   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;
   }
}

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

 

 

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات