O PHP é uma das linguagens mais relevantes no desenvolvimento web, conhecida por sua flexibilidade e capacidade de criar aplicações web de forma rápida. Seja utilizando PHP puro, ou alguns dos frameworks famosos, como Symfony e Laravel, a linguagem tem estado presente desde a década de 1990, desempenhando um papel significativo na Internet até aos dias de hoje.
Com a evolução da linguagem, diversas melhorias foram incorporadas ao longo do tempo. A versão 8 – lançada em 2023 – trouxe novas funções, facilidades na orientação a objetos e tipagens, além de ter introduzido o conceito de JIT (Just-In-Time compilation) ao núcleo da linguagem, aumentando a velocidade de execução.
Como nós, programadores, dizemos, “mais vale uma linha de código do que mil palavras”, por isso vamos a alguns exemplos que podes executar aqui.
Principais novidades do PHP 8
Construtores simples
Agora é possível criar construtores de classes de forma mais simples, eliminando a necessidade de definir variáveis para receber valores. Vê o exemplo abaixo:
class Cliente {
public function __construct(
private string $nome,
private int $idade
) {
}
}
Função str_contains()
Uma nova função str_contains() facilita a busca de uma string dentro de outra:
Antes:
$haystack = 'How are you?';
$needle = 'are';
if (strpos($haystack, $needle) !== false) {
echo 'true';
}
Agora:
$frase = ‘me ache aqui’;
echo str_contains($frase, ‘ache’);
Expressão match
A expressão match traz uma implementação mais eficiente do que o switch em alguns casos.
Antes:
switch (8.0) {
case '8.0':
$result = "Oh no!";
break;
case 8.0:
$result = "This is what I expected";
break;
}
echo $result; // Oh no!
Agora:
echo match (8.0) {
'8.0' => "Oh no!",
8.0 => "This is what I expected",
}; // This is what I expected
Essas são algumas novidades da versão 8.0 da linguagem PHP, o que possibilita aos frameworks do mercado se atualizarem e lançarem diversas features para facilitar a vida dos desenvolvedores PHP, fornecendo mais ferramentas para escrever código.
O que há de novo na versão 8.3
Gostaria ainda de citar a versão 8.3, que foi a última lançada até ao momento da escrita deste artigo. Eis algumas novidades interessantes desta versão:
Nova função para validação de JSON
Antes:
function json_validate(string $string): bool
{
json_decode($string);
return json_last_error() === JSON_ERROR_NONE;
}
var_dump(json_validate('{ "test": { "foo": "bar" } }')); // true
Agora:
var_dump(json_validate('{ "test": { "foo": "bar" } }')); // true
Atributo de override na linguagem
Antes:
use PHPUnit\Framework\TestCase;
final class MyTest extends TestCase
{
protected $logFile;
protected function setUp(): void
{
$this->logFile = fopen('/tmp/logfile', 'w');
}
protected function taerDown(): void
{
fclose($this->logFile);
unlink('/tmp/logfile');
}
}
Agora:
use PHPUnit\Framework\TestCase;
final class MyTest extends TestCase
{
protected $logFile;
protected function setUp(): void
{
$this->logFile = fopen('/tmp/logfile', 'w');
}
#[\Override]
protected function taerDown(): void
{
fclose($this->logFile);
unlink('/tmp/logfile');
}
}
Conclusão
O PHP é uma linguagem de programação em constante evolução e é uma ótima opção para desenvolver aplicações web, desde microsserviços até projetos robustos.
A comunidade da linguagem se mantém ativa e sempre empenhada em melhorar a performance e em adicionar novos recursos, o que com certeza irá facilitar a manutenção ou a criação de projetos com o PHP.
Referências:
- PHP 8.3 Release Notes: https://www.php.net/releases/8.3/en.php
- PHP 8.0 Release Notes: https://www.php.net/releases/8.0/en.php
Conhece aqui um dos projetos em que a Alter Solutions trabalhou com PHP 8.