SlideShare uma empresa Scribd logo
Prof. Lucas Simões Maistro [email_address] 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:  Funcionário: nome, endereço, telefone, CPF;  Carro: nome, marca, ano, cor;  Livro: autor, editora, ano.
Métodos Definem as habilidades dos objetos.  Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição.  A ação só ocorre quando o método é invocado através do objeto, no caso Bidu.
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

Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
José Volmei Dal Prá Junior
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
joaocarlobarros
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Orlando Junior
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
Leonardo Soares
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Cristiano Almeida
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
Thiago Vidal
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
Tony Alexander Hild
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
Paulo Carvalho
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
Joaquim Vieira
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
Moises Omena
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
Andre Nascimento
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Ryan Padilha
 
T@rget Trust - Formação Análise de Sistemas
T@rget Trust - Formação Análise de SistemasT@rget Trust - Formação Análise de Sistemas
T@rget Trust - Formação Análise de Sistemas
Targettrust
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
Edy Segura
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
Ryan Padilha
 
Linguagens de programação 12º M12
Linguagens de programação 12º M12Linguagens de programação 12º M12
Linguagens de programação 12º M12
Luis Ferreira
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
Luis Ferreira
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
César Augusto Pessôa
 
Oo delphi
Oo delphiOo delphi
Oo delphi
Fernando Palma
 

Mais procurados (20)

Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
T@rget Trust - Formação Análise de Sistemas
T@rget Trust - Formação Análise de SistemasT@rget Trust - Formação Análise de Sistemas
T@rget Trust - Formação Análise de Sistemas
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Linguagens de programação 12º M12
Linguagens de programação 12º M12Linguagens de programação 12º M12
Linguagens de programação 12º M12
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Oo delphi
Oo delphiOo delphi
Oo delphi
 

Destaque

Trabalho de quimica
Trabalho de quimicaTrabalho de quimica
Trabalho de quimica
EEB Francisco Mazzola
 
Do renascimento ao barroco
Do renascimento ao barrocoDo renascimento ao barroco
Do renascimento ao barroco
silvartes
 
áLbum De FotografíAs 2
áLbum De FotografíAs 2áLbum De FotografíAs 2
áLbum De FotografíAs 2
guestaf5f031
 
Tribuna 1523
Tribuna 1523Tribuna 1523
Tribuna 1523
Deywyd Arthur
 
Um Novo Comeco
Um Novo ComecoUm Novo Comeco
Um Novo Comeco
vida simples
 
Actividades De Educacion No Formal
Actividades De Educacion No FormalActividades De Educacion No Formal
Actividades De Educacion No Formal
dorisfresita
 
Livros eletronicos na aprendizagem
Livros eletronicos na aprendizagemLivros eletronicos na aprendizagem
Livros eletronicos na aprendizagem
RBE Algarve
 
Roteiro histórico da pré-história à romanidade
Roteiro histórico da pré-história à romanidadeRoteiro histórico da pré-história à romanidade
Roteiro histórico da pré-história à romanidade
silvartes
 
Social Medica Fam
Social Medica FamSocial Medica Fam
Social Medica Fam
Felipe Nogs
 

Destaque (9)

Trabalho de quimica
Trabalho de quimicaTrabalho de quimica
Trabalho de quimica
 
Do renascimento ao barroco
Do renascimento ao barrocoDo renascimento ao barroco
Do renascimento ao barroco
 
áLbum De FotografíAs 2
áLbum De FotografíAs 2áLbum De FotografíAs 2
áLbum De FotografíAs 2
 
Tribuna 1523
Tribuna 1523Tribuna 1523
Tribuna 1523
 
Um Novo Comeco
Um Novo ComecoUm Novo Comeco
Um Novo Comeco
 
Actividades De Educacion No Formal
Actividades De Educacion No FormalActividades De Educacion No Formal
Actividades De Educacion No Formal
 
Livros eletronicos na aprendizagem
Livros eletronicos na aprendizagemLivros eletronicos na aprendizagem
Livros eletronicos na aprendizagem
 
Roteiro histórico da pré-história à romanidade
Roteiro histórico da pré-história à romanidadeRoteiro histórico da pré-história à romanidade
Roteiro histórico da pré-história à romanidade
 
Social Medica Fam
Social Medica FamSocial Medica Fam
Social Medica Fam
 

Semelhante a Apresentação faef

Guia php
Guia phpGuia php
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livre
elliando dias
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
Maurício Linhares
 
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
 
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
Flávio Lisboa
 
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
Raniere de Lima
 
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
Kleber Silva
 
Palestra
PalestraPalestra
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
Sergio Henrique
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
PythOnRio
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
Luiz Aldabalde
 
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
Marcelo Zeferino
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
Lucas Augusto Carvalho
 
Módulo de php
Módulo de phpMódulo de php
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
LP Maquinas
 
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptxTP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
Momento da Informática
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
Marcus Vinicius Leandro
 
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
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Glaucio Scheibel
 
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
fabioginzel
 

Semelhante a Apresentação faef (20)

Guia php
Guia phpGuia php
Guia php
 
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livre
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
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
 
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
 
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
 
Palestra
PalestraPalestra
Palestra
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
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
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Módulo de php
Módulo de phpMódulo de php
Módulo de php
 
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
 
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptxTP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
TP2 - TÉCNICAS DE PROGRAMAÇÃO PARA INTERNET II_aula1.pptx
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 
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
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
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
 

Apresentação faef

  • 1. Prof. Lucas Simões Maistro [email_address] 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. Atributos São dados ou informações do objeto, basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço, telefone, CPF; Carro: nome, marca, ano, cor; Livro: autor, editora, ano.
  • 34. Métodos Definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu.
  • 35. 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.
  • 36. 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).
  • 37. 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
  • 38. 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.
  • 39. 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.
  • 40. Linguagens com suporte a OO Smalltalk Perl Python Ruby on Rails ColdFusion C++ Object Pascal (Delphi) Java C# VB.NET
  • 43. Exemplo – Classe Aluno – Métodos de Acesso a Dados
  • 45. 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.
  • 47. 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
  • 49. 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.
  • 52. 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
  • 53.