MangaCode - Desenvolvimento & Cursos Web

PHP

Organizando e otimizando o seu projeto com PHP

  • Autor: Bernardo Corrêa
  • Publicado em: 04/10/2018 17:05h
  • Visualizado por: 1727 pessoas

Opa! Preparado para mais uma dica? Então vamos lá, hoje eu vou ensinar você a organizar e otimizar melhor o seu código HTML com a linguagem de programação PHP. Se você ainda não faz esse tipo de organização nos seus projetos, provavelmente está tendo o dobro de trabalho nas manutenções dos mesmos.

Mesmo se você não tem nenhuma familiaridade com qualquer linguagem de programação, não se preocupe, você só precisa entender a lógica e saber organizar as pastas do seu projeto. Antes de mais nada, se seus arquivos ainda estão com a extensão .html, você deverá trocá-las para .php, pois não é possível inserir qualquer tag da linguagem PHP em arquivos com extensão .html. Então faça isso e vem comigo!

Vamos simular um exemplo de uma página Home básica, com um cabeçalho com menu principal, um corpo e um rodapé. Neste nosso rodapé, nós também teremos um menu reverso, que seguirá com os mesmos links do nosso menu principal do nosso cabeçalho, beleza? Então veja a nossa estrutura:

<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="UTF-8">
	<title>Organizando documento HTML com PHP</title>
</head>
<body>
	<header>
		<ul>
			<li>Home</li>
			<li>Sobre Nós</li>
			<li>Serviços</li>
			<li>Contato</li>
		</ul>
	</header>

	<section>
		<header>
			<h1>Serviços</h1>
		</header>
		
		<div>
			<article>
				<header>
					<h1>Título Serviço 1</h1>
				</header>
			</article>

			<article>
				<header>
					<h1>Título Serviço 2</h1>
				</header>
			</article>
		</div>
	</section>

	<footer>
		<nav>
			<ul>
				<li>Home</li>
				<li>Sobre Nós</li>
				<li>Serviços</li>
				<li>Contato</li>
			</ul>
		</nav>
	</footer>
</body>
</html>

Pense comigo, se o nosso projeto terá por exemplo, quatro páginas, possivelmente teremos que exibir o cabeçalho com menu e o rodapé em todas elas certo? Sabendo disso, você teria que reescrever todos esses elementos em cada uma dessas quatro páginas, isso daria um trabalhão, né? Mas o pior de tudo, é se você precisar adicionar um novo link no seu menu por exemplo, e ter que adicionar esse mesmo link em todas as páginas! E se você 20 páginas no seu projeto? Com certeza você já teria perdido o controle faz tempo!

Mas para que isso não aconteça, usaremos o dinamismo do PHP para organizar melhor o seu projeto e manter o controle de tudo que está sendo alterado. Bom, sabendo que os dados de cabeçalho e rodapé irão prevalecer em todas as páginas do projeto, iremos chamar eles de Elementos Fixos, portanto, iremos criar dois arquivos PHP que se chamarão: header.inc.php e footer.inc.php.

O conteúdo desses arquivos será correspondente a cada um dos nossos Elementos Fixos, veja como ficaria cada um destes arquivos:

<!-- header.inc.php --> 
<header>
	<ul>
		<li>Home</li>
		<li>Sobre Nós</li>
		<li>Serviços</li>
		<li>Contato</li>
	</ul>
</header>
<!-- footer.inc.php -->
<footer>
	<nav>
		<ul>
			<li>Home</li>
			<li>Sobre Nós</li>
			<li>Serviços</li>
			<li>Contato</li>
		</ul>
	</nav>
</footer>

Agora que já temos os conteúdos dos nossos arquivos prontos, chegou a hora de incluirmos eles em nossa página Home e vermos a mágica acontecer:

<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="UTF-8">
	<title>Organizando documento HTML com PHP</title>
</head>
<body>
	<?php include "header.inc.php"; ?>

	<section>
		<header>
			<h1>Serviços</h1>
		</header>
		
		<div>
			<article>
				<header>
					<h1>Título Serviço 1</h1>
				</header>
			</article>

			<article>
				<header>
					<h1>Título Serviço 2</h1>
				</header>
			</article>
		</div>
	</section>

	<?php include "footer.inc.php"; ?>
</body>
</html>

Com isso, meu querido, toda a página que você criar em seu projeto, não será mais preciso reescrever o seu cabeçalho ou rodapé, eles já estão separados nos dois arquivos .php e poderão ser chamados somente utilizando a função nativa include.

Mas não para por ai! Lembra que no início eu falei que o rodapé também teria os mesmos links do menu principal? Pois é, que tal separarmos esses links em um arquivo também? Assim poderemos utilizá-lo tanto em nosso cabeçalho, quanto em nosso rodapé. Então vamos criar um arquivo PHP chamado menu.inc.php e depois incluímos ele tanto nosso cabeçalho quanto em nosso rodapé, seguindo a mesma lógica anterior:

<!-- header.inc.php --> 
<header>
	<?php include "menu.inc.php"; ?>
</header>
<!-- footer.inc.php -->
<footer>
	<nav>
		<?php include "menu.inc.php"; ?>
	</nav>
</footer>

Fácil demais! Agora qualquer alteração de menu que você fizer neste arquivo, irá alterar em todos os pontos em que o mesmo foi incluído, gerando mais organização e clareza no seu código.

OTIMIZANDO O CONTEÚDO DO SEU PROJETO

Agora uma dica extra que vai facilitar muito e deixar o seu código muito mais enxuto. Digamos que você tenha uma sessão no seu projeto que exiba serviços que você presta, dá para imaginar que você terá um código HTML mais ou menos assim:

<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="UTF-8">
	<title>Organizando documento HTML com PHP</title>
</head>
<body>
	<?php include "header.inc.php"; ?>

	<section>
		<header>
			<h1>Serviços</h1>
		</header>
		
		<div>
			<article>
				<header>
					<h1>Redes Sociais</h1>
				</header>
			</article>

			<article>
				<header>
					<h1>Websites</h1>
				</header>
			</article>
		</div>
	</section>

	<?php include "footer.inc.php"; ?>
</body>
</html>

Com a utilização do PHP, nós podemos deixar isso dinâmico, fazendo com que você consiga replicar várias vezes o mesmo bloco, utilizando os laços de repetição. No PHP, nós temos três tipos de laços de repetição, são eles: For, Foreach e While. Normalmente para replicar conteúdos estáticos utilizamos o laço For, veja como ficaria a replicação dos elementos através deste laço:

<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="UTF-8">
	<title>Organizando documento HTML com PHP</title>
</head>
<body>
	<?php include "header.inc.php"; ?>

	<section>
		<header>
			<h1>Serviços</h1>
		</header>
		
		<div>
			<?php
				for($i=1; $i<=3; $i++): 
				$Title = ($i == 1 ? 'Redes Sociais' : ($i == 2 ? 'Websites' : 'Marketing Digital'));
			?>
				<article>
					<header>
						<h1><?= $Title ?></h1>
					</header>
				</article>
			<?php endfor; ?>
		</div>
	</section>

	<?php include "footer.inc.php"; ?>
</body>
</html>

Observe que criamos uma variável chamada $Title, que recebe uma condição que verifica por qual número o nosso laço está percorrendo atualmente, isso é resgatado através da variável $i, que está dentro do For. Então quando $i for igual a 1, receberá o título “Redes sociais”, quando for igual a 2 receberá “Websites”, e assim por diante.

Com isso, conseguimos escrever um único <article> que se replica através do nosso laço de repetição e altera o nosso título através de uma variável condicional, deixando o nosso bloco 100% dinâmico e otimizado.

É isso ai, seus projetos agora terão muito mais organização e clareza com essas dicas utilizando a linguagem PHP. Espero que você tenha gostado de mais este conteúdo e não esquece de deixar o seu comentário e compartilhar para os seus amigos desenvolvedores.

Vejo você em breve ;)