DEV Community

Evandro Fonseca Junior
Evandro Fonseca Junior

Posted on

CHEAT SHEET PTBR PHP 8.1

<?php

// Declarando uma constante
const PI = 3.14159;

// Declarando uma variável
$nome = "João";

// Definindo tipos de retorno de função
function somar(int $a, int $b): int {
    return $a + $b;
}

// Estrutura condicional if-else
if ($idade >= 18) {
    echo "Você é maior de idade.";
} else {
    echo "Você é menor de idade.";
}

// Estrutura de repetição while
$i = 0;
while ($i < 10) {
    echo $i;
    $i++;
}

// Estrutura de repetição for
for ($i = 0; $i < 10; $i++) {
    echo $i;
}

// Função anônima (closure)
$saudacao = function ($nome) {
    echo "Olá, $nome!";
};

// Chamando a função anônima
$saudacao("Maria");

// Classes e objetos
class Pessoa {
    public $nome;
    private $idade;

    public function __construct($nome, $idade) {
        $this->nome = $nome;
        $this->idade = $idade;
    }

    public function getNome() {
        return $this->nome;
    }

    public function getIdade() {
        return $this->idade;
    }
}

// Instanciando um objeto
$pessoa = new Pessoa("João", 25);

// Chamando métodos do objeto
echo $pessoa->getNome();
echo $pessoa->getIdade();

// Tratamento de exceções
try {
    // Código que pode gerar uma exceção
    throw new Exception("Ocorreu um erro.");
} catch (Exception $e) {
    // Tratamento da exceção
    echo "Erro: " . $e->getMessage();
}

// Incluindo um arquivo
include "arquivo.php";

// Usando namespaces
namespace MeuNamespace;

class MinhaClasse {
    // ...
}

// Importando um namespace
use MeuNamespace\MinhaClasse;

// Usando a classe importada
$objeto = new MinhaClasse();

// Expressões regulares
if (preg_match("/[0-9]+/", $texto)) {
    echo "O texto contém números.";
}

// JSON
$dados = '{"nome": "João", "idade": 30}';
$usuario = json_decode($dados);

echo $usuario->nome;
echo $usuario->idade;

// Manipulação de arrays
$frutas = ["maçã", "banana", "laranja"];

// Iterando um array
foreach ($frutas as $fruta) {
    echo $fruta;
}

// Adicionando elemento a um array
$frutas[] = "abacaxi";

// Verificando se uma chave existe em um array
if (isset($frutas[2])) {
    echo "A chave existe.";
}

// Funções de array
$quantidade = count($frutas);
$invertido = array_reverse($frutas);
$filtrado = array_filter($frutas, function ($fruta) {
    return strlen($fruta) > 5;
});
$ordenado = sort($frutas);

// Operadores de comparação
$a = 5;
$b = 10;

if ($a == $b) {
    echo "A é igual a B.";
} elseif ($a > $b) {
    echo "A é maior que B.";
} else {
    echo "A é menor que B.";
}

// Operadores lógicos
$condicao1 = true;
$condicao2 = false;

if ($condicao1 && $condicao2) {
    echo "As duas condições são verdadeiras.";
}

if ($condicao1 || $condicao2) {
    echo "Pelo menos uma condição é verdadeira.";
}

if (!$condicao1) {
    echo "A condição 1 é falsa.";
}

// Manipulação de strings
$texto = "Olá, mundo!";
$tamanho = strlen($texto);
$maiusculo = strtoupper($texto);
$minusculo = strtolower($texto);
$substituido = str_replace("mundo", "amigo", $texto);
$partes = explode(", ", $texto);
$unido = implode("-", $partes);

?>

Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more