/** * В конструкторе мы провалидируем настройки бина и проинициализируем protected поля */ protected final function __construct() { parent::__construct(); $this->SETTINGS = PsUtil::assertInstanceOf($this->PostBeanSettings(), PostBeanSettings::getClass()); //Инициализируем поля для быстрого доступа внутри бина $this->rubricsTable = $this->SETTINGS->getRubricsTable(); $this->rubricsView = $this->SETTINGS->getRubricsView(); $this->postsTable = $this->SETTINGS->getPostsTable(); $this->postsView = $this->SETTINGS->getPostsView(); $this->commentsTable = $this->SETTINGS->getCommentsTable(); }
private function __construct(UserPointDO $point) { $this->point = $point; $this->class = FoldedResourcesManager::inst()->getFoldedEntityByDbCode($point->getReasonId())->getClassInst(); PsUtil::assertInstanceOf($this->class, 'PointsGiver'); }
/** * @covers PsUtil::newReflectionMethod */ public function testNewReflectionMethod() { PsUtil::assertInstanceOf(PsUtil::newReflectionMethod(ClassA::get__CLASS__(), 'get__FILE__'), 'ReflectionMethod'); PsUtil::assertInstanceOf(PsUtil::newReflectionMethod(new ClassA(), 'private_final_method'), 'ReflectionMethod'); try { PsUtil::newReflectionMethod(new ClassA(), self::NOT_ALLOWED_STR); $this->fail('ReflectionException is expected'); } catch (ReflectionException $ex) { //OK } }
/** * Имплементация метода, выдающего очки пользователю */ private function checkPointsImpl(FoldedClass $class, array $func_get_args, $method) { /** * Проверим, является ли класс наследником PointsGiver. * Менеджером он может и не быть, но гивером он быть обязан!:) */ PsUtil::assertInstanceOf($class, 'PointsGiver'); PsUtil::assertInstanceOf($class->getFoldedEntity()->getFolding(), 'PointsGiverFolding'); //Проверим наличие метода-имплементации $method = $method . 'Impl'; PsUtil::assertMethodExists($class, $method); /** @var PsUser */ $user = $func_get_args[0]; check_condition($user instanceof PsUser, 'Пользователь должен быть передан в первом аргументе'); $ctxt = new GivePointsContext($user->getId(), $class->getFoldedEntity()->getDbCode()); $func_get_args[0] = $ctxt; call_user_func_array(array($class, $method), $func_get_args); return $this->checkGivePointsContext($user, $ctxt); }