public final function __construct(FoldedEntity $foldedEntity) { $this->ident = $foldedEntity->getIdent(); $this->folding = $foldedEntity->getFolding(); $this->foldedEntity = $foldedEntity; check_condition($this->ident === self::getIdent(), "Несовпадение идентификаторов в экземпляре класса для сущности {$foldedEntity}"); //Позволим предкам проинициализироваться $this->_construct(); }
public function setContextWithFoldedEntity(FoldedEntity $entity) { $this->setContext($entity->getIdent()); }
/** * Метод возвращает код для сущности фолдинга. * Этот код нужен для того, чтобы другие сущности могли ссылаться на него через базу. */ public function getEntityCode(FoldedEntity $entity) { $code = array_get_value('id', to_array($this->getRec('select id from ps_folded_codes where v_unique=?', $entity->getUnique()))); return 1 * (is_numeric($code) ? $code : $this->insert('insert into ps_folded_codes (v_unique) values (?)', $entity->getUnique())); }
/** * Метод возвращает сущность фолдинга не проверяя, существует она или нет * * @return FoldedEntity */ public function getFoldedEntityAnyway($ident) { $this->assertAdminCanDo(__FUNCTION__, $ident); return FoldedEntity::inst($this, $ident, false); }