Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luis Paullo

Qual melhor forma?

Recommended Posts

Salve Imaster!

 

Qual seria a melhor forma

 

com IF

       

if (isset($_GET['actions']) && $_GET['actions'] === 'upload') {
           $model->upload();
       }

       if (isset($_GET['actions']) && $_GET['actions'] === 'dir') {
           $dir->loaderDir();
       }

       if (isset($_GET['actions']) && $_GET['actions'] === 'listimg') {

           $godir = isset($_GET['godir']) ? ROOT_DIR . 'raiz' . $_GET['godir'] : null;
           if (!is_null($godir))
               $view->cssStyle('margin: 15px; position: inherit;')
                       ->viewImg($dir->dirListByType('file', $godir));
       }

com switch

switch ($_GET['actions']) {
           case 'upload':
               $model->upload();

               break;
           case 'mkdir':
               $out = $model->creatDir($_POST['selectdir'] . DIRECTORY_SEPARATOR . $_POST['ndir']);

               $res = $out ? 'Pasta Criada' : 'Falha ao Criar Pasta';
               $model->response->setMsg(array('msg' => $res, 'response' => $out));

               break;
           case 'remove':
               $out = $model->deleteDir($_POST['ndir']);

               $res = $out ? 'Deletado com Sucesso' : 'Falha no delete';
               $model->response->setMsg(array('msg' => $res, 'response' => $out));

               break;

           default:
               break;
       }

 

com CALL

       if (method_exists($model, $method[0]))
           call_user_func(array($model, $method[0]));
       else
           throw new BadMethodCallException('Metodo não Existe!');

 

ou outra forma Misteriosa????

'Command ta fora de questão' =)

 

desde já fica os agradecimentos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria assim:

 


if (isset($_GET['actions'])) {
    if($_GET['actions'] === 'upload'){
        $model->upload();
    }elseif($_GET['actions'] === 'dir'){
        $dir->loaderDir();
    }elseif($_GET['actions'] === 'listimg'){
        $godir = isset($_GET['godir']) ? ROOT_DIR . 'raiz' . $_GET['godir'] : null;
        if (!is_null($godir)){
           $view->cssStyle('margin: 15px; position: inherit;')->viewImg($dir->dirListByType('file', $godir));
        }
    }
}else{
   return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

elseif hum...

 

problema do elseif .. (pelo menos pra mim) =X

 

fica muito confuso o codigo =X

 

e uma vez li um artigo que dizia que elseif é lento!

Compartilhar este post


Link para o post
Compartilhar em outros sites

optaria pelo switch, porém, para o caso específico, call_user_func ficaria "elegante" e acho que até mais rápido

Compartilhar este post


Link para o post
Compartilhar em outros sites

elseif hum...

 

problema do elseif .. (pelo menos pra mim) =X

 

fica muito confuso o codigo =X

 

e uma vez li um artigo que dizia que elseif é lento!

 

realmente o if..elseif é mais lento, mais em algumas ocasiões (operações booleanas por exemplo) é mais "fácil" e de melhor utilização.

 

eu usaria o switch

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente o if..elseif é mais lento, mais em algumas ocasiões (operações booleanas por exemplo) é mais "fácil" e de melhor utilização.

 

eu usaria o switch

leia a doc.

switch é mais lento que if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem um sistema bem elaborado usaria o switch apesar de pouco mais lento ele é 1000 x mais organizado.

digo bem elaborado por que? o switch vai perder pouquíssimo e se o resto tiver bem estruturado não vai notar diferença alguma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.