Orientação a objetos com php

1,894 views
1,818 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,894
On SlideShare
0
From Embeds
0
Number of Embeds
909
Actions
Shares
0
Downloads
45
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Orientação a objetos com php

  1. 1. Orientação a objetos com Elionai MouraPHP @eli_embits http://grupoweblovers.org
  2. 2. • Graduando em Análise e Desenvolvimento de Sistemas• Desenvolvedor Web desde 2007• Idealizador do Grupo WebLovers• Ativista do conhecimento compartilhadoQUEM ?http://grupoweblovers.org
  3. 3. • PORQUÊ TUDO ISSO?• DESENVOLVIMENTO VS PRODUÇÃO• ORIENTAÇÃO A OBJETOS – OOP OU POO?• A LINGUAGEM PHP• HACKING SESSION!O QUÊ ?http://grupoweblovers.org
  4. 4. • É bonito?• É bom?QUEM QUER $ $ $ $ ?http://grupoweblovers.org
  5. 5. Foi criada pensando na WEB: – Personal Hypertext Processor  PHP Hypertext PreProcessor.Facilidade para o desenvolvedor: – Imensa biblioteca livre: PEAR! – Manipulação de imagens, arquivos-texto, PDF, JSON, XML... – Suporte a web semântica / URL-encode / Code-injection...É LIVRE, GRÁTIS, CÓDIGO ABERTO E PODEROSA: – Utilizada por Facebook, Wikipedia, WordPress... Em 1998, apenas 4 anos após criada, era usada em 10% dos sites da Internet e hoje é a 3ª linguagem mais usada no mundo conhecido!Uma linguagem para atodos dominar...http://grupoweblovers.org
  6. 6. • RADPHP – Antes chamado de Delphi for PHP, após aquisição pela EMBARCADERO tornou-se uma IDE menos ruim mas não me apetece!• DREAMWEAVER – Não é ruim, mas pode deixar a pessoa burra, além de ser tão caro quanto o anterior;• ECLIPSE – A menina dos olhos de quem é multiprogramador, auxilia com debug, versionamento, além de suportar diversas outras linguagens;• NOTEPAD++ – O meu preferido para os fins caseiros ou pequenos projetos divertidos;• VIM, gEdit, Emacs ou TextMate – Para os fãs de sistemas linux-like;• Terminal script – Para quem deseja executar testes rápidos ou não dispensa o prompt cool.IDE´s PARA QUE TE QUEROhttp://grupoweblovers.org
  7. 7. PARA CONHECER / DESENVOLVER: – XAMP, WAMP, EasyPhp : Aplicativos desenvolvidos para facilitar a inicialização do conjunto clássico de desenvolvimento: Apache + MySQL + PHP; – PHP-Tríade: Mesma idéia, péssima implementação; – Nignx, Apache httpd, IIS, JVM e outros servidores web que também rodam outras linguagens + módulo PHP simulando o mundo “real”.PRODUÇÃO: – Prefira um servidor confiável, rodando Ubuntu ou CENTos, com Apache httpd ou Nginx e de preferência exclusivo para aplicação separado do banco de dados.E RODA ONDE ?http://grupoweblovers.org
  8. 8. O ZEND Engine, é uma API que surgiu quando Zeev e Andi se juntaram a Rasmuspara melhorar a linguagem e sua posterior evolução a partir da 3ª versão;PEAR/PECL – Repositório muito distinto, contendo milhares de códigos (features) ebibliotecas (libraries) que facilitam a vida do programador preguiçoso;WORDPRESS – Grande e poderoso, é um framework com cara de CMS, ou vice-versa, amplamente utilizado foi recentemente adotado pela Microsoft emsubstituição ao Live Spaces;CAKEPHP – Orientado a objetos é um dos mais novos e busca uma fatia domercado de frameworks PHP assim como o CodeIgniterJOOMLA, DRUPAL, etc – Uma miscelânea entre CMS e frameworks, mas quequebram o galho para quem prefere deixar a mágica acontecer.Frameworks vs API vs CMShttp://grupoweblovers.org
  9. 9. Orientação a objetos é um estilo de desenvolvimento ouPARADIGMA;Arquitetura em camadas é um ESTILO arquitetural;MVC é um PADRÃO arquitetural de desenvolvimento;Existem diversas formas de fazer a mesma coisa, e como o PHP surgiupara processar requisições e devolver HTML, a programaçãoestruturada foi a resposta mais óbvia enxergada pelo seu desenvolvedor,com os paradigmas atuais, e com o conhecimento que temos hoje,vemos que a orientação a objetos responderá de forma melhor e muitomais natural aos problemas que a linguagem se propõe, assim,buscaremos aprender não somente a linguagem mas este paradigma!OOP ou POO ? Tanto faz!http://grupoweblovers.org
  10. 10. Abstração: é a habilidade de resumir um objeto do mundo real em umaestrutura que responde as necessidades do projeto sem se preocuparcom o supérfluo.Encapsulamento: é a técnica de expor as características e ascapacidades de um objeto de forma a garantir perfomance e segurançadas informações.Herança: é a propriedade de um objeto ser replicado em outrotransferindo suas características sem necessariamente ser copiado.Polimorfismo: é a capacidade que um objeto tem de transformar ascaracterísticas herdadas de forma a aprimorá-las às suas necessidadesSENDO UM OBJETOhttp://grupoweblovers.org
  11. 11. Funções vs Comandos: echo, include, include_once, print,print_r, var_dump etc.Tipos de dados: string, inteiro, double, boleano, nulo, array,objeto, recurso, misto e callback.Estruturas prontas: Session, Post, Get, PDO etc.Partes de um objeto: __construct(), __destruct(), try{} –catch(){} – finally{}, $this, $self.A LINGUAGEM ENFIMhttp://grupoweblovers.org
  12. 12. AGORA É A SUA VEZ, DÚVIDAS?http://grupoweblovers.org

×