PHP Moderno - Novos Recursos e Boas Práticas
(6997) (19)
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
CategoriaEngenharia de Software
Autor(es)Vaughn Vernon
EditoraAlta Books
Edição1ª
Ano2024
Páginas160
Opa, blz?
Terminei a leitura do livro “PHP Moderno - Novos Recursos e Boas Práticas” de Josh Lockhart, editora Novatec. Desde já informo que minha primeira linguagem de programação é PHP, depois acredito que venha JavaScript - jQuery - e então Java. Já a um tempo acompanhando os conteúdos de PHP e Web em geral, lendo livros e cia. fiquei surpreso com a leitura desse livro, na verdade em saber que tinha um “caminhão” de conteúdo, ferramentas de apoio e funcionalidades da linguagem que eu ainda não sabia que existia, algumas até muito importantes para o bom funcionamento do sistema em geral, como o servidor de filas em paralelo ao servidor de execução do PHP para realizar tarefas como conversão de vídeo ou upload para servidor de conteúdo estático (AWS S3).
O autor é um evangelista no PHP e também o criador do framework PHP, Slim (http://www.slimframework.com/) e do site PHP The Right Way (http://www.phptherightway.com/). Somente de ser o criador de um framework o leitor já fica interessado em saber o que vem pela frente na leitura do livro. O autor se preocupa em apresentar conteúdos não somente porque são novos, mas porque melhoram o desempenho dos scripts PHP e aumentam a produção dos developers, como, por exemplo, a utilização de componentes do Packagist (https://packagist.org/) baixados com o Composer (https://getcomposer.org/), esse último é uma baita mão na roda, developers PHP têm que saber trabalhar com o Composer e também saber buscar componentes no Packagist (minha opinião, devido ao aumento na produção e qualidade no desenvolvimento do software). O autor não esquece de abordar um conteúdo que não vejo sendo muito seguido, apesar de discutido, padrões no dev PHP, no caso os PSRs, ele comenta o que são os PSRs (PHP Standards Recommendation) e vai com uma bela explicação do PSR-0 até o PSR-4. Pelas letras e se tratando de programação, as vezes pode até parecer coisa complexa, mas na verdade é bem simples, algo como: colocar as chaves de seu bloco de código no lugar correto em seu script. Assuntos como Namespace, Traits e Closures apesar de serem atuais não são os mais interessantes do livro, até achei que o autor gastou boas páginas neles quando poderia dar um foco maior em outras partes, como por exemplo, a instalação e configuração do Capistrano (http://capistranorb.com/) ou a importância na escolha da IDE certa para o desenvolvimento de aplicações PHP profissionais.
Achei interessante também que o PDO ainda é a escolha recomendada (a tempos já) quando se tratando de acesso a base de dados nos scripts PHP, apesar de muitas entidades novas na linguagem, o PDO ainda persisti, que é sim uma bela ferramenta no PHP. O conteúdo sobre santinizadores e validadores ficou show de bola, achei que faltou um pouco de tratamento de uploads de arquivos binários (imagens, vídeos, áudios, …), se o autor abordasse mais sobre esse assunto, como acelerar o upload tendo a mesma conexão de Internet e por ai vai, seria ainda melhor. O conteúdo sobre o tratamento de Exceptions também ficou bem proveitoso. O tratamento de Exceptions no PHP vejo como o uso de Orientação a Objetos na linguagem, muitos sabem que tem, sabem da importância, porém (ao menos o que vejo em blogs e seguidores que entram em contato aqui no Blog) não são todos que utilizam, caso que é inevitável quando programando em Java, por exemplo.
O capítulo de testes achei desnecessário, pois o autor apenas apresenta as ferramentas que tem disponíveis (algumas, e também trabalha alguns exemplos com o PHPUnit) e esse é um assunto que (acredito eu) os developers do sistema já têm em mente no momento do desenvolvimento, sabendo então se vão ou não adotar a política de testes no dev, se sim, com uma simples “googlada" é possível encontrar excelentes libs e tutorias, pois testes e segurança são assuntos que vejo sendo abordados com maestria em blogs, repositórios e vídeos. A parte de profiling, provisionamento e ajustes no php.ini com explicação do porquê dos ajustes ficou também fora de série, apesar de eu achar que o Capistrano deveria ter tido mais conteúdo, mas nada que não deixe o PHP developer já atento ao aumento na produção com o uso do Capistrano.
Sem sombra de dúvidas, os conteúdos chave e que vão dar um belo up no knowledge do developer caso ele ainda não tenha familiaridade, são: NGINX, PHP-FPM, HHVM e linguagem (dialeto PHP) HACK. Eu já tinha ouvido falar do NGINX, mas com foco também nos estudos sobre Android apenas dei de ombros (belo mistake), o NGINX é sim melhor que o convencional e muito utilizado servidor Apache segundo os dados apresentados no livro. Instalei o NGINX no AMI EC2 da AWS e aparentemente é sim melhor opção, até mesmo pela facilidade na configuração, porém faltou o autor falar sobre como realizar o equivalente no NGINX ao que temos com os arquivos .htaccess do Apache, pois é uma feature bastante utilizada no Apache (o Blog utiliza) e que aparentemente não é trivial de utilizar no NGINX. Li uma postagem do próprio site / wiki do NGINX (http://wiki.nginx.org/LikeApache-htaccess) sobre o problema que é a utilização do .htaccess no Apache (eles mostram números), porém esqueceram de mostrar a forma melhorada no uso da mesma feature no NGINX, bom, com os estudos vou descobrir como fazer isso, no momento, no big deal. PHP-FPM deixando a velocidade de interpretação dos codes PHP muito mais eficiente. O autor comenta e mostra como instalá-lo, show de bola também. HHVM (http://hhvm.com/) e linguagem HACK (http://hacklang.org/), o autor aborda bem esses assuntos, Facebook de parabéns em liberar as ferramentas que eles mesmos desenvolvem e utilizam nos sistemas deles, está sendo assim também com o Android. HHVM junto ao HACK da um poder de processamento aos algoritmos HACK (que é quase o PHP, um pouco mais evoluído e trabalhando com tipagem estática) muito maior que o Zend-Engine com o PHP ou PHP-FPM. Algo que o autor concluiu e concordo é que o HHVM/HACK não vai vir para substituir o Zend-Engine/PHP e sim criar a concorrência que ele precisava para evoluir e então tornar os scripts e interpreters PHP cada vez mais robustos, tomara que eles briguem para assumir a ponta e com isso o mundo PHP se tornar cada vez mais atual quando comparado as novas linguagens que surgem.
Quase esquecendo, o conteúdo sobre simulação de processamento Multi-Thread no PHP com a utilização da lib php-resque de Chris Boulton (eu utilizo hoje a lib de mjphaynes, ela utiliza a lib php-resque, porém com uma interface de programacão mais robusta quanto as funcionalidades possíveis) e o servidor de filas Redis (http://redis.io/) é o assunto que recomendo você developer PHP terminar aqui a leitura e já ir estudando para implementar em seus algoritmos PHP, principalmente se você é o responsável por scripts PHP que trabalham com upload e conversão de dados binários no lado servidor, tipo de script que tende a dar um delay grande na resposta ao user de sua aplicação. Para um estudo melhor do PHP trabalhando em paralelo a um servidor de filas, veja a série desse blog (http://kamisama.me/2012/10/09/background-jobs-with-php-and-resque-part-1-introduction/), posts de muita qualidade. Para acessar as libs que mencionei acima, siga os links: php-resque (https://github.com/chrisboulton/php-resque) e mjphaynes / php-resque (https://github.com/mjphaynes/php-resque).
Então é isso, o livro é muito bom para você que é developer PHP, digo até que é leitura obrigatória se você não conhecia os conteúdos que comentei acima. O livro é pequeno e a intenção dele é realmente apresentar os conteúdos modernos do PHP, sem muita explicação com código. Se você está começando no PHP recomendo primeiro que estude a base, como utilizá-lo, como trabalhar com auxilio do SGBD MySQL, … uma leitura boa de inicio seria o “Use a Cabeça! PHP com MySQL” (), logo depois a leitura do livro “PHP Moderno” cairia como uma luva. Você pode também acompanhar o conteúdo sobre o PHP mais atual no site em português PHP do Jeito Certo (http://br.phptherightway.com/). Sem mais delongas, o livro é fácil 5 estrelas. Caso for compra-lo, na Novatec (http://novatec.com.br/) você consegue 20% de desconto utilizando o código THIENGO.
Vlw
Comentários Facebook