Navegação: Home » PHP, Tutoriais » Tutorial PHP 5 – Construção de Layout.

Tutorial PHP 5 – Construção de Layout.

Publicado por Raphael Monroe em 22/mai/2008

Olá caros leitores,

Hoje abordarei como construir aplicações em php, utilizandoa idéia de classes e objetos.

Não vou, entretanto, abordar aspectos teóricos sobre classes e objetos nesse tutorial. Meu objetivo, neste primeiro tutorial da série, é mostrar os primeiros passos para construção de layouts utilizando orientação à objeto.

Então, mãos à obra! Nosso “desenho final” será um layout de três colunas, com menu de navegação, header e rodapé, como mostra a figura a seguir :

Layout que será construído

Layout que será construído

Iremos desenvolver, portanto, 7 classes : “layout”, “header”, “menu_nav”, “barra_esq”, “corpo”, “barra_dir”, “rodape”. Percebam que a classe “layout” será utilizada para “unir” todas as outras. Hoje, começaremos a desenvolver o código da classe layout.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<?php
 
//Criado por : Raphael Monroe Marcondes
// BLOG : www.raphaelmonroe.com
class layout
{
	//construtor da classe...
	function __construct()
	{
		//Chama a função de inclusão de classes necessárias...
		$this->inclui_classes();
		//Chama a função de inicialização de variáveis...
		$this->inicializa_variaveis();
	}
 
	//Função pra incluir todas as classes que precisaremos para o desenvolvimento 
	//do layout...
	function inclui_classes()
	{
		include_once("head.class.php");
		include_once("menu_nav.class.php");
		include_once("barra_esq.class.php");
		include_once("corpo.class.php");
		include_once("barra_dir.class.php");
		include_once("rodape.class.php");				
	}
 
	//Função responsável por criar objetos(instâncias) daquelas classes adicionais.
	//A partir de uma linha "$var = new objeto();", você cria um objeto que será
	//representado por $var.
	function inicializa_variaveis()
	{
		$this->head = new head();
		$this->menu_nav = new menu_nav();
		$this->barra_esq = new barra_esq();		
		$this->corpo = new corpo();
		$this->barra_dir = new barra_dir();
		$this->rodape = new rodape();
	}
}	
?>

Salve o código acima como “layout.class.php” utilizando o seu editor favorito.

O arquivo fonte pode ser baixado aqui.

Lembrando que se você rodar o código, nada acontecerá ainda. Estamos iniciando nossos trabalhos!

Aguardem os próximos posts!

Abraço.

Compartilhe este artigo / Assine nosso Feed
46 leitores já são assinantes e recebem atualizações gratuitas. Não fique fora dessa! Assine nosso Feed.
PG
Raphael Monroe é Bacharel em Ciência da Computação pela Universidade Federal de Itajubá. Atualmente trabalha como Analista Júnior em uma empresa de Telecomunicações.

10 Respostas para “Tutorial PHP 5 – Construção de Layout.”

  1. Roberto disse:

    Oi Raphael, tudo bem?
    Muito legal as dicas cara! Só não entendi as partes que você usou o ” $this->”..
    Poderia explicar um pouco mais?
    Valeu!

  2. Fala Roberto blz?
    Seguinte cara. Usamos o “$this->” para se referir a uma “variável global da classe”, isto é, a partir do código “$this->var = new var();”, estamos criando uma variável $var, que será “vista” por toda a classe. Assim, se em alguma função eu precisar de $var, posso chamar $this->var e ter acesso à ela, sem a necessidade de mandá-la como parâmetro à função.
    Qualquer dúvida, comente de novo sem problemas!
    Obrigado. []`s

  3. [...] Requisitos: Artigo “Tutorial PHP5 – Construção de Layout“. [...]

  4. Manuel disse:

    Eu estava deseperado, pois precisava fazer um layout exatamente igual ao seu “desenho final” acima. Caiu como uma luva! ;) Acontece que não entendo nada de CSS! Vou ler a parte 2, talvez vc me dê também a outra luva! rsrsrsrsr. Valeu!

  5. Alessandra disse:

    Rafael

    Nunca achei na internet nada sobre php tão bem explicado, até mesmo pessoas leigas no assunto conseguem entender tudinho.Além de saber os códigos você tem o dom de saber transmitir.Serei frequentadora assídua deste blog.Continue por favor com o tutorial de php .Obrigada.
    Ale.

  6. hlegius disse:

    Rapaz, eu até entendo sua boa vontade, mas na boa, recomendo ler algumas coisinhas sobre PHP antes de sair publicando artigos desse nível.

    Recomendo também, dar uma lida sobre Orientação a Objetos, pois ficou claro na sua pseudo-classe que faltou domínio no assunto.

    E outra: public, private e protected cai bem ;)

    Para seu “incluir_classes” eu posso te recomendar duas coisas:
    1. Autoload – http://br.php.net/autoload
    2. Namespaces – http://br.php.net/namespace

    Bons estudos !
    Abraço !

  7. Rafael Dohms disse:

    Raphael,

    A ideia da classe realmente é boa, porem voce cometeu algumas falhas no código no que diz respeito a versões novas do PHP.

    1. Escopo dentro da classe, métodos e propriedades devem ser publicos, privados, etc..
    2. Ao inved de require e include, usar um Autoloader é mais recomendado
    3. Não é regra, mas existe hoje um padrão de nomenclatura de classes usando camelCase, ou seja, a classe seria Layout e MenuNav e similares e os arquivos teriam estes mesmos nomes, ou melhor ainda teriam um escopo de namespace (antes do 5.3, depois da pra usar namespace mesmo):

    Design_Layout, Design_MenuNav …

    com isso voce poderia usar autoloaders padroes como o do ZF e diversos outros Frameworks, e todas classes estariam numa pasta Design.

    Design/Layout.php, Design/MenuNav.php …

    Enfim, algumas dicas para vc melhorar o código, entre em contato se quiser discutir esses conceitos.

    Abraço

  8. @Rafael Dohms e @hlegius :

    Obrigado pelos comentários e por terem visitado o Blog.

    Reconheço que as dicas que vocês passaram são válidas e devem ser utilizadas por todos que desejam criar layouts utilizando php.

    Mas, como todos os artigos aqui no meu blog, pode-se perceber que nunca utilizei frases como: “Isso é o certo” ou “Isso sempre deve ser feito” ou até mesmo “Sou certificado na área, manjo tudo e minhas idéias devem sempre ser seguidas”. Pois bem, como vocês mesmo disseram, essa forma por mim apresentada não foi uma das melhores. E o objetivo era realmente esse. Iniciar um assunto e aprender com os visitantes. Esse é o maior objetivo do meu blog : Aprender.

    Na época desse artigo, estava iniciando meus estudos e queria compartilhar o andamento com o pessoal que visita o blog. Portanto, se, no caso, eu ainda estivesse estudando isso, seus comentários seriam de ótima ajudam (e realmente continuam sendo para os leitores) e teriam muito a acrescentar ao meu desenvolvimento. Entretanto, hoje trabalho na área de aplicações corporativas, utilizando Wicket, JPA, Spring e muitos outros frameworks Java.

    Portanto, estou sempre aberto a sugestões e críticas. Por isso, peço que continuem comentando e ajudando os estudantes e amantes da programação.

    Mais uma vez obrigado pelas dicas!

    Um abraço!

  9. Rafael Dohms disse:

    @Raphael

    Que bom, deixei o comentário mesmo por querer lhe indicar novas areas de estudo e evolução. Minha filosofia é de que é importante publicar um blog mesmo que ache o que fez “incompleto” ou ate incorreto, pois isto vai gerar discussões como esta e voce vai acabar no final aprendendo algo novo.

    “Um bom desenvolvedor deve sabe expressar suas opiniões publicamente e defender sua posição, ou admitir seu erro” (Cal Evans)

    Abraço e boa sorte ai no futuro

  10. hlegius disse:

    Legal que não tenha levado pro lado ofensivo !

    Vale lembrar que o ponto que eu queria chegar era: conduzir os iniciantes da linguagem ao erro. Essas “meias-verdades” costumam confundir e muito quem está tentando ler sobre tal assunto.

    Precisar de alguma coisa, pode dar um grito aí !

    Abraço !

Deixe seu Comentário

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
| Política de Privacidade |