Este documento apresenta uma introdução ao desenvolvimento em PHP, incluindo tendências do mercado, o que é PHP, por que usar PHP, programação orientada a objetos em PHP e exemplos de código.
Desenvolvimento em PHPProf.Lucas Simões Maistrolucassimoesmaistro@bol.com.brhttp://www.twitter.com/lucas_simoeshttp://blogdopiruca.wordpress.com/
2.
ApresentaçãoProf. Lucas SimõesMaistroEspecialista em Sistemas para InternetBacharel em Administração de Empresas com Habilitação em Análise de SistemasEngenheiro de Software da Critical Software do Brasil11 anos de experiência em desenvolvimento de software
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 AmigaOSUtilizado 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.
SimplicidadeO 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.
AdaptabilidadeO PHP usaduas 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.
InteroperabilidadeDiversas ferramentas suportama linguagem PHP, por exemplo, Visual Studio (utilizando o framework .Net) e Delphi;Acesso a qualquer banco de dados relacional;XMLWeb Services
PortabilidadeDisponível para amaioria 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.
Detalhamento do ScriptNoexemplo, é 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
Detalhamento do Scriptemptyretorna 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.
Curiosidade - ThumbnailsThumbnailssão as versões reduzidas das imagensNo próprio google é possível encontrar diversas classes e rotinas em PHP que criam esse efeito
27.
Conectando BDEm programaçãoweb deve-se pensar em:Conectar ao banco de dados o mais tardar possívelDesconectar o quanto antes.
28.
Programação Orientada aObjetos no PHPProjetos profissionais exigem alto nível de reusabilidadeA melhor maneira de alcançar esse objetivo é trabalhar orientado à objetosO PHP não poderia ficar fora dessa
29.
Conceitos da Orientaçãoa ObjetosA 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çãoa Objetos Classe Objeto Atributos Métodos Sobrecarga Herança Associação Encapsulamento Abstração Polimorfismo
31.
ClasseUma classe defineo 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.
ObjetoObjeto é umainstâ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.
AtributosSão dados ouinformações do objeto, basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço, telefone, CPF;
Livro: autor,editora, ano.MétodosDefinem 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.
36.
SobrecargaÉ a utilizaçãodo 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 mecanismopelo 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.
EncapsulamentoConsiste na separaçãode 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 habilidadede 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ípiopelo 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 suportea OOSmalltalkPerlPythonRuby on RailsColdFusionC++Object Pascal (Delphi)JavaC#VB.NET
Padrão MVC (Model-View-Controller)ModelCamadade 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.ViewCamada 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.ControllerCamada 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.
PHP e extJSBibliotecaJavaScriptFoi criado para ser uma extensão do Yahoo! User Interface (YUI)Por ser JavaScript pode ser interpretada por qualquer navegador
PHP e jQueryTudocomeç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.
Considerações FinaisPHP éuma linguagem robusta e dinâmicaAltamente profissionalO bom desenvolvedor :Conhece várias linguagensNã0 se apega a tecnologiaSe apega a boas práticas e resultadosEstá atento diariamente ao que está acontecendoRecomendação de estudo:Muita orientação a objetosPadrões de ProjetoExtreme ProgramMetodologias Ágeis