Я хочу динамически добавлять / устанавливать черту в объекте. Как я могу это сделать?
Например, у меня есть $object
;
$object->setTrait($someTrait);
Спасибо за помощь.
Редактировать
<?php
namespace GamApi\Models\Traits;
use GamApi\Scopes\OrganizationScope;
/**
*
* Trait BelongsToOrganizationTrait
* @package GamApi\Models\Traits
*/
trait BootOrganization
{
/**
* For saving resource auto-complete organization_id attribute
* Add global OrganizationScope
*
*/
public static function boot()
{
parent::boot();
// global organization_id scope
static::addGlobalScope(new OrganizationScope());
// set organization_id for saving
static::creating(function ($model){
if (defined('ORGANIZATION_ID')) {
$model->organization_id = ORGANIZATION_ID;
}
});
}
}
Я хочу протестировать этот класс и думаю, что могу сделать $object
, затем динамически insert Trait to the object
, а затем проверить Trait boot
метод.