mohican Posted April 26, 2009 at 01:32 AM Report #259113 Posted April 26, 2009 at 01:32 AM boa noite, cá está o verdinho outra vez 😁 estou a fazer um site, em que quero uma div dinamica, dependendo do menu que o user carregar. o que tenho é isto: index.html <ul id="nav"> <li class="b" <a href="index.php">Home</a></li> <li id="link" class="a"><a href="index.php?id=1">Hobbies</a></li> <li id="linkDois" class="d"><a href="index.php?id=2">Gallery</a></li> <li id="linkTres" class="c"><a href="index.php?id=3">Contact</a></li> mais abaixo, dentro da div dinamica, tenho: <?php if (isset($_GET['id']) == NULL) { include 'home.php'; } else { switch($_GET['id']) { case 1: include 'hobbies.php'; case 2: include 'gallery.php'; case 3: include 'contact.php'; } } ?> a minha questão é... se esta é a melhor maneira de o fazer. e se há por aí "soluções" melhores.. porque tenho outras divs estaticas no site e quando são "usadas" a div dinamica volta sempre à inicial, home.php 😞 espero que me tenha explicado bem 😁
pedrotuga Posted April 26, 2009 at 02:00 AM Report #259114 Posted April 26, 2009 at 02:00 AM Isso que aí tens funciona. E se der para os teus gastos então não há razão nenhuma para não o usares. Se te começares a deparar com muita logica de aprensentação metida no teu código, então é usar um sistema de templates. É a evolução natural de uma aplicação web de pequena dimensão.
mohican Posted April 26, 2009 at 02:03 AM Author Report #259115 Posted April 26, 2009 at 02:03 AM e o include é o melhor a usar neste caso? onde posso ver umas coisitas mais sobre sistemas de templates? obrigado pedro 🙂
Solution pedrotuga Posted April 26, 2009 at 02:42 AM Solution Report #259118 Posted April 26, 2009 at 02:42 AM Se é o melhor não sei. Que funciona perfeitamente e que está aí utilizado da forma típica que é usado e que vem nos livros, isso sim, está. Sobre templates tens aqui um exemplo simples no nosso wiki: https://wiki.portugal-a-programar.pt/dev_web/php/sistema_minimalista_de_templates/ Isso dá-te basicamente uma ideia do que são templates e como ajudam a manter tudo muito mais arrumadinho. Depois há mil e uma teorias, uns preferem sistemas de templates com tantas funcionalidades que são eles próprios uma linguagem, outros não podem ouvir falar em sistemas de tempaltes porque dizem que o php é quanto basta. Outro há que dizem que os templates devem separar a lógica de apresentação da lógica aplicacional, enqaunto que outros dizem que o que deve ser separado é simplesmente o código php do HTML. Não sei, uma coisa é certa, o que gostas mais e te dá mais jeito é com certeza O MELHOR para ti, independentemente de teorias. Um conselho que dou que é basicamente a melhor forma de aprender programação na minha opinião: Pega num projecto que conheças que use uma coisa semelhante ao que queres, e esmifra o código fonte, vê como é que eles fazem.
mohican Posted April 26, 2009 at 03:24 AM Author Report #259120 Posted April 26, 2009 at 03:24 AM penso que por agora isto me chega, de qualquer das maneiras vou dar uma vista de olhos nisso 🙂 obrigado! abraço
softklin Posted April 26, 2009 at 10:01 AM Report #259126 Posted April 26, 2009 at 10:01 AM EU nesse PHP até te sugeria usares apenas o switch: <?php switch($_GET['id']) { case 1: include 'hobbies.php'; break; case 2: include 'gallery.php'; break; case 3: include 'contact.php'; break; default: include 'home.php'; } } ?> Para além de te tornar o código mais simples, ainda te carrega a pagina home, no caso de o utilizador colocar uma baboseira qualquer la, ou não colocar nenhum valor no GET['id'] Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
mohican Posted April 26, 2009 at 11:30 AM Author Report #259134 Posted April 26, 2009 at 11:30 AM softclean obrigado! desconhecia o default, mas até dá jeito 👍
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now