آموزش contract - قراردادها در لاراول به زبان ساده
قرارداد یا Contractها یک مجموعه ای از interface ها هستند با ویژگی های مختلف،که هسته ی سرویس های فریمورک لاراول را تعریف می کنند.
برای مثال قرارداد Illuminate\Contracts\Queue\Queue ، از متدی که برای صف بندی job ها مورد نیاز است استفاده میکند.
و قرارداد Illuminate\Contracts\Mail\Mailer، از متدی که برای ارسال Email ها مورد نیاز است استفاده می کند.
هر Contract ی پیاده سازی (implementation) متناظر به خودش را دارد که توسط لاراول دراختیار برنامه نویسان قرار می گیرد.
همه ی Contractها در repository یا مخزن GitHub وجود دارند، که لینک آن در زیر بیان شده است :
https://github.com/illuminate/contracts
این مخزن، دربرگیرنده Contractهای گوناگون موجود در فریمورک Laravel است، که می تواند به راحتی دانلود و استفاده شود.
نکات مهم :
در حالی که با Contractهای لاراول کار می کنید، لطفا نکات مهم زیر را ذکر کنید:
■ facadeها، را باید در سازنده یک کلاس (constructor) تعریف کنیم.
■ Contractها باید در کلاس ها تعریف شوند و شما نیازی نیست Contract ها را در constructor یا متدهای سازنده کلاس تعریف کنید.
مثال :
Contract ی که درAuthorization موجود در لاراول استفاده شده است را ملاحظه کنید:
<?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 = []);
}
contract از function ی که شامل یک پارامتری به نام ability است و همچنین از آرگومانی در قالب یک آرایه ، برای شناسایی کاربر، استفاده می کند.
شما باید یک contract را همانطور که در syntax زیر نشان داده شده است تعریف کنید.
interface <contract-name>
قراردادها مانند facades برای ایجاد برنامه های کاربردی مقاوم و خوب آزمایش شده ی لاراول مورد استفاده قرار می گیرند.تفاوت های عملی مختلفی (practical differences) در استفاده از facadeها و contractها وجود دارد.
کد زیر استفاده یک contract، برای ذخیره در repository یا مخزن را نشان می دهد.
<?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;
}
}
این فصل در یک نگاه:
آشنایی با امکانات جدید لاراول ۷…
برخی از سرفصل های این پکیج آموزشی : لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…این فصل در یک نگاه:
بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…
وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…این فصل در یک نگاه:
مباحث تکمیلی فریم ورک لاراول…
فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…این فصل در یک نگاه:
مباحث مقدماتی فریم ورک react.js…
توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …