Ir para conteúdo

POWERED BY:

Arquivado

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

d1eg0.

[Resolvido] Classe Include menu

Recommended Posts

Ola pessoal,

 

criei uma classe para verificação da página que vai ser inclusa. Mas ele sempres esta dando erro não consegui encontrar o problema

 

esta assim até agora

<?php
class  getUrl{

       //array com todas as paginas
       private $links=array('home','contato','perfil');

       function getLink($link){

               $size = sizeof($this->links);


                       if(!empty($link)){

                                       for($i=0;$i<$size;$i++){

                                                       if($this->links[$i] === $link){

                                                                       $link='modulos/'.$link.'.php';

                                                               }else{

                                                                       $link='modulos/erro.php';

                                                               }

                                               }

                               }else{

                                       $link='modulos/home.php';
                               }       

                               include($link);         
                       }


       }
?>

 

 

instancio a classe da seguinte maneira

 

<body>
<ul>
<li><a href="?menu=home">Home</a></li>
<li><a href="?menu=contato">Home</a></li>
<li><a href="?menu=perfil">Home</a></li>
</ul>

<?php

$menu =  new getUrl();
$url = isset($_GET['menu']) ? $_GET['menu']:'';
$menu->getLink($url);
?>
</body>

 

 

Alguem achou alguma erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pra que esse laço 'for' aí? Não entendi a razão de ser dele... você espera obter o que com isso? :huh:

 

Se o seu objetivo é só selecionar um arquivo php para o include basta usar um switch?

 

switch($link) {
   case 'home';
   case 'contato';
   case 'perfil';
      include "modulos/{$link}.php";
   break;
   default;
      include "modulos/erro.php";
   break;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pra que esse laço 'for' aí? Não entendi a razão de ser dele... você espera obter o que com isso? :huh:

 

Se o seu objetivo é só selecionar um arquivo php para o include basta usar um switch?

 

switch($link) {
   case 'home';
   case 'contato';
   case 'perfil';
      include "modulos/{$link}.php";
   break;
   default;
      include "modulos/erro.php";
   break;
}

 

 

è o switch ficou bem, eu etava usando o laço para passar elemento por elemento do array e verificar se algum era igual ao requisitado

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.