LINUX.ORG.RU

История изменений

Исправление fman2, (текущая версия) :

Ну и идем дальше:

 protected function isGranted($attributes, $subject = null): bool
    {
        if (!$this->container->has('security.authorization_checker')) {
            throw new \LogicException('The SecurityBundle is not registered in your application. Try running "composer require symfony/security-bundle".');
        }

        return $this->container->get('security.authorization_checker')->isGranted($attributes, $subject);
    }

Это код из ControllerTrait.php, соответственно у нас в контроллере есть метод $this->isGranted() и я так понял он будет даже в случае, если у нас security-bundle не установлен. Это right-way?

Почему нельзя сделать по нормальному:

public function someAction(AuthorizationCheckerInterface $security)
{
    if ($security->isGranted(...)) {
       // ....
    }
}

И все! Есть security-bundle у нас - ок, нету - ну и ладно, мы его не используем.

Может вы заметили мой «тон», но меня уже несколько дней бомбит от Symfony. Я до этого работал с Laravel/Yii2, а теперь делаю довольно сложный проект на Symfony. Как раз по right-way и по их доке.

К Laravel/Yii2 у меня не было никаких претензий. Это RAD. Особенно Yii2. Samdark это признает. И это хороший фреймворк, если не использовать в своих моделях Yii::$app и так далее.

Symfony я использовал по минимуму, но везде читал, что это чуть ли не единственный правильный фреймворк и тут такое.

И я вот прям чувствую, что меня где-то с Symfony наеобманули

Исправление fman2, :

Ну и идем дальше:

 protected function isGranted($attributes, $subject = null): bool
    {
        if (!$this->container->has('security.authorization_checker')) {
            throw new \LogicException('The SecurityBundle is not registered in your application. Try running "composer require symfony/security-bundle".');
        }

        return $this->container->get('security.authorization_checker')->isGranted($attributes, $subject);
    }

Это код из ControllerTrait.php, соответственно у нас в контроллере есть метод $this->isGranted() и я так понял он будет даже в случае, если у нас security-bundle не установлен. Это right-way?

Почему нельзя сделать по нормальному:

public function someAction(SecurityInterface $security)
{
    if ($security->isGranted(...)) {
       // ....
    }
}

И все! Есть security-bundle у нас - ок, нету - ну и ладно, мы его не используем.

Может вы заметили мой «тон», но меня уже несколько дней бомбит от Symfony. Я до этого работал с Laravel/Yii2, а теперь делаю довольно сложный проект на Symfony. Как раз по right-way и по их доке.

К Laravel/Yii2 у меня не было никаких претензий. Это RAD. Особенно Yii2. Samdark это признает. И это хороший фреймворк, если не использовать в своих моделях Yii::$app и так далее.

Symfony я использовал по минимуму, но везде читал, что это чуть ли не единственный правильный фреймворк и тут такое.

И я вот прям чувствую, что меня где-то с Symfony наеобманули

Исходная версия fman2, :

Ну и идем дальше:

 protected function isGranted($attributes, $subject = null): bool
    {
        if (!$this->container->has('security.authorization_checker')) {
            throw new \LogicException('The SecurityBundle is not registered in your application. Try running "composer require symfony/security-bundle".');
        }

        return $this->container->get('security.authorization_checker')->isGranted($attributes, $subject);
    }

Это код из ControllerTrait.php, соответственно у нас в контроллере есть метод $this->isGranted() и я так понял он будет даже в случае, если у нас security-bundle не установлен. Это right-way?

Почему нельзя сделать по нормальному:

public function someAction(SecurityInterface $security)
{
    if ($security->isGranted(...)) {
       // ....
    }
}

И все! Есть security-bundle у нас - ок, нету - ну и ладно, мы его не используем.

Может вы заметили мой «тон», но меня уже несколько дней бомбит от Symfony. Я до этого работал с Laravel/Yii2, а теперь делаю довольно сложный проект на Symfony. Как раз по right-way и по их доке.

К Laravel/Yii2 у меня не было никаких претензий. Это RAD. Особенно Yii2. Samdark это признает. И это хороший фреймворк, если не использовать в своих моделях Yii::$app и так далее.

Symfony я использовал по минимуму, но везде читал, что это чуть ли не единственный правильный фреймворк и тут такое.