نوشتن trait در لاراول

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

خوب خیلی چیزا هست مثل اصول SOLID یا رعایت قوانین OOP ، اما اینا همه نیاز داره که بدونیم باید چی کار کنیم .

یکی از این راها نوشتن trait هست .

trait چیه؟ همون تعریف بالاست

https://simple.wikipedia.org/wiki/Trait_(computer_programming)

In computer programming, a trait is a collection of methods. A trait is used to build a simple model for object oriented programs. A trait is a building block for classes. It makes an easy way to reuse code.[1][2] 

خوب . حالا بریم سر اصل مطلب . مهم اینه چجوری میشه توی لاراول پیاده کردش.

نوشتن trait دقیقا مثل نوشتن کلایه و نحوه استفاده ازش هم همون شکلیه .

کارش هم ساده کردن روند کد نویسی و تمیزتر نوشتنه .

داخل پوشه app/traits برید و یک فایل ایجاد کنید به اسم ExamplCode و محتویات داخلش هم مثل کد زیر :

<?php namespace App\Traits;

trait ExampleCode
{
    public function printThis($value)
    {
        return $value;
    }
}

حالا میریم داخل کنترلر و از trait استفاده میکنیم .

use App\Traits\ExampleCode;
class ExampleController extends Controller {
    use ExampleCode;
    public function addProduct() {
        $brands = $this->printThis("Nike");
        dd($brands);
    }
}

خوب ما اومدیم برای استفاده کردن از trait ابتدا بالا use کردیم و داخل بدنه کلاس هم اسمش رو use کردیم . در آخر دسترسی ما به متودهای trait باز شد و حالا میتونیم صداشون کنیم . خیلی راحت .

خروجی که مشاهده کنید ، میبینید Nike برای شما برمیگرده .

خیلی راحته کار با trait و خیلی توصیه میشه برای clean code کردن برنامه ای که مینویسین.