برنامه نویسی

نحوه استفاده از صفات در لاراول

در لاراول ، ویژگی مکانیسمی برای استفاده مجدد از کد در کلاسهای مختلف ، به جلوگیری از تکثیر و ساخت مدولار تر کد شما کمک می کند. صفات در واقع یک ویژگی PHP است که در PHP 5.4 معرفی شده است که به عملکرد گروهی در یک واحد قابل استفاده مجدد و تزریق آن در کلاس های مختلف ، به اشتراک گذاری موثری روش ها یا خواص در بین کلاس های نامربوط است.

صفت چیست؟

هنگامی که از یک ویژگی در یک کلاس استفاده می کنید ، به طور موثری روش ها و خصوصیات تعریف شده در آن صفت را به کلاس تزریق می کند. به این ترتیب ، کلاس توانایی آن روش ها را به دست می آورد که گویی در خود کلاس تعریف شده اند.

مفهوم استفاده مجدد از قطعات مدولار از کد در کلاسهای مختلف ، مانند صفات PHP شبیه به آنچه میراث چندگانه C ++ است ، اغلب به عنوان “میکسین” در برنامه نویسی شی گرا (OOP) گفته می شود. این اصطلاح به طور کلی از زبانهای برنامه نویسی خاص است.

بر خلاف وراثت چندگانه ، که به یک کلاس اجازه می دهد مستقیماً از بیش از یک کلاس پایه به ارث ببرد ، میکسین ها اغلب به عنوان راهی برای اضافه کردن قابلیت های گسسته و مشترک بدون ایجاد ساختارهای ارث بالقوه گیج کننده عمل می کنند.

ویژگی های اصلی صفات:

  1. قابلیت استفاده مجدد کد: صفات به به اشتراک گذاشتن قابلیت های مشترک کمک می کنند و از تکرار جلوگیری می کنند.
  2. اجتناب از محدودیت های وراثت: PHP فقط از میراث منفرد پشتیبانی می کند ، به این معنی که یک کلاس می تواند فقط یک کلاس دیگر را گسترش دهد. صفات با اجازه دادن به یک کلاس از چندین صفات ، به طور مؤثر مزایای ارث های متعدد را به دست می آورند.

تعریف و استفاده از صفات:

برای تعریف یک ویژگی در لاراول ، از آن استفاده می کنید trait کلمه کلیدی در اینجا یک مثال آورده شده است:



namespace App\Traits;

trait LoggerTrait
{
    public function logMessage($message)
    {
        \Log::info($message);
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس می توانید با استفاده از ویژگی در یک کلاس استفاده کنید use کلمه کلیدی:



namespace App\Models;

use App\Traits\LoggerTrait;

class Order
{
    use LoggerTrait;

    public function processOrder()
    {
        // Log an informational message
        $this->logMessage('Processing the order');
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در مثال بالا ، LoggerTrait دارای a logMessage روش ، که سپس در آن گنجانده شده است Order کلاس از طریق use بیانیه این باعث می شود logMessage() روش موجود در Order کلاس بدون نیاز به ارث از کلاس پایه.

چه موقع از صفات در لاراول استفاده کنید:

  • توابع ابزار مشترک: هنگامی که توابع ابزار مانند ورود به سیستم ، تاریخ رسیدگی یا سایر قابلیت های مشترک دارید.
  • خشک (خود را تکرار نکنید): اگر روشهای مشابهی را در کلاسهای مختلف استفاده می کنید ، ایده خوبی است که آنها را به یک صفت استخراج کنید.
  • استفاده از کلاس چندگانه: هنگامی که نیاز به عملکرد به کلاسهای متعدد و نامربوط اضافه شود ، صفات یک راه حل خوب هستند.

مثال در لاراول:

خود لاراول به طور گسترده از صفات استفاده می کند. به عنوان مثال:

  • Notifiable ویژگی: برای ارسال اعلان ها در مدل ها استفاده می شود.
  • SoftDeletes ویژگی: به مدل ها اجازه می دهد تا حذف های نرم را انجام دهند ، به این معنی که آنها به طور دائم از پایگاه داده حذف نمی شوند.

در اینجا مثالی از استفاده از Notifiable صفت در User مدل:



namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    // Other model properties and methods
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با استفاده از Notifiable، User مدل می تواند به راحتی با استفاده از ایمیل ، پیام کوتاه یا کانال های دیگر اعلان ها را ارسال کند.

مزایای اصلی:

  • استفاده مجدد از کد: به راحتی روش ها را بین مدل های مختلف یا کلاس ها بدون کپی کردن به اشتراک بگذارید.
  • سازمان بهتر: با تقسیم عملکرد به اجزای قابل استفاده مجدد ، پایگاه کد خود را تمیز نگه می دارد.
  • انعطاف پذیری: به شما امکان می دهد بدون توجه به محدودیت های وراثت ، صفات را طبق الزامات کلاس ترکیب کنید.

صفات ابزارهای قدرتمندی هستند که باعث استفاده مجدد از کد می شوند و به نوشتن کد تمیز ، سازمان یافته و خشک کمک می کنند و آنها را به ویژگی قابل توجهی در توسعه لاراول تبدیل می کند.

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا