Livro: PHP Programando com Orientação a Objetos
PHP: Programando com Orientação a Objetos
(Inclui Design Patterns)
ISBN: 978-85-7522-137-2
Páginas: 576
Autor: Pablo Dall'Oglio
Ano: 2007
O PHP é uma das linguagens mais utilizadas no mundo. Sua popularidade
se deve à facilidade em criar aplicações dinâmicas com suporte à maioria
dos bancos de dados existentes e ao conjunto de funções que, por meio de uma estrutura flexível de
programação, permitem desde a criação de simples portais até complexas aplicações de negócio.
O uso da orientação a objetos juntamente com o emprego de boas práticas de programação nos
possibilita manter um ritmo sustentável no desenvolvimento de aplicações. O foco deste
livro é demonstrar como se dá a construção de uma aplicação totalmente orientada a objetos.
Para isso, implementaremos alguns padrões de projeto (design patterns) e algumas técnicas de
mapeamento objeto-relacional, além de criarmos vários componentes para que você possa criar
complexas aplicações de negócio com PHP.
Principais tópicos abordados no livro:
Introdução ao PHP, arrays, strings e arquivos;
Orientação a objetos, conceitos e implementações;
XML, Web Services, tratamento de exceções;
Técnicas de mapeamento objeto-relacional;
Criação de classes para apresentação de HTML;
Criação de classes para formulários e listagens;
Criação de classes para manipulação de SQL;
Criação de uma aplicação orientada a objetos;
Clique aqui para ver o Sumário
Clique aqui para ver o Capítulo 1
Onde Comprar:
O livro pode ser adquirido diretamente pela editora Novatec:
Clique aqui para entrar no site da Editora Novatec
O livro pode ser adquirido pela Cultura:
Clique aqui para entrar no site da Cultura
O livro pode ser adquirido pela livraria TempoReal:
Clique aqui para entrar no site da Livraria Tempo Real
O livro pode ser adquirido pelo LinuxMall:
Clique aqui para entrar no site do LinuxMall
O livro pode ser adquirido pelo Submarino:
Clique aqui para entrar no site do Submarino
O livro pode ser adquirido pela Saraiva:
Clique aqui para entrar no site da Saraiva
Mais Detalhes:
O livro aborda desde os conceitos básicos de orientação a objetos como herança, encapsulamento, abstração, polimorfismo, associação, agregação, composição, interfaces, tratamento de exceções, manipulação de XML e Web Services, sempre através de exemplos 100% funcionais e comentados.
O livro explica a utilização da biblioteca PDO para acesso a dados e aborda com profundidade técnicas de mapeamento objeto-relacional, explicando com detalhes a teoria e dando exemplos práticos que explicam cada uma das abordagens, que possibilitarão você a escolher a melhor forma de mapear os objetos para bases de dados relacionais.
O livro explica passo-a-passo como criar uma aplicação de negócio 100% orientada a objetos em PHP, desde a camada de persistência dos dados até a construção de formulários e listagens, sendo que estas tarefas serão totalmente automatizadas, como nos exemplos a seguir:
Criação de um formulário:
http://www.adianti.com.br/book/form.php
Criação de uma listagem:
http://www.adianti.com.br/book/list.php
Persistência de objetos:
http://www.adianti.com.br/book/model.php
O último capítulo apresenta o desenvolvimento de aplicação de controle de estoque, com cadastro de clientes, mercadorias, fornecedores, processo de venda e relatório de vendas, todo desenvolvido com as classes criadas ao longo do livro.
O livro cobre um total de 28 design patterns, alguns clássicos (gamma) e outros voltados ao desenvolvimento de aplicações de negócio (fowler), sendo todos abordados com profundidade e ilustrados com códigos práticos e voltados ao desenvolvimento de aplicações de negócio em php:
1) Factory Method
2) Singleton
3) Value Object
4) Registry
5) Strategy
6) Domain Model
7) Table Module
8) Table Data Gateway
9) Data Transfer Object
10) Row Data Gateway
11) Active Record
12) Data Mapper
13) Identity Field
14) Foreign Key Mapping
15) Association Table Mapping
16) Single Table Inheritance
17) Concrete Table Inheritance
18) Class Table Inheritance
19) Composite
20) Query Object
21) Layer Supertype
22) Repository
23) Model View Controller
24) Page Controller
25) Front Controller
26) Template View
28) Remote Facade
29) Lazy Initialization
Resenha do Livro (Por Herbert Araujo - ProPHP)
PHP Programando com Orientação a Objetos"Em dezembro de 2006 particiei da primeira PHP Conference Brasil e lá pude conhecer de perto a comunidade PHP no Brasil e tomar ciência do crescente interesse em assuntos como a orientação a objetos e design patterns. Tudo que aconteceu colaborou, de certa forma, para que eu decidisse escrever este livro, que é minha parcela de contribuição para quem está começando agora"
Em um breve relato de sua carreira profissional que entre outras coisas cita o PHP Conference Brasil, evento realizado pelo ProPHP e Tempo Real Eventos em dezembro de 2006, Pablo Dall Oglio inicia "PHP Programando com Orientação a Objetos", livro com 7 capítulos (570 páginas) que aborda desde a sintaxe básica do PHP até técnicas avançadas de programação como os principais design patterns utilizados atualmente.
Depois de uma introdução à linguagem no primeiro capítulo, o segundo inicia um estudo detalhado da orientação a objetos, e trata, além dos conceitos básicos, tópicos menos triviais como polimorfismo, abstração, encapsulamento, interfaces, exceções etc.
Ainda nesse capítulo dedicado à orientação a objetos, é possível estudar através de vários exemplos, sobre manipulação de XML utilizando a extensão do PHP5 simpleXML.
O terceiro capítulo trata acesso à banco de dados e é nele que se inicia a construção dos componentes que serão utilizados no projeto final (capítulo 7). É também nesse capítulo que se inicia a abordagem dos principais design patterns atuais. Aqui pode ser visto a construção de classes que implementam Query Object (construção de instruções SQL, fazendo uso do PHP Data Objects, PDO), Composite Pattern (relacionamento de objetos) e Strategy (encapsulamento de processos).
Continuando com acesso à dados, o capítulo quatro estende o assunto, falando de mapeamento objeto-relacional e explica minuciosamente como persistir e manipular objetos em banco de dados relacional através de vários patterns como por exemplo Active Record e Data Mapper. Por fim o capítulo encerra-se tratando de manipulações de coleções de objetos em banco da dados.
A criação de componentes continua nos capítulos cinco e seis, onde novas classes, agora voltadas para a interface e entrada de dados do usuário, são criadas. Enquanto o primeiro desenvolve técnicas para manipulação de HTML, folhas de estilos CSS, imagens e tabelas, o segundo trata, através dos formulários, das mais diversas formas de interação do usuário com à aplicação. É importante ressaltar que todos os elementos das páginas Web são tratados aqui como objetos e atributos tornando o processo de manipulação totalmente orientado a objetos.
O capítulo seis ainda aborda listagens de dados, estáticas e dinâmicas, que podem ou não receber ações do usuário como por exemplo um comando de edição, deleção ou ordenação.
O capítulo sete agrupa todos os componentes criados nos capítulos anteriores com o intuito de criar uma aplicação completa que permite controlar o cadastro de clientes e produtos, registrar vendas e emitir relatórios.
Alguns dos mais belos conceitos e padrões do paradigma orientado à objetos também são apresentados no final do livro; o modelo MVC, amplamente difundido nos mais modernos Frameworks; Singleton Pattern, forma elegante de disponibilizar dados únicos em todos os escopos da aplicação; Registry Pattern, utilizado para manter dados da seção de um determinado usuário; Front Controler, que permite centralizar requisições; e Template View, que tem como objetivo tratar templates HTML.
Por fim a obra é finalizada falando sobre Web Services juntamente com o Pattern Remote Facade e ainda um exemplo de interface que utiliza PHP-GTK.
Apesar da enxurrada de informações que podem ser adquiridas quando se fala sobre orientação a objetos e tecnologias relacionadas, o livro "PHP Programando com Orientação a Objetos", consegue retratar o assunto de forma clara e concisa permitindo o entendimento por parte de programadores iniciantes e o aprimoramento dos já iniciados. Sem dúvida que o livro passa a ser um ótimo investimento para o programador PHP.
Herbert Araujo
Gestor ProPHP