PHP 5.4 liberado! Novas funcionalidades e facilidades!

Olá meus caros leitores!

Acho que vocês já estão acostumados com a minha ausência aqui então vamos ao que interessa! Ontem (01/03) foi liberado o PHP 5.4 e hoje estou aqui para comentar um pouco das novas funcionalidades, como a nova maneira de declarar um array, traits e um console para rodar códigos PHP diretamente!

Novidades nos Arrays

Quem geralmente trabalha com JavaScript estava acostumado a uma declaração mais curta, usando os [], assim eu peguei emprestado um exemplo do manual do PHP, dê uma olhada como é possível declarar arrays agora:

<?php

// Antes tinha que ser assim:
$array = array(
    "foo" => "bar",
    "bar" => "foo"
);

// Agora pode ser assim também!
$array = [
    "foo" => "bar",
    "bar" => "foo"
];
?>

E além da nova forma de declaração também foi implementado a Array Deferencing que em outras palavras é o acesso direito de um membro do array diretamente no retorno de um método/função caso este retorne um array:

<?php
function getArray() {
    return array(1, 2, 3);
}

// Como podemos fazer agora
$secondElement = getArray()[1];

// Como fazíamos "antigamente"
$tmp = getArray();
$secondElement = $tmp[1];

// ou assim
list(, $secondElement) = getArray();
?>

Bacana não é? isso vai deixar o código mais limpo e a programação mais divertida (saudades do meu tempo de programação PHP hehe).

 

Traits

E agora para deixar mais interessante, na versão 5.4 o PHP passa a implementar Traits, que aparecem para suprir aquelas problemas que você acredita  que seriam possíveis de resolver com herança múltipla no PHP, o que os Traits fazem é uma herança horizontal, sugiro que você dê uma lida no post do Hélio sobre isso, lá ele explicou de maneira muito proveitosa. Em todo caso abaixo você vê um exemplo da implementação deles no PHP, o exemplo foi tirado do Manual do PHP:

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello(); // Exibirá "Hello World"
?>

 

Build-in Web Server 

Agora o PHP implementa nativamente no seu núcleo um web server que você pode acessar via linha de comando no Linux, Windows e Mac. Dê uma olhada na documentação oficial dele aqui.

 

Melhorias Acrescentadas

 

Funcionalidades Removidas

  • Register_globals, safe_mode e magic_quotes removidos.
  • y2k_compliance no arquivo ini
  • Funções de sessão: session_is_registered(), session_register() e session_unregister()
  • Extensão do sqlite agora está no PECL

Bugs Resolvidos

  • #60879 unserialize() não chama  __wakeup() do objeto).
  • Correção da incompatibilidade de binários com PDO
  •  #48877  “bindValue” e “bindParam” agora funcionam para o PDO Firebird
  • #55801 Comportamento de unserialize() mudou para melhorar performance

Se você quiser ver toda a lista de novas funcionalidades e bugs resolvidos, olhe neste link.

Bom gente, esse foi meu simples review sobre os novos atributos da nossa querida linguagem, espero que vocês tenham gostado, e deem uma olhada na página oficial do PHP, lá vocês poderão encontrar informações e muitos mais exemplos no manual da linguagem.

 

Referências:

Abraços,

Tiago.

Tags:

Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *