PHP Moderno - Novos Recursos e Boas Práticas
(6740) (19)
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
CategoriaEngenharia de Software
Autor(es)Gene Kim, Jez Humble, John Willis, Patrick Debois
EditoraAlta Books
Edição1ª
Ano2018
Páginas464
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