تو 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 اومده.