Foi lançado o PHP7.4 Alpha 1 com preloading opcache para melhor performance e outras novidades. Confira as novidades dessa primeira versão de desenvolvimento e ajude a testar.
O PHP (Ou Hypertext Preprocessor, originalmente Personal Home Page) é uma linguagem interpretada livre. Inicialmente ela era usada apenas para o desenvolvimento de aplicações no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.
O código dela é interpretado no lado do servidor pelo módulo PHP, que também gera a página web a ser visualizada no lado do cliente.
PHP 7.4 Alpha Lançado com Preloading Opcache Para Melhor Performance
Agora, o primeiro lançamento alfa do PHP 7.4 está disponível, antes do congelamento de recursos no próximo mês e depois de um período de betas e lançamento de candidatos que culminará com o lançamento oficial do PHP 7.4.0, no final de novembro.
titulo
O lançamento do PHP 7.4 está trazendo muitas adições notáveis para uma versão empolgante.
Neste momento, o PHP 7.4 inclui:
O recurso de pré-carregamento (preload) que pode melhorar significativamente o desempenho do PHP em servidores da web ao pré-carregar funções/classes que sobreviverão enquanto o servidor Web estiver ativo para evitar recompilação ou verificação para ver se os arquivos de origem foram modificados. Isso pode resultar em acelerações de 30 a 50% nos testes iniciais;
Outras melhorias de desempenho do PHP fora do escopo de pré-carregamento;
A extensão PHP FFI para uma Interface de Função Externa permite que o código PHP chame funções/variáveis/estruturas de dados nativas definidas na linguagem de programação C, depois que ela não tenha terminado no PHP 7.3 do ano passado. A extensão PHP FFI está definida para ir para o PHP 7.4 para abrir novas possibilidades para a linguagem de programação PHP.
O serviço systemd do PHP FPM foi endurecido;
A extensão PHP Hash agora é parte integrante do PHP e não pode mais ser desabilitada;
Suporte a TLS 1.3 dentro do suporte a streams PHP OpenSSL;
Várias correções por toda parte.
Aos interessados, o PHP 7.4 Alpha 1 pode ser baixado no site PHP.net.
Enquanto rolava O PHP Conference Brasil, era lançada a nova release do PHP na sua Versão 7.3. Com o lançamento programado para o dia 13 de dezembro do ano passado, ele acabou surpreendendo a todos, sendo disponibilizado uma semana antes, no dia 6 de dezembro (no mesmo dia que se iniciava a PHP Conference Brasil). Coincidência? Eu acho que não!
Performance
Que o PHP 7, trouxe um grande salto de performance e agilidade não é novidade. Porém, a cada novo release o seu desempenho melhora, e com a versão 7.3 não poderia ser diferente. De acordo com o site phpbenchmarks, a nova versão tem um aumento de desempenho de 4% sobre o PHP 7.2, e se torna a versão mais rápida do PHP! Você pode conferir aqui!
Mas o que muda na versão 7.3?
A versão 7.3 do PHP já estava em teste desde o seu lançamento, em junho, na versão Alpha. Como já era de conhecimento público, a nova versão traz correções de bugs como de costume, novas implementações e métodos que se tornaram obsoletos.
Novidades
As principais novidades que entraram em vigor nessa nova versão, são:
Flexibilidade de sintaxe Heredoc e Nowdoc
Permitir trailing comma (vírgula à direita) em chamadas de função e método
Tratamento de exceções em erros no json_encode e json_decode
Atribuições de referências em list()
Função is_countable() (basicamente retorna true ou false para indicar se um objeto é contável)
Funções array_key_first() e array_key_last() para reunir a primeira e a última chave do array respectivamente
Migração do PCRE para PCRE2 (utilizado para expressões regulares)
Aprimoramentos de hash da senha Argon2
Atualizações para o FPM
O gerenciador de processos FastCGI também tem uma atualização e agora vem com novas opções para personalizar o log do FPM.
log_limit: configure o tamanho permitido para mensagens de log. Esse limite pode ter mais de 1024 caracteres sem envolver
log_buffering: permite registro em log experimental sem buffer extra
decorate _workers_output: use esta opção de pool para desativar a decoração de saída para saída de trabalhadores quando catch_workers_output estiver ativado
Não irei abordar o funcionamento ou explicação de cada uma, pois você pode conferir todos os detalhes no PHP RFC, incluindo exemplos de código.
Descontinuações (Deprecations)
Todas as descontinuações e seus detalhamentos podem ser conferidos no PHP RFC. Segue a lista:
Alias de função mbstring (como mbereg_replace e outras) usando um prefixo mb_ (por exemplo, mb_ereg )
Funções de pesquisa de string
Função fgetss() e strip_tags() (filtro string.strip_tags)
Definição de uma função assert() com “free-standing”
As constantes FILTER_FLAG_SCHEME_REQUIRED e FILTER_FLAG_HOST_REQUIRED
A diretiva pdo_odbc.db2_instance_name do php.ini
A função image2wbmp() deverá ser substituída pela imagewbmp()
Descontinuação de constantes insensíveis a maiúsculas e minúsculas
Todas as descontinuações serão avisadas no PHP 7.3 e removidas na versão 8.
Conclusão
Podemos ver que a nova versão 7.3 além de ter um aumento significativo de performance trouxe também diferentes atualizações, assim como adicionou vários novos recursos e também descontinuou alguns (que se encontravam até mesmo obsoletos).
Toda a documentação já está disponível no php.net, e como citado anteriormente, você pode conferir todos os detalhes no PHP RFC.
O PHP 7.3 já está estável e mesclado ao branch master do projeto no GitHub.
Aprender a programar pode assustar muita gente, mas existem diversas técnicas, meios e ferramentas, atualmente, que ajudam a reduzir um pouco quaisquer hipotéticos traumas.
Aqui mesmo no código fonte já listamos uma série dicas para você que deseja aprender alguma linguagem. Confira abaixo:
Também existem algumas plataformas com cursos online muito interessantes e práticas, como a Udemy, por exemplo. Enfim, são muitas as maneiras de entrar nesta área sem que seja preciso gastar rios de dinheiro e perder inúmeros fios de cabelo.
Pois bem, o site Coding Dojo montou uma listagem com 7 linguagens de programação importantes. Linguagens que você deve ficar de olho em 2018. Linguagens cuja adoção vem aumentando.
A lista foi preparada com base nas vagas disponíveis em um famoso banco online. Vamos lá:
C#
Linguagem da Microsoft que faz parte da plataforma .NET, de suma importância para quem trabalha com o desenvolvimento de games. A linguagem surgiu em 2000.
C++
Linguagem também utilizada no desenvolvimento de jogos eletrônicos, além de softwares e aplicativos diversos, drivers, etc. Trata-se de uma linguagem compilada multi-paradigma, surgida na década de 70.
Java
Utilizada no desenvolvimento de aplicativos para smartphones e tablets Android, o Java surgiu em 1995 e é utilizado por uma enorme quantidade de empresas e programadores ao redor do mundo.
O java é compilado para um bytecode, o qual é interpretado pela máquina virtual “Java Virtual Machine”.
JavaScript
Bastante utilizado na web, no desenvolvimento de sites, o JavaScript é uma das linguagens de programação mais populares da atualidade. Ele também ganhará mais relevância com o advento da internet das coisas, valendo a pena lembrar que trata-se de uma linguagem de programação interpretada, originalmente desenvolvida como parte de navegadores web, para que scripts pudessem rodar no lado do cliente, interagindo com os usuários sem a necessidade de passagem para os servidores web.
Perl
O Perl ficou em sétimo lugar no ranking das linguagens mais populares em 2017. Trata-se de uma linguagem muito utilizada por quem administra sistemas Linux e redes, tendo sido lançada em 1987.
A linguagem permite a criação de aplicativos em ambientes UNIX, MSDOS, Windows, Macintosh e OS/2, dentre outros.
PHP
Bastante utilizada em sites e sistemas web, o PHP é uma linguagem interpretada livre, utilizada na criação de sistemas que rodam do lado do servidor. A linguagem surgiu em 1995.
Python
O Python é uma linguagem cuja utilização aumentou em 2017. Surgida em 1991, trata-se de uma linguagem de programação de alto nível, utilizada para diversos fins, como por exemplo desenvolvimento de aplicativos web e softwares em geral.
Não sei se você sabe, mas a partir da versão 5.5 do PHP a função Mysql_* ficou totalmente obsoleta, ou seja, caiu em desuso. Essa mudança ocasionou na utilização em massa das alternativas Mysqli e PDO.
O Mysqli é uma extensão do próprio PHP e pode ser utilizada de forma procedural ou orientada a objetos, digamos que seja uma versão melhorada do Mysql. No artigo abaixo eu falo mais sobre isso e mostro como realizar uma conexão simples também com o PHP.
“Ah Wilker, qual devo utilizar então?”, Calma, nesse artigo eu explicarei o que é o PDO e mostrarei o porquê dessa classe ser um dos métodos mais recomendados para quem vai trabalhar com banco de dados em conjunto com o PHP.
O que é PDO?
PDO significa PHP Data Objects ou objetos de dados do PHP para os íntimos. Basicamente serve para realizar a conexão e facilitar o trabalho com banco de dados.
O interessante dessa classe (Sim, o PDO é uma classe) é que com algumas pequenas modificações, você pode mudar de gerenciador de banco de dados, sem precisar modificar todas as suas queries.
Algumas vantagens notáveis dessa classe são:
Código mais limpo e moderno;
Fácil migração para outros gerenciadores de banco de dados;
Segue o padrão de orientação a objetos, o que torna sua manutenção mais enxuta.
Em relação a orientação a objetos, vale lembrar que você precisará desse conhecimento para poder trabalhar com PDO, portanto, conhecimentos básicos de lógica serão necessários.
Segue um material que pode te ajudar nesse quesito:
É normal no inicio ficar um pouco intimidado com a sua utilização, até por que as pessoas que estão migrando do Mysql acharão o trabalho com a API um pouco difícil, e isso é normal, pois trabalhar com Mysql era muito fácil.
Como realizar a conexão ao banco de dados…
Bom, para realizar a conexão do Mysql com PDO é importante termos o nosso ambiente de desenvolvimento pronto.
No meu caso, estou utilizando o Wampserver e o Sublime Text como editor de texto. Vou mostrar exatamente o passo a passo que eu fiz.
Primeiro, eu criei um banco de dados via PHPMyadmin intitulado “test”. Esse banco servirá como teste para o nosso tutorial.
Depois que realizar esse procedimento, você deve verificar se o PHP está com o PDO ativo, para isso, basta apenas informar no seu editor de texto o seguinte comando:
No exemplo acima foram criadas três constantes que assumirão os valores padrões de conexão ao banco de dados “test”. A primeira diz respeito ao servidor utilizado (no nosso caso o localhost), o nome do banco (test), a senha de acesso e o usuário. Até agora tudo muito parecido com o tutorial de conexão com Mysql utilizando a função nativa do PHP.
Agora sim, iremos realizar a conexão através do construtor da classe PDO. Ou seja, iremos apenas repassar os valores informados nas constantes.
$con= newpdo('mysql:host='. SERVER . ';dbname='. BANCO, USER, SENHA);
?>
No exemplo acima, instanciamos a classe PDO e como parâmetro passamos os valores necessários para fazer a conexão funcionar.
OBS: Nessa parte ‘mysql:host’ determinamos o driver do gerenciador de banco de dados a ser utilizado, no nosso caso o Mysql. Caso queira mudar de gerenciador, basta apenas informar o novo no lugar do Mysql.
Depois de realizado todo esse procedimento, a conexão já estará funcionando, caso contrário aparecerá um erro fatal na tela do seu navegador. A esse erro damos o nome de exceção, ou seja, caso a mesma surja, o funcionamento da aplicação será interrompido.
Para evitarmos essa interrupção, devemos colocar um try catch para tratar a exceção PDO Exception. Voltando ao código:
$con= newpdo('mysql:host='. SERVER . ';dbname='. BANCO, USER, SENHA);
}catch(PDOException $e){
echo"Erro gerado ". $e->getMessage();
}
?>
O acréscimo do Try…Catch tornará sua aplicação mais robusta e preparada contra erros inesperados. Veja uma explicação breve dos comandos utilizados no tratamento das exceções:
PDOException $e = Armazenamento da exceção dentro da variável $e;
getMessage() = Esse método serve para retornar a mensagem da exceção como uma string, logo quando eu dou o print com o “echo”, estarei automaticamente imprimindo na tela a mensagem de erro.
Feito isso, a conexão Mysql com PDO estará terminada e funcionando perfeitamente bem. Para enriquecer ainda mais o nosso tutorial, eu gravei um vídeo exclusivo mostrando todo o passo a passo visto até aqui, dar uma olhada: