SlideShare uma empresa Scribd logo
1 de 53
Desenvolvimento em PHP Prof. Lucas Simões Maistro lucassimoesmaistro@bol.com.br http://www.twitter.com/lucas_simoes http://blogdopiruca.wordpress.com/
Apresentação Prof. Lucas Simões Maistro Especialista em Sistemas para Internet Bacharel em Administração de Empresas com Habilitação em Análise de Sistemas Engenheiro de Software da Critical Software do Brasil 11 anos de experiência em desenvolvimento de software
Tendências do Mercado Sistemas Web Mobilidade Saas Computação em Nuvem (Cloud Computing)
O que é PHP? O PHP é, assim como Java e .NET, uma linguagem de programação e uma plataforma global. Como linguagem de programação, PHP tem uma sintaxe bastante parecida com C, Shell, Perl  e Java. Com PHP é possível desenvolver: Aplicações Web dinâmicas (websites, intranets, extranets, etc); Aplicações desktop (PHP-GTK e PHP4Delphi); Rich Clients (PHP-XUL); Web Services (SOAP, XML-RPC, REST); Scripts de linha de comando; Tarefas de segundo plano.
O que é PHP? Cerca de 1000 engenheiros desenvolvem o PHP. O PHP é Software Livre, distribuído sob uma licença na qual os usuários não são obrigados a publicar seu código. A portabilidade é uma das maiores vantagens do PHP, possibilitando sua instalação em vários Sistemas Operacionais como: Windows, Linux, Unix, IBM iSeries, SGI IRIX, RISC OS, Netware Novell, Mac OS X e AmigaOS Utilizado com: Um servidor Web: Apache ou Microsoft IIS; Um SGDB (banco de dados): MySQL, PostgreSQL, Oracle, SQL Server, etc. A maioria das plataformas utilizam Linux, Apache e MySQL.
Por que usar PHP?
Simplicidade O PHP é uma linguagem com um modelo de desenvolvimento muito simples.  O objetivo inicial do PHP era tornar possível um desenvolvimento rápido sem um treinamento preliminar.  Esse objetivo foi alcançado, fazendo com que a maioria das empresas de hospedagem ofereçam PHP nos seus servidores.
Adaptabilidade O PHP usa duas sintaxes: procedura e orientada a objetos.  Procedural: utilizada por webmasters que trabalham na interface com o usuário. Orientada a Objetos: propositalmente similar ao Java e C#, com o objetivo de reduzir os custos com treinamento e encorajar a migração para o PHP.
Interoperabilidade Diversas ferramentas suportam a linguagem PHP, por exemplo, Visual Studio (utilizando o framework .Net) e Delphi; Acesso a qualquer banco de dados relacional; XML Web Services
Dephi for PHP e RadPHP XE
Visual Studio 2010
Portabilidade Disponível para a maioria dos sistemas operacionais, o PHP funciona da mesma maneira que a Maquina Virtual do Java (JVM).  Após desenvolver a aplicação, ela irá funcionar imediatamente, sem a necessidade de recompilar, independente de qual sistema operacional está sendo utilizado.
Uma das linguagens mais utilizadas Fonte: http://www.tiobe.com
Alta Demanda por Profissionais
Esquema de Funcionamento
Primeiro Script
Detalhamento do Script No exemplo, é criada uma variável chamada $texto e atribuído o valor “Primeiro Script”, que posteriormente será exibido pelo browser. Toda variável em PHP é iniciada por $. Não há necessidade de declarar o tipo de variável. Quando a página é carregada, o script PHP é interpretado pelo Apache e substituído pelo resultado  gerado puramente em Html. Isso pode ser verificado a partir do browser no menu:  Exibir / Código fonte
Utilizando Formulários em HTML
Detalhamento do Script empty retorna se a variável passada no parâmetro vale null ou “”.  null indica variável não declarada e “” indica que variável tem valor vazio. $_REQUEST retorna o valor contido num campo do formulário.  É necessário que a propriedade NAME do INPUT do formulário HMTL tenha o mesmo nome do parâmetro usado em $_REQUEST.  $_REQUEST requisita valores enviados pelos métodos GET e POST. Para especificar apenas um dos métodos, utilize $_GET e $_POST. A instrução if é usada para garantir que nada seja apresentado quando a página for carregada pela primeira vez. É possível atribuir o valor do INPUT direto para uma variável do PHP. É preciso configurar register_globals = On no arquivo PHP.INI e  reiniciar o servidor Apache.
If..else // while // for if..else  while for
Inclusão de outros Scripts
Uso de Vetor (array)
Sessão
Curiosidade - ZIP No site do PHPClasses é possível encontrar classes com funcionalidades incríveis
Curiosidade - ZIP Index.php compactar.php
Curiosidade - Thumbnails Thumbnails são as versões reduzidas das imagens No próprio google é possível encontrar diversas classes  e rotinas em PHP que criam esse efeito
Conectando BD Em programação web deve-se pensar em: Conectar ao banco de dados o mais tardar possível Desconectar o quanto antes.
Programação Orientada a Objetos no PHP Projetos profissionais exigem alto nível de reusabilidade A melhor maneira de alcançar esse objetivo é trabalhar orientado à objetos O PHP não poderia ficar fora dessa
Conceitos da Orientação a Objetos A orientação a objetos (OO), também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Conceitos da Orientação a Objetos  Classe  Objeto  Atributos  Métodos  Sobrecarga  Herança  Associação  Encapsulamento  Abstração  Polimorfismo
Classe Uma classe define o objeto com comportamento, através de métodos, e quais estados ele é capaz de manter, através de atributos.  Exemplo de classe: Os seres humanos.
Objeto Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria.
Atributos São dados ou informações do objeto, basicamente a estrutura de dados que vai representar a classe. Exemplos:  ,[object Object]
 Carro: nome, marca, ano, cor;
 Livro: autor, editora, ano.,[object Object]
Sobrecarga É a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura.
Herança É o mecanismo pelo qual uma classe (classe-filha) pode estender outra classe (classe-mãe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Mamífero é classe-mãe de Humano (classe-filha).
Encapsulamento Consiste na separação de aspectos internos e externos de um objeto.  Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável
Abstração É a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
Polimorfismo É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução.
Linguagens com suporte a OO Smalltalk Perl Python Ruby on Rails ColdFusion C++ Object Pascal (Delphi) Java C# VB.NET
Exemplo
Exemplo – Classe Aluno
Exemplo – Classe Aluno – Métodos de Acesso a Dados
Exemplo PHP OO
Padrão MVC (Model-View-Controller) Model Camada de Controle - determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de apresentação e a lógica. Controla e mapeia as ações. View Camada de apresentação ou visualização - Não esta preocupada em como a informação foi obtida ou onde ela foi obtida apenas exibe a informação. Inclui os elementos de exibição no cliente: HTML, XML, ASP, Applets. É a camada de interface com o usuário. É usada para receber a entrada de dados e apresentar o resultado. Controller Camada de lógica da Aplicação - É o coração da aplicação. Responsável por tudo que a aplicação vai fazer. Modela os dados e o comportamento por atrás do processo de negócios. Preocupa-se apenas com o armazenamento, manipulação e geração de dados. É um encapsulamento de dados e de comportamento independente da apresentação.
Exemplo MVC
PHP e extJS Biblioteca JavaScript Foi criado para ser uma extensão do Yahoo! User Interface (YUI) Por ser JavaScript pode ser interpretada por qualquer navegador
PHP e extJS
PHP e jQuery Tudo começou com esse post: Onde o autor descrevia sua insatisfação com a grande quantidade de código que se tinha que escrever para obter resultados simples através da linguagem JavaScript e apresentava ao mundo um modelo simplificado de se desenvolver web sites com interfaces ricas.
PHP e jQuery
PHP e jQuery
Considerações Finais PHP é uma linguagem robusta e dinâmica Altamente profissional O bom desenvolvedor : Conhece várias linguagens Nã0 se apega a tecnologia Se apega a boas práticas e resultados Está atento diariamente ao que está acontecendo Recomendação de estudo: Muita orientação a objetos Padrões de Projeto Extreme Program Metodologias Ágeis

Mais conteúdo relacionado

Mais procurados

Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorDaniel Brandão
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFlávio Lisboa
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zeroFred Ramos
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livreelliando dias
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em InformáticaEder Carneiro
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]Carl Edwin
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Thyago Maia
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Thyago Maia
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Thyago Maia
 

Mais procurados (18)

Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zero
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livre
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]
Monografia restful -_2013_-_desenvolvimento_v17-final-2014[1]
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 

Destaque

Apresentação ri cpfl energia_apimec rio_abr13
Apresentação ri cpfl energia_apimec rio_abr13Apresentação ri cpfl energia_apimec rio_abr13
Apresentação ri cpfl energia_apimec rio_abr13CPFL RI
 
13 fotos que hicieron historia
13 fotos que hicieron historia13 fotos que hicieron historia
13 fotos que hicieron historiaErika Quinteroo
 
Palavras para quê... Anúncios off
Palavras para quê... Anúncios offPalavras para quê... Anúncios off
Palavras para quê... Anúncios offPosicionamento Web
 
Jornadas Endeudamiento Entidades Locales
Jornadas Endeudamiento Entidades LocalesJornadas Endeudamiento Entidades Locales
Jornadas Endeudamiento Entidades LocalesALSIMA
 

Destaque (7)

Ctagenero 3 febrero_marzo_2013
Ctagenero 3 febrero_marzo_2013Ctagenero 3 febrero_marzo_2013
Ctagenero 3 febrero_marzo_2013
 
Apresentação ri cpfl energia_apimec rio_abr13
Apresentação ri cpfl energia_apimec rio_abr13Apresentação ri cpfl energia_apimec rio_abr13
Apresentação ri cpfl energia_apimec rio_abr13
 
Separação de materiais
Separação de materiaisSeparação de materiais
Separação de materiais
 
La moda
La modaLa moda
La moda
 
13 fotos que hicieron historia
13 fotos que hicieron historia13 fotos que hicieron historia
13 fotos que hicieron historia
 
Palavras para quê... Anúncios off
Palavras para quê... Anúncios offPalavras para quê... Anúncios off
Palavras para quê... Anúncios off
 
Jornadas Endeudamiento Entidades Locales
Jornadas Endeudamiento Entidades LocalesJornadas Endeudamiento Entidades Locales
Jornadas Endeudamiento Entidades Locales
 

Semelhante a Desenvolvimento em PHP: da introdução aos padrões MVC e jQuery

Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao phpAdriano Castro
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 
Apresentação final
Apresentação finalApresentação final
Apresentação finalvalmon
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHPDalton Martins
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkRafael Dohms
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorDickson S. Guedes
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetosLP Maquinas
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 

Semelhante a Desenvolvimento em PHP: da introdução aos padrões MVC e jQuery (20)

A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
Guia php
Guia phpGuia php
Guia php
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
Palestra
PalestraPalestra
Palestra
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHP
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetos
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 

Desenvolvimento em PHP: da introdução aos padrões MVC e jQuery

  • 1. Desenvolvimento em PHP Prof. Lucas Simões Maistro lucassimoesmaistro@bol.com.br http://www.twitter.com/lucas_simoes http://blogdopiruca.wordpress.com/
  • 2. Apresentação Prof. Lucas Simões Maistro Especialista em Sistemas para Internet Bacharel em Administração de Empresas com Habilitação em Análise de Sistemas Engenheiro de Software da Critical Software do Brasil 11 anos de experiência em desenvolvimento de software
  • 3. Tendências do Mercado Sistemas Web Mobilidade Saas Computação em Nuvem (Cloud Computing)
  • 4. O que é PHP? O PHP é, assim como Java e .NET, uma linguagem de programação e uma plataforma global. Como linguagem de programação, PHP tem uma sintaxe bastante parecida com C, Shell, Perl e Java. Com PHP é possível desenvolver: Aplicações Web dinâmicas (websites, intranets, extranets, etc); Aplicações desktop (PHP-GTK e PHP4Delphi); Rich Clients (PHP-XUL); Web Services (SOAP, XML-RPC, REST); Scripts de linha de comando; Tarefas de segundo plano.
  • 5. O que é PHP? Cerca de 1000 engenheiros desenvolvem o PHP. O PHP é Software Livre, distribuído sob uma licença na qual os usuários não são obrigados a publicar seu código. A portabilidade é uma das maiores vantagens do PHP, possibilitando sua instalação em vários Sistemas Operacionais como: Windows, Linux, Unix, IBM iSeries, SGI IRIX, RISC OS, Netware Novell, Mac OS X e AmigaOS Utilizado com: Um servidor Web: Apache ou Microsoft IIS; Um SGDB (banco de dados): MySQL, PostgreSQL, Oracle, SQL Server, etc. A maioria das plataformas utilizam Linux, Apache e MySQL.
  • 7. Simplicidade O PHP é uma linguagem com um modelo de desenvolvimento muito simples. O objetivo inicial do PHP era tornar possível um desenvolvimento rápido sem um treinamento preliminar. Esse objetivo foi alcançado, fazendo com que a maioria das empresas de hospedagem ofereçam PHP nos seus servidores.
  • 8. Adaptabilidade O PHP usa duas sintaxes: procedura e orientada a objetos. Procedural: utilizada por webmasters que trabalham na interface com o usuário. Orientada a Objetos: propositalmente similar ao Java e C#, com o objetivo de reduzir os custos com treinamento e encorajar a migração para o PHP.
  • 9. Interoperabilidade Diversas ferramentas suportam a linguagem PHP, por exemplo, Visual Studio (utilizando o framework .Net) e Delphi; Acesso a qualquer banco de dados relacional; XML Web Services
  • 10. Dephi for PHP e RadPHP XE
  • 12. Portabilidade Disponível para a maioria dos sistemas operacionais, o PHP funciona da mesma maneira que a Maquina Virtual do Java (JVM). Após desenvolver a aplicação, ela irá funcionar imediatamente, sem a necessidade de recompilar, independente de qual sistema operacional está sendo utilizado.
  • 13. Uma das linguagens mais utilizadas Fonte: http://www.tiobe.com
  • 14. Alta Demanda por Profissionais
  • 17. Detalhamento do Script No exemplo, é criada uma variável chamada $texto e atribuído o valor “Primeiro Script”, que posteriormente será exibido pelo browser. Toda variável em PHP é iniciada por $. Não há necessidade de declarar o tipo de variável. Quando a página é carregada, o script PHP é interpretado pelo Apache e substituído pelo resultado gerado puramente em Html. Isso pode ser verificado a partir do browser no menu: Exibir / Código fonte
  • 19. Detalhamento do Script empty retorna se a variável passada no parâmetro vale null ou “”. null indica variável não declarada e “” indica que variável tem valor vazio. $_REQUEST retorna o valor contido num campo do formulário. É necessário que a propriedade NAME do INPUT do formulário HMTL tenha o mesmo nome do parâmetro usado em $_REQUEST. $_REQUEST requisita valores enviados pelos métodos GET e POST. Para especificar apenas um dos métodos, utilize $_GET e $_POST. A instrução if é usada para garantir que nada seja apresentado quando a página for carregada pela primeira vez. É possível atribuir o valor do INPUT direto para uma variável do PHP. É preciso configurar register_globals = On no arquivo PHP.INI e reiniciar o servidor Apache.
  • 20. If..else // while // for if..else while for
  • 22. Uso de Vetor (array)
  • 24. Curiosidade - ZIP No site do PHPClasses é possível encontrar classes com funcionalidades incríveis
  • 25. Curiosidade - ZIP Index.php compactar.php
  • 26. Curiosidade - Thumbnails Thumbnails são as versões reduzidas das imagens No próprio google é possível encontrar diversas classes e rotinas em PHP que criam esse efeito
  • 27. Conectando BD Em programação web deve-se pensar em: Conectar ao banco de dados o mais tardar possível Desconectar o quanto antes.
  • 28. Programação Orientada a Objetos no PHP Projetos profissionais exigem alto nível de reusabilidade A melhor maneira de alcançar esse objetivo é trabalhar orientado à objetos O PHP não poderia ficar fora dessa
  • 29. Conceitos da Orientação a Objetos A orientação a objetos (OO), também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
  • 30. Conceitos da Orientação a Objetos Classe Objeto Atributos Métodos Sobrecarga Herança Associação Encapsulamento Abstração Polimorfismo
  • 31. Classe Uma classe define o objeto com comportamento, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.
  • 32. Objeto Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria.
  • 33.
  • 34. Carro: nome, marca, ano, cor;
  • 35.
  • 36. Sobrecarga É a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura.
  • 37. Herança É o mecanismo pelo qual uma classe (classe-filha) pode estender outra classe (classe-mãe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Mamífero é classe-mãe de Humano (classe-filha).
  • 38. Encapsulamento Consiste na separação de aspectos internos e externos de um objeto. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável
  • 39. Abstração É a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
  • 40. Polimorfismo É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução.
  • 41. Linguagens com suporte a OO Smalltalk Perl Python Ruby on Rails ColdFusion C++ Object Pascal (Delphi) Java C# VB.NET
  • 44. Exemplo – Classe Aluno – Métodos de Acesso a Dados
  • 46. Padrão MVC (Model-View-Controller) Model Camada de Controle - determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de apresentação e a lógica. Controla e mapeia as ações. View Camada de apresentação ou visualização - Não esta preocupada em como a informação foi obtida ou onde ela foi obtida apenas exibe a informação. Inclui os elementos de exibição no cliente: HTML, XML, ASP, Applets. É a camada de interface com o usuário. É usada para receber a entrada de dados e apresentar o resultado. Controller Camada de lógica da Aplicação - É o coração da aplicação. Responsável por tudo que a aplicação vai fazer. Modela os dados e o comportamento por atrás do processo de negócios. Preocupa-se apenas com o armazenamento, manipulação e geração de dados. É um encapsulamento de dados e de comportamento independente da apresentação.
  • 48. PHP e extJS Biblioteca JavaScript Foi criado para ser uma extensão do Yahoo! User Interface (YUI) Por ser JavaScript pode ser interpretada por qualquer navegador
  • 50. PHP e jQuery Tudo começou com esse post: Onde o autor descrevia sua insatisfação com a grande quantidade de código que se tinha que escrever para obter resultados simples através da linguagem JavaScript e apresentava ao mundo um modelo simplificado de se desenvolver web sites com interfaces ricas.
  • 53. Considerações Finais PHP é uma linguagem robusta e dinâmica Altamente profissional O bom desenvolvedor : Conhece várias linguagens Nã0 se apega a tecnologia Se apega a boas práticas e resultados Está atento diariamente ao que está acontecendo Recomendação de estudo: Muita orientação a objetos Padrões de Projeto Extreme Program Metodologias Ágeis