Biblioteca Padrão PHP: visão geral completa
A Biblioteca Padrão PHP (Standard PHP Library, SPL) é um conjunto de classes, interfaces e funções integradas, disponíveis em todas as distribuições PHP sem a necessidade de instalar extensões adicionais. Ela abrange áreas-chave: processamento de strings, arrays, sistema de arquivos, datas, expressões regulares, além de estruturas de dados e iteradores. Neste artigo, vamos detalhar os principais componentes da biblioteca padrão com exemplos práticos.
1. Funções para trabalhar com strings
O PHP oferece dezenas de funções integradas para manipulação de strings. Vejamos as mais usadas:
strlen()— retorna o comprimento da string.strpos()— encontra a posição da primeira ocorrência de uma substring.substr()— extrai uma parte da string.str_replace()— substitui todas as ocorrências de uma substring.explode()eimplode()— dividem/juntam strings por um delimitador.
<?php$text = "Olá, mundo! Bem-vindo ao PHP.";echo strlen($text); // 35echo strpos($text, "mundo"); // 5echo substr($text, 0, 4); // "Olá"echo str_replace("mundo", "universo", $text); // "Olá, universo! Bem-vindo ao PHP."print_r(explode(" ", $text)); // Array ( [0] => Olá, [1] => mundo! [2] => Bem-vindo [3] => ao [4] => PHP. )?>2. Funções para trabalhar com arrays
Arrays são a base do PHP. A biblioteca padrão inclui funções poderosas para processá-los:
array_map()— aplica um callback a cada elemento.array_filter()— filtra elementos por condição.array_merge()— mescla arrays.array_keys()earray_values()— obtém chaves/valores.sort()ersort()— ordenam o array.
<?php$numbers = [1, 2, 3, 4, 5, 6];// Dobrar cada elemento$doubled = array_map(fn($n) => $n * 2, $numbers);print_r($doubled); // [2, 4, 6, 8, 10, 12]
// Manter apenas pares$even = array_filter($numbers, fn($n) => $n % 2 === 0);print_r($even); // [1 => 2, 3 => 4, 5 => 6]
$merged = array_merge(['a' => 1, 'b' => 2], ['c' => 3, 'd' => 4]);print_r($merged); // ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]?>3. Trabalho com arquivos e sistema de arquivos
O PHP possui funções para ler, escrever e gerenciar arquivos sem bibliotecas externas:
fopen(),fwrite(),fread(),fclose()— trabalho de baixo nível.file_get_contents()efile_put_contents()— operações simples.file_exists(),is_dir(),mkdir()— verificação e criação de diretórios.scandir()— obtém a lista de arquivos em uma pasta.
<?php// Escrever em um arquivo$data = "Olá, arquivo!";file_put_contents('exemplo.txt', $data);
// Ler de um arquivo$content = file_get_contents('exemplo.txt');echo $content; // Olá, arquivo!
// Criar diretórioif (!file_exists('uploads')) { mkdir('uploads', 0755, true);}
// Listar arquivos$files = scandir('.');print_r($files);?>4. Trabalho com data e hora
A classe DateTime e as funções date(), time() permitem processar timestamps:
<?php// Data atualecho date('Y-m-d H:i:s'); // 2025-03-25 14:30:00
// Trabalhando com DateTime$date = new DateTime('2025-12-31');$date->modify('+1 month');echo $date->format('d.m.Y'); // 31.01.2026
// Diferença entre datas$now = new DateTime Também na biblioteca
Mockery para PHP: guia completo com exemplos práticos
Cliente Redis para Java: Jedis, Lettuce e Redisson — visão geral e exemplos
Frameworks CLI para Kotlin: Clikt, kotlinx-cli, picocli — visão geral e comparação