Como usar PHP sem saber (quase nada de) PHP

PHP significa PHP: Hypertext Preprocessor. Caso tenha percebido, o P inicial não tem significado algum. É um paradoxo.

A linguagem PHP é muito poderosa. Permite rodar scripts no servidor e dá acesso ao banco de dados. Neste post irei ensinar a usar variáveis, includes e controle de fluxo para fazer coisas mais interessantes do que HTML puro.

Antes de tudo, como usar o PHP? Simplesmente faça o upload de um arquivo com extensão php para o seu domínio, (se ele der suporte ao PHP) e rode.

Mas existe uma maneira melhor e mais rápida de rodar os scripts, antes de fazer o upload. Instale um servidor Apache no seu PC. Se usa Windows, eu recomendo o Wamp.

Depois de instalar o servidor Apache no seu PC, ou se tiver escolhido enviar o script para o seu domínio, mãos na massa. Para escrever um script PHP ponha o código entre estas duas tags:

<?php
...código aqui...
?>

Variáveis

As variáveis no PHP começam com um cifrão ($). Para definir uma váriavel, é simples assim:

<?php
$variavel = "Hello World";
?>

Para imprimir a variável use o comando echo.

<?php
$variavel = "Hello World";
echo "A variável \$variavel = $variavel";
?>

Vamos explicar o que aconteceu aqui. Dentro de aspas duplas, $variavel é substituida pela variável que definimos anteriormente. Para apenas escrever literalmente $variavel, nós colocamos uma barra antes do cifrão.

Digamos que você quer escrever a idade de uma pessoa baseado na data de nascimento dela.

<?php

$data_de_nascimento = new DateTime('1984-01-01');
$hoje   = new DateTime('today');

$idade = $data_de_nascimento->diff($hoje)->y;

?>
<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="utf-8">
        <title>Teste</title>
    </head>
    <body>

        <strong>Nome: </strong> John Doe<br>
        <strong>Idade: </strong> <?php echo $idade; ?>

    </body>
</html>

No topo da página entramos no modo PHP e definimos as variaveis $data_de_nascimento e $hoje, para depois usá-la para definir o valor da variável $idade.

Depois saímos do modo PHP e escrevemos o código HTML e depois do trecho Idade: entramos rapidamente no modo php apenas para imprimir o valor da variável $idade.

Include

Includes servem para carregar um arquivo externo dentro do script atual. Por exemplo, você tem o arquivo cabecalho.inc.php e quer carregar ele no script index.php. Perceba que nossos includes, por convenção, sempre terão a extensão .inc.php.

Arquivo cabecalho.inc.php:

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="utf-8">
        <title>Teste</title>
    </head>
    <body>
        <header>
            <h1>Título</h1>
        </header>
        <main>

Esse será o cabeçalho padrão de todos os nossos arquivos. Usando includes vocês não precisará dar Ctrl+C, Ctrl+V nesse código. Isso é bom pois se quiser fazer mudanças no cabeçalho, você modifica apenas o cabecalho.inc.php e não 200 cópias.

Arquivo index.php:

<?php
include("cabecalho.inc.php");
?>
        Conteúdo vai aqui. bla bla bla bla bla bla
        </main>
    </body>
</html>

Perceba que entramos e saímos do modo PHP e escrevemos código HTML fora dele. Note que incluímos o cabecalho.inc.php e escrevemos algum código HTML no final, seria interessante ter também o arquivo footer.inc.php para dar include e carregar o rodapé da página. Assim para cada seção da página você apenas incluíria o cabeçalho e o rodapé e colocaria o conteúdo respectivo.

Controle de fluxo

Um dos recursos mais importantes do PHP ou de qualquer outra linguagem de programação é a construção If. Com ela o script irá tomar decisões lógicas e executar determinados trechos de código. Opcionalmente você pode usar o Elseif e o Else, que irão executar se o If não for executado. Veja um exemplo:

<?php

$a = 42;

if ($a == 42) {
    echo "\$a é 42.";
} else {
    echo "\$a não é 42.";
}

?>

Nós usamos o if e entre parênteses uma expressão $a == 40. Essa expressão, internamente irá retornar um True (Verdadeiro) ou False (Falso). Se o Verdadeiro for retornado, o código entre chaves irá executar. Caso contrário nada acontecerá, a não ser que tenha um Else (Senão), que irá executar se o valor for Falso.

A expressão verifica se o valor de $a é igual a 42. Note que não usamos apenas um sinal de igual, mas dois. Um sinal de igual é atribuição de variável. Dois é comparação de igualdade. Se o valor não for 42 o Else será executado.

Mas digamos que você precise usar um Else dentro de um If. Por exemplo:

<?php

$a = 50;

if ($a == 30) {
    echo "30";
} else {
    if ($a == 25) {
        echo "25";
    }
}

?>

O mesmo código poderia ser escrito usando um elseif.

<?php

$a = 50;

if ($a == 30) {
    echo "30";
} elseif ($a == 25) {
    echo "25";
}

?>

Assim o nosso código fica mais limpo.

Mas o que é o elseif? Segundo o manual do PHP:

elseif, é o que o nome sugere, uma combinação do if e do else. Como o else, ele extende um if para executar instruções diferentes no caso do if original retornar FALSE. Entretanto, diferente do else, ele executará uma expressão alternativa somente se a condição do elseif retornar TRUE.

Vamos para um exemplo prático. Vamos fazer um script que irá dar Bom dia/Boa tarde/Boa noite baseado na hora atual.

<?php

date_default_timezone_set('America/Sao_Paulo');

$hora = date("H");

if ($hora < 12) {
    echo "Bom Dia!";
} elseif ($hora < 18) {
    echo "Boa Tarde!";
} else {
    echo "Boa Noite!";
}

?>

No script, usamos um if para determinar se a hora é menor que meio dia, e se for dá Bom Dia. Se não, verifica se a hora é menor que 18PM e se for dá Boa Tarde. Caso contrário dá Boa noite.

Dominando as variáveis, includes e controle de fluxo, você poderá gerar páginas dinâmicas com PHP.

Não esqueça de comentar, dúvidas e sugestões são bem-vindas.