Olá, neste artigo vou exemplificar o uso de 5 funcionalidades interessantes do PHP.
Vamos a primeira delas:
1. Indução de tipo
Se você veio de uma linguagem com tipagem estática, você com certeza já sentiu falta de ter certeza que nenhum programador vai passar o tipo errado.
Embora o costume das linguagens de tipagem dinâmica seja favorecer a documentação e o “duck typing”, a tipagem estática não deixa de ser interessante.
Esta funcionalidade está presente desde a versão 5.3 para classes, e da versão 7 para tipos primários, exemplo:
1 2 3 |
|
Neste exemplo, se você enviar qualquer argumento que não seja descendente da classe DateTime, o php vai lançar um erro fatal.
Saiba mais em: http://php.net/manual/pt_BR/language.oop5.typehinting.php
2. Return no include
Suponhamos que você tenha 2 arquivos, principal.php e incluso.php, você pode fazer isso:
1 2 3 |
|
1 2 |
|
Nos exemplos da documentação do PHP você pode aprender mais: http://php.net/manual/pt_BR/function.include.php
3. Operador binário
Você conhece o operador ternário? como abaixo:
1
|
|
Porém, a partir da versão 5.3 você pode usar o que foi chamado de operador binário, exemplo:
1
|
|
Neste caso se a $variavel1 for vazia a $variavel2 é usada.
4. Metaprogramação: variável por nome
Como chamar uma variável pelo seu nome? dessa forma parece simples, mas se você tem um nome que pode variar? você pode chamar como “string” da seguinte forma:
1 2 3 |
|
O mesmo vale para nome de funções, métodos ou classes.
5. Late Static Binding
Se você já precisou trabalhar com herença de classes estáticas você provavelmente já enfrentou o seguinte problema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Como pode ser observado, esperavamos que a classe Pessoa2Static referencia-se suas próprias váriaveis estáticas nos métodos herdados, porém o mesmo não acontece.
Para resolver isso você pode usar “static::” ao invés de “self::”
http://php.net/manual/pt_BR/language.oop5.late-static-bindings.php