mardi 23 novembre 2021

PHP Specific optimization for if loop in Symfony

In Symfony app, i need to use switch/case function, but request parameters prevents me, and i use an uggly if condition like :

        $roles = ["ROLE_USER"];

        if ($request->get('isAdmin')) {
            array_push($roles, "ROLE_ADMIN");
        }

        if ($request->get('isFreemium')) {
            array_push($roles, "ROLE_FREEMIUM");
        }

        if ($request->get('isPremium')) {
            array_push($roles, "ROLE_PREMIUM");
        }

        if ($request->get('isExternal')) {
            array_push($roles, "ROLE_EXTERNAL");
        }

        if ($request->get('isVip')) {
            array_push($roles, "ROLE_VIP");
        }

Can you help me to simplify it ?

Aucun commentaire:

Enregistrer un commentaire