PHP


Introdução ao PHP

PHP (Hypertext Preprocessor) é uma linguagem de programação voltada para o desenvolvimento web do lado do servidor. Ele permite criar páginas dinâmicas, processar dados de formulários, gerenciar cookies e sessões, e interagir com bancos de dados.

Sintaxe do PHP

A sintaxe do PHP é similar à de outras linguagens baseadas em C. O PHP pode ser incorporado diretamente em arquivos HTML, e o código PHP é delimitado por <?php e ?>. Cada instrução deve terminar com um ponto e vírgula (;).


      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Exemplo PHP</title>
      </head>
      <body>
          <h1>Bem-vindo ao PHP</h1>
          <?php
echo "Olá, eu sou um script PHP!";
?> </body> </html>

Variáveis e Constantes

Em PHP, as variáveis são declaradas com o símbolo `$` e podem armazenar diferentes tipos de dados. As constantes são declaradas com a função `define()` e não podem ser alteradas após serem definidas.

Exemplo de Variáveis e Constantes em PHP:

<?php
    $idade = 25; // Variável
    define("NOME", "Carlos"); // Constante
    
    echo "Meu nome é " . NOME . " e eu tenho " . $idade . " anos.";
?>
                

Operadores PHP

PHP suporta diversos operadores para realizar operações matemáticas, atribuições e comparações. Vamos ver exemplos de cada um:

1. Operadores Aritméticos

Os operadores aritméticos são usados para realizar cálculos matemáticos simples, como adição, subtração, multiplicação e divisão.

  • + (adição)
  • - (subtração)
  • * (multiplicação)
  • / (divisão)
Exemplo de Operadores Aritméticos:

<?php
    $a = 10;
    $b = 5;

    $soma = $a + $b;
    $subtracao = $a - $b;
    $multiplicacao = $a * $b;
    $divisao = $a / $b;

    echo "Soma: $a + $b = $soma<br>";
    echo "Subtração: $a - $b = $subtracao<br>";
    echo "Multiplicação: $a * $b = $multiplicacao<br>";
    echo "Divisão: $a / $b = $divisao<br>";
?>
                

Explicação: Neste exemplo, criamos duas variáveis ($a e $b) com os valores 10 e 5, respectivamente. Usamos operadores aritméticos para calcular a soma, subtração, multiplicação e divisão dos valores e exibimos os resultados. O operador + realiza a soma, - realiza a subtração, * a multiplicação e / a divisão.

2. Operadores de Comparação

Os operadores de comparação são usados para comparar dois valores. O resultado é sempre true ou false.

  • == (igualdade)
  • != (diferença)
  • > (maior que)
  • < (menor que)
Exemplo de Operadores de Comparação:

<?php
    $x = 10;
    $y = 20;

    echo "$x == $y: " . ($x == $y ? 'true' : 'false') . "<br>";
    echo "$x != $y: " . ($x != $y ? 'true' : 'false') . "<br>";
    echo "$x > $y: " . ($x > $y ? 'true' : 'false') . "<br>";
    echo "$x < $y: " . ($x < $y ? 'true' : 'false') . "<br>";
?>
                

Explicação: Aqui comparamos os valores das variáveis $x (com valor 10) e $y (com valor 20) usando operadores de comparação. Por exemplo, o operador == verifica se $x é igual a $y, o operador != verifica se eles são diferentes, > verifica se $x é maior que $y, e < verifica se $x é menor que $y. O resultado será 'true' ou 'false', dependendo da comparação.

3. Operadores Lógicos

Os operadores lógicos permitem combinar múltiplas condições para verificar se uma expressão é verdadeira ou falsa.

  • && (E lógico)
  • || (OU lógico)
  • ! (NÃO lógico)
Exemplo de Operadores Lógicos:

<?php
    $idade = 25;
    $temCarteira = true;

    echo "Idade >= 18 e tem carteira: " . (($idade >= 18 && $temCarteira) ? 'true' : 'false') . "<br>";
    echo "Idade < 18 ou tem carteira: " . (($idade < 18 || $temCarteira) ? 'true' : 'false') . "<br>";
    echo "Não tem carteira: " . (!$temCarteira ? 'true' : 'false') . "<br>";
?>
                

Explicação: Neste exemplo, usamos operadores lógicos para combinar condições. O operador && (E lógico) verifica se $idade é maior ou igual a 18 e se $temCarteira é verdadeiro. O operador || (OU lógico) verifica se $idade é menor que 18 ou se $temCarteira é verdadeiro. O operador ! (NÃO lógico) inverte o valor de $temCarteira, ou seja, se for verdadeiro, passa a ser falso, e vice-versa.

Controle de Fluxo

O controle de fluxo em PHP é realizado com estruturas como `if`, `else`, `while`, `for`, e `switch`. Essas estruturas permitem executar blocos de código dependendo das condições estabelecidas.

Exemplo de Controle de Fluxo em PHP:

<?php
    // Exemplo de if/else
    $idade = 18;
    if ($idade >= 18) {
        echo "Você é maior de idade.";
    } else {
        echo "Você é menor de idade.";
    }

    // Exemplo de loop for
    for ($i = 1; $i <= 5; $i++) {
        echo "Número: " . $i . "<br>";
    }

    // Exemplo de loop while
    $contador = 1;
    while ($contador <= 5) {
        echo "Contagem: " . $contador . "<br>";
        $contador++;
    }
?>
                

Explicação: O código utiliza três exemplos:

  • Um controle `if/else` para verificar se a idade é maior ou igual a 18 anos.
  • Um loop `for` que imprime números de 1 a 5.
  • Um loop `while` que também imprime números de 1 a 5, incrementando o valor a cada iteração.

Funções em PHP

Funções em PHP são blocos de código reutilizáveis que podem ser chamados em qualquer parte do programa. Elas ajudam a organizar o código e evitar a repetição desnecessária. Uma função pode receber parâmetros e retornar valores.

Exemplo de Funções em PHP:

<?php
    // Função simples sem parâmetros
    function saudacao() {
        echo "Olá, bem-vindo ao PHP!";
    }

    // Chamando a função
    saudacao();

    // Função com parâmetros
    function somar($a, $b) {
        return $a + $b;
    }

    // Chamando a função com argumentos
    $resultado = somar(10, 5);
    echo "A soma é: " . $resultado;
?>
                

Explicação: O primeiro exemplo define uma função chamada `saudacao` que imprime uma mensagem. O segundo exemplo define uma função chamada `somar` que aceita dois parâmetros e retorna a soma deles.

Formulários com PHP

PHP pode processar dados enviados via formulários HTML. Ao submeter um formulário, os dados podem ser capturados e processados usando métodos `GET` ou `POST`, e são acessíveis através das superglobais `$_GET` e `$_POST`.

Exemplo de Formulário em PHP (Método POST):

<!-- Formulário HTML -->
<form method="post" action="processar.php">
    Nome: <input type="text" name="nome"><br>
    Email: <input type="email" name="email"><br>
    <input type="submit" value="Enviar">
</form>

<!-- Arquivo processar.php -->
<?php
    // Capturando os dados do formulário
    $nome = $_POST['nome'];
    $email = $_POST['email'];

    echo "Nome: " . $nome . "<br>";
    echo "Email: " . $email;
?>
                

Explicação: O exemplo mostra um formulário simples que envia dados usando o método `POST`. No arquivo `processar.php`, os valores do formulário são capturados e exibidos usando a superglobal `$_POST`.

Conexão com Banco de Dados

PHP pode se conectar a bancos de dados como MySQL usando as extensões `mysqli` ou `PDO`. Essas bibliotecas permitem executar consultas SQL, recuperar dados e realizar operações como inserção, atualização e exclusão de dados no banco.

Exemplo de Conexão ao Banco de Dados MySQL usando PDO:

<?php
    // Conectando ao banco de dados usando PDO
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        echo "Conexão realizada com sucesso!";
    } catch (PDOException $e) {
        echo "Erro ao conectar: " . $e->getMessage();
    }
?>
                

Explicação: O exemplo mostra como se conectar a um banco de dados MySQL utilizando `PDO`. O bloco `try/catch` é utilizado para capturar e tratar possíveis erros durante a conexão.

Segurança no PHP

A segurança é fundamental no desenvolvimento de aplicações PHP. Algumas boas práticas incluem:

  • Usar `Prepared Statements` para prevenir SQL Injection.
  • Validar e sanitizar entradas de dados dos usuários.
  • Escapar dados de saída com `htmlspecialchars()` para prevenir ataques XSS.
Exemplo de Uso de Prepared Statements para Prevenir SQL Injection:

<?php
    // Conexão com o banco
    $pdo = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");

    // Consulta usando Prepared Statement
    $stmt = $pdo->prepare("SELECT * FROM usuarios WHERE email = :email");
    $stmt->bindParam(':email', $email);

    $email = "teste@exemplo.com";
    $stmt->execute();

    $resultado = $stmt->fetchAll(PDO::FETCH_ASSOC);

    print_r($resultado);
?>
                

Explicação: Este exemplo utiliza `Prepared Statements` com PDO para evitar SQL Injection, uma das falhas de segurança mais comuns em aplicações web.