Sabemos que PHP é uma linguagem muito utilizada no mundo, com pesquisas que apontam sua existência em mais de 70% dos servidores da internet, seja por CMS, aplicações proprietárias e afins. Então uma linguagem tão poderosa como essa não podeira desapontar em sua vasta opção de funções para evitarmo-nos de reinventar a roda.
Vamos conhecer elas…
filter_input
Essa função está disponível a partir da versão 5.2+
Verifica se a variável externa “email” é enviada para a página PHP, através do método GET, e também se é um endereço de e-mail válido:
<?php
//?email=xxxx@xxx.xx
// Retorna true caso o parâmetro seja válido
if (filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) {
echo("E-mail válido");
} else {
echo("E-mail inválido");
}
// Valida html
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
// Valida encode url
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
?>
Os tipos de entrada aceitos são:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV
Também pode ser usada sem um parâmetro de validação, apenas para checar se ela existe, ou NULL caso não exista:
<?php
//?email=xxxx@xxx.xx
var_dump(filter_input(INPUT_GET, 'email'));
// string(11) "xxxx@xxx.xx"
var_dump(filter_input(INPUT_GET, 'nome'));
// NULL
?>
filter_var
Disponível a partir da versão 4+
Semelhante ao método filter_input, a diferença é que retorna o dado filtrado ou false se o filtro falhar.
<?php
var_dump(filter_var('xxxx@xxx.com', FILTER_VALIDATE_EMAIL));
// string(15) "xxxx@xxx.xx"xx
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
// bool(false)
?>
htmlentities e htmlspecialchars
Disponível a partir da versão 4+
Converte todos os caracteres aplicáveis em entidades html.
<?php
$nome = "Maria Pereira <script>window.location = 'xpto'; <script>";
var_dump(htmlentities($nome, ENT_QUOTES));
// string(78) "Maria Pereira <script>window.location = 'xpto'; <script>"
var_dump(htmlspecialchars($nome, ENT_QUOTES));
// string(78) "Maria Pereira <script>window.location = 'xpto'; <script>"
?>
addslashes
Disponível a partir da versão 4+
Retorna uma string com barras adicionadas antes de caracteres que precisam ser escapados. Estes caracteres são:
aspas simples (‘)
aspas duplas (“)
barra invertida ()
NUL (o byte NUL)
<?php
var_dump(addslashes("Senhora Sant'Ana"));
// string(17) "Senhora Sant\'Ana"
?>
A função addslashes() às vezes é usada incorretamente para tentar prevenir Injeção de SQL. Em vez disso, funções de escape específicas do banco de dados e/ou instruções preparadas devem ser usadas.
stripcslashes
Disponível a partir da versão 4+
Remove barras invertidas de uma string. Reconhece estilo C \n, \r …
<?php
var_dump(stripslashes("Hello \World!"));
// string(12) "Hello World!"
?>
ltrim e rtrim
Disponível a partir da versão 4+
ltrim – Tira o espaço em branco (ou outros caracteres) do início de uma string.
rtrim – Tira o espaço em branco (ou outros caracteres) do fim de uma string.
<?php
var_dump(ltrim(" Hello World!"));
// string(12) "Hello World!"
var_dump(rtrim("Hello World! "));
// string(12) "Hello World!"
?>
ucfirst, ucwords, strtolower e strtoupper
Disponível a partir da versão 4+
ucfirst — Converte para maiúscula o primeiro caractere de uma string;
ucwords — Converte para maiúsculas o primeiro caractere de cada palavra em uma string;
strtolower — Converte uma string para minúsculas;
strtoupper — Converte uma string para maiúsculas;
<?php
var_dump(ucfirst("hello world! have a nice day..."));
// string(31) "Hello world! have a nice day..."
var_dump(ucwords("hello world! have a nice day..."));
// string(31) "Hello World! Have A Nice Day..."
var_dump(strtolower("HELLO WORLD! HAVE A NICE DAY..."));
// string(31) "hello world! have a nice day..."
var_dump(strtoupper("hello world! have a nice day..."));
// string(31) "HELLO WORLD! HAVE A NICE DAY..."
?>
list
Disponível a partir da versão 7.1+
A função list() é usada para atribuir valores a uma lista de variáveis em uma operação.
<?php
$weapons = array("Bereta","Smith Wesson","Luger", "Taurus");
list($a, $b, $c, $d) = $weapons;
echo "Armas nacionais são $d, internacionais são $a, $b e $c.";
// Armas nacionais são Taurus, internacionais são Bereta, Smith Wesson e Luger.
?>
compact
Disponível a partir da versão 4+
A função compacta cria uma matriz a partir de variáveis e seus valores.
Nota: Antes do PHP 7.3, quaisquer strings que não correspondam a nomes de variáveis serão ignoradas.
<?php
$fabricante = "Taurus";
$modelo = "PT 59S";
$calibre = ".380";
$result = compact("fabricante", "modelo", "calibre");
var_dump($result);
/*
array(3) {
["fabricante"]=>
string(6) "Taurus"
["modelo"]=>
string(6) "PT 59S"
["calibre"]=>
string(3) ".380"
}
*/
?>
http_build_query
Disponível a partir da versão 5+
Gera a string de consulta (query) em formato URL a partir de um array associativo (ou indexado):
<?php
$array = [
"fabricante" => "Taurus",
"modelo" => "PT 59S",
"calibre" => ".380"
];
$url = http_build_query($array);
var_dump($url);
// string(44) "fabricante=Taurus&modelo=PT+59S&calibre=.380"
?>
parse_str
Disponível a partir da versão 4+
Gera a string de consulta (query) em formato URL a partir de um array associativConverte str como se ela tivesse sido passada via URL e define o valor das variáveis:
<?php
$url = "marca=taurus&modelo=revolver&calibre=357mag";
parse_str($url);
echo "Marca: ". $marca. " - Modelo: " .$modelo." - Calibre: ".$calibre;
//Marca: taurus - Modelo: revolver - Calibre: 357mag
?>
Ou pode passar direto para um array:
<?php
$url = "marca=taurus&modelo=revolver&calibre=357mag";
parse_str($url);
$arsenal = array();
parse_str($url, $arsenal);
var_dump($arsenal);
/*
array(3) {
["marca"]=>
string(6) "taurus"
["modelo"]=>
string(8) "revolver"
["calibre"]=>
string(6) "357mag"
}
*/
?>
array_key_exists
Disponível a partir da versão 4+
array_key_exists() retorna true se a chave key existe no array. key pode ser qualquer valor possível para um índice de um array.
<?php
$busca_array = [
"boina" => "verde",
"cuturno" => 43
];
var_dump(array_key_exists("boina", $busca_array));
// bool(true)
?>
array_push
Disponível a partir da versão 4+
Adiciona um ou mais elementos no final de um array:
<?php
$cesta = array("carro", "moto");
array_push($cesta, "jato");
var_dump($cesta);
/*
array(3) {
[0]=>
string(5) "carro"
[1]=>
string(4) "moto"
[2]=>
string(4) "jato"
}
*/
?>
Funções nativas do PHP para deixar seu código mais profissional
20 de January de 2022
Pessoal
No Comments
adrianoApi
Sabemos que PHP é uma linguagem muito utilizada no mundo, com pesquisas que apontam sua existência em mais de 70% dos servidores da internet, seja por CMS, aplicações proprietárias e afins. Então uma linguagem tão poderosa como essa não podeira desapontar em sua vasta opção de funções para evitarmo-nos de reinventar a roda.
Vamos conhecer elas…
filter_input
Essa função está disponível a partir da versão 5.2+
Verifica se a variável externa “email” é enviada para a página PHP, através do método GET, e também se é um endereço de e-mail válido:
Os tipos de entrada aceitos são:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV
Também pode ser usada sem um parâmetro de validação, apenas para checar se ela existe, ou NULL caso não exista:
filter_var
Disponível a partir da versão 4+
Semelhante ao método filter_input, a diferença é que retorna o dado filtrado ou false se o filtro falhar.
htmlentities e htmlspecialchars
Disponível a partir da versão 4+
Converte todos os caracteres aplicáveis em entidades html.
addslashes
Disponível a partir da versão 4+
Retorna uma string com barras adicionadas antes de caracteres que precisam ser escapados. Estes caracteres são:
aspas simples (‘)
aspas duplas (“)
barra invertida ()
NUL (o byte NUL)
A função addslashes() às vezes é usada incorretamente para tentar prevenir Injeção de SQL. Em vez disso, funções de escape específicas do banco de dados e/ou instruções preparadas devem ser usadas.
stripcslashes
Disponível a partir da versão 4+
Remove barras invertidas de uma string. Reconhece estilo C \n, \r …
ltrim e rtrim
Disponível a partir da versão 4+
ltrim – Tira o espaço em branco (ou outros caracteres) do início de uma string.
rtrim – Tira o espaço em branco (ou outros caracteres) do fim de uma string.
ucfirst, ucwords, strtolower e strtoupper
Disponível a partir da versão 4+
ucfirst — Converte para maiúscula o primeiro caractere de uma string;
ucwords — Converte para maiúsculas o primeiro caractere de cada palavra em uma string;
strtolower — Converte uma string para minúsculas;
strtoupper — Converte uma string para maiúsculas;
list
Disponível a partir da versão 7.1+
A função list() é usada para atribuir valores a uma lista de variáveis em uma operação.
compact
Disponível a partir da versão 4+
A função compacta cria uma matriz a partir de variáveis e seus valores.
Nota: Antes do PHP 7.3, quaisquer strings que não correspondam a nomes de variáveis serão ignoradas.
http_build_query
Disponível a partir da versão 5+
Gera a string de consulta (query) em formato URL a partir de um array associativo (ou indexado):
parse_str
Disponível a partir da versão 4+
Gera a string de consulta (query) em formato URL a partir de um array associativConverte str como se ela tivesse sido passada via URL e define o valor das variáveis:
Ou pode passar direto para um array:
array_key_exists
Disponível a partir da versão 4+
array_key_exists() retorna true se a chave key existe no array. key pode ser qualquer valor possível para um índice de um array.
array_push
Disponível a partir da versão 4+
Adiciona um ou mais elementos no final de um array: