Ejemplo n.º 1
0
 /**
  * В конструкторе мы провалидируем настройки бина и проинициализируем 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();
 }
Ejemplo n.º 2
0
 private function __construct(UserPointDO $point)
 {
     $this->point = $point;
     $this->class = FoldedResourcesManager::inst()->getFoldedEntityByDbCode($point->getReasonId())->getClassInst();
     PsUtil::assertInstanceOf($this->class, 'PointsGiver');
 }
Ejemplo n.º 3
0
 /**
  * @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
     }
 }
Ejemplo n.º 4
0
 /**
  * Имплементация метода, выдающего очки пользователю
  */
 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);
 }