💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ امیرحسین صحرانورد
namespace در trait
محسن موحد حل شده توسط محسن موحد

تو trait‌ها میشه مثل کلاس‌ها namespace نوشت ؟ یعنی برای آن namespace درذنظر گرفت

با توجه به این که trait تو کلاس use میشه ، تو aoutoload نیاز نیست include بشه ؟؟؟؟؟

سلام.

بله میشه نوشت: (برای تابع‌ها و ثابت‌ها هم میشه نوشت)

فرضاً trait در مسیر classes/traits/Hello.php قرار داره:

<?php
namespace classes\traits;
trait Hello {
    public function sayHelloWorld() {
        echo 'Hello';
    }
}

 

و برای استفاده ازش باید include اش کرد و بعد با استفاده از use فضای نامش رو هم بیاریم:

<?php
require_once 'classes/traits/Hello.php';
use classes\traits\Hello;
class MyHelloWorld {
    use Hello;
}
$obj = new MyHelloWorld();
$obj->sayHelloWorld();

برای trait‌ها هم میتونید یک autoload بنویسید. قوانین ساخت یک autoload استاندارد هم در phpfig اومده.

بهترین پاسخ
محسن موحد ۱۹ خرداد ۱۳۹۹، ۲۰:۴۹