php trabalho
TRANSCRIPT
fi
AUTORES
Andreia de Mello LossanoElilton Jesus dos Santos Salazar
AUTORES
Algoritmos e Programação
TRABALHO
PHP
Autores:
UC – Márcio Machado RosaUC09025563 – Kleber Alves dos SantosUC – Andreia de Mello LossanoUC – Glauber Alves Gonçalves MartinsUC – Elilton Jesus dos Santos SalazarUC – Israel Pereira de Souza
Profa. Msc Graziela Ferreira Guarda
2010
Pró-Reitoria de Graduação
Cursos: Analise e Desenvolvimento de Sistemas e
Algoritmos e Programação
Linguagem de Programação PHP
Autores: Andreia, Elilton, Glauber, Israel, Kleber e Márcio
Orientador: Prof. Me. Grazieli Ferreira Guarda
Brasília - DF
2010
Andreia de Mello LossanoElilton Jesus dos Santos Salazar
Glauber Alves Gonçalves MartinsIsrael Pereira de SouzaMárcio Machado Rosa
Kleber Alves dos Santos
TÍTULO: Linguagem de Programação PHP
Trabalho Apresentado aos cursos Analise e Desenvolvimento de Sistemas e Gestão da Tecnologia da Informação da Universidade Católica de Brasília, com requisito parcial para conclusão da disciplina Algoritmos e Programação.
Orientador: Prof. Me. Graziela Ferreira Guarda
Brasília2010
Agradecimentos
A Deus,
O Ser supremo, o espírito infinito e eterno, criador e preservador do Universo.
"A mais profunda raiz do fracasso em nossas vidas é pensar, como sou inútil e fraco. É essencial pensar poderosa e firmemente, eu consigo, sem
ostentação ou preocupação.” Dalai Lama
SumárioINTRODUÇÃO...............................................................................................................................31. LEVANTAMENTO HISTÓRICO DA LINGUAGEM.......................................................3
Histórico...................................................................................................................................3Principais características..........................................................................................................5Características..........................................................................................................................5PHP 5........................................................................................................................................5Indução de tipo........................................................................................................................5Visibilidade...............................................................................................................................6Polimorfismo............................................................................................................................6Polimorfismo Paramétrico.......................................................................................................6Polimorfismo por Inclusão.......................................................................................................6Polimorfismo por Sobrecarga...................................................................................................7Polimorfismo por Coerção........................................................................................................7
2. SINTAXE BÁSICA – Guia de Referência...........................................................................73. EMPRESAS QUE UTILIZAM A LINGUAGEM...............................................................74. COMUNIDADES DE PROGRAMADORES......................................................................75. TENDÊNCIAS.....................................................................................................................76. BENEFÍCIOS.......................................................................................................................77. CONCLUSÃO.....................................................................................................................88. GLOSSÁRIO.......................................................................................................................89. BIBLIOGRAFIA..................................................................................................................8ÍNDICE REMISSIVO..................................................................................................................9
INTRODUÇÃO
Este trabalho tem como objetivo levar os alunos a entender uma das linguagens
de programação, suas reverências e a tecnologia que agregam os recursos específicos.
Parte da matéria de Algoritmos e Programação, da Universidade Católica de Brasília e
orientado pela professora Grazieli Ferreira Guarda, o grupo buscou informações na
internet e em livros específicos sobre a linguagem PHP, criada em 1994 e que hoje,
mais do que nunca, esta sendo usado por várias empresas, devido às vantagens do baixo
custo e vários benefícios.
1. LEVANTAMENTO HISTÓRICO DA LINGUAGEM
Histórico
A linguagem surgiu por volta de 1994, como um pacote de programas CGI
criado por Rasmus Lerdorf1, com o nome Personal Home Page Tools, para substituir um
conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em
1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a
ferramenta Forms Interpreter, um interpretador de comandos SQL.
Mais tarde, Zeev Suraski2 desenvolveu o analisador do PHP 3 que contava com
o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes,
tinha herança e dava aos desenvolvedores somente a possibilidade de implementar
propriedades e métodos.
1 Rasmus Lerdorf: nascido em 22 de Novembro de 1968 em Qeqertarsuaq, na Groenlândia, programador canadiano-dinamarquês, autor da primeira versão da linguagem de programação PHP. Foi coautor das versões seguintes, juntamente com os israelitas fundadores da Zend Technologies, Andi Gutmans e Zeev Suraski.
2 Zeev Suraski: programador israelense, um dos principais responsáveis pelo desenvolvimento do PHP e co-fundador da Zend Technologies. Um aluno do Technion, Haifa, Suraski e o seu colega Andi Gutmans criaram o PHP 3 em 1997. Em 1999 eles escreveram o Zend Engine, o motor do PHP 4, e fundaram a Zend Technologies, que desde então é a coordenadora do desenvolvimento no PHP. O nome Zend é uma valise dos seus nomes próprios, Zeev e Andi.Suraski é membro da Apache Software Foundation, e foi nomeado para o FSF Award for the Advancement of Free Software em 1999.Zeev Suraski é o CTO (Director Técnico) da Zend Technologies.
Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por
completo o PHP 3, dando mais poder à máquina da linguagem e maior número de
recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação
de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou
handlers, como são as linguagens Java , Ruby e outras.
O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha
com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois,
caso haja alguma mudança na versão original do objeto, todas as outras também sofrem
a alteração, o que não acontecia na PHP 4.
Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para
instalação e uso em servidores web. Diversos módulos são criados no repositório de
extensões PECL (PHP Extension Community Library) e alguns destes módulos são
introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos
de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser,
dependendo da configuração do servidor, embarcada no código HTML. Existem versões
do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux,
FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris.
A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando
bases de dados MySQL: o MediaWiki.
Construir uma página dinâmica baseada em bases de dados é simples com PHP,
(em parte, vale lembrar), este provê suporte a um grande número de bases de dados:
Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc.,
podendo abstrair o banco com a biblioteca ADOdb, entre outras.
PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP,
XML-RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as
bibliotecas de terceiros expandem ainda mais estas funcionalidades.
Existem iniciativas para utilizar o PHP como linguagem de programação de
sistemas fixos. A mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a
biblioteca GTK, portada do C++, fazendo assim softwares interoperacionais entre
Windows e Linux. Na prática, essa extensão tem sido muito pouco utilizada para
projetos reais.
Principais características
A linguagem PHP é uma linguagem de programação de domínio específico, ou
seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web,
embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar
soluções web velozes, simples e eficientes.
Características
Velocidade e robustez;
Estruturado e orientação a objetos;
Portabilidade - independência de plataforma - escreva uma vez, rode em
qualquer lugar;
Tipagem fraca;
Sintaxe similar a C/C++ e o Perl.
PHP 5
Em junho de 2004 foi lançada a versão 5 do PHP, introduzindo um novo modelo
de orientação a objeto, incluindo a reformulação dos construtores e adição de
destrutores (ver exemplo contextualizado em anexo), visibilidade de acesso, abstração
de objeto e interfaces de objetos.
O tratamento de objetos do PHP foi completamente reescrito, permitindo um
desempenho melhor e mais vantagens. Enquanto na versão anterior era preciso muito
esforço para atender à orientação a objetos e aos padrões de projetos (alguns não eram
possíveis), o PHP 5 veio para sanar essa deficiência. Ainda sofre nesse sentido, contudo,
por problemas devido a ser uma linguagem de tipagem fraca.
Indução de tipo
Nesse sentido, foi adicionada uma característica chamada de indução de tipo, de
acordo com a qual podemos ter certa tipagem quando passamos objetos aos parâmetros
de uma função (ou método), algo inconcebível na versão anterior.
Visibilidade
A visibilidade de uma propriedade ou método pode ser definida com os
seguintes modificadores de acesso: public, protected ou private. Itens declarados como
públicos podem ser acessados pelo objeto (instância da classe). Membros protegidos
estão acessíveis às classes filhas (herdadas). A visibilidade privada limita a apenas a
classe que define o atributo ou método. Ver exemplo contextualizado em anexo.
Polimorfismo
Existem duas modalidades de polimorfismo chamadas de Polimorfismo
Universal e Polimorfismo ad-hoc.
Polimorfismo Universal: Existem dois tipos (Polimorfismo Paramétrico e
Polimorfismo de Inclusão).
Polimorfismo ad-hoc: Existem dois tipos (Polimorfismo de Sobrecarga e
Polimorfismo de Coerção).
Polimorfismo Paramétrico
No polimorfismo paramétrico, um mesmo objeto pode ser utilizado
uniformemente como parâmetro em diferentes contextos sem necessidade de alterações.
Um método que exibe polimorfismo paramétrico (também chamada de método
genérico) permite que o tipo do seu argumento seja determinado por um parâmetro de
tipo implícito ou explícito, executando uma mesma operação, independente do tipo do
argumento. O PHP não requer (ou suporta) a definição de tipo explícita na declaração
de variáveis: o tipo de uma variável é determinado pelo contexto em que a variável é
utilizada. Isto significa que, se você atribuir um valor string para a variável $var, $var se
torna uma string. Se você então atribuir um valor inteiro para $var, ela se torna um
inteiro. Por isso o PHP não adota este tipo de polimorfismo, pois não possui parâmetros
genéricos.
Polimorfismo por Inclusão
No polimorfismo por inclusão um objeto pode ser visto como pertencendo a
diferentes classes que não precisam ser disjuntas. O PHP adota esse tipo de
polimorfismo, pois é uma linguagem orientada a objeto que permite recursos de
herança.
Polimorfismo por Sobrecarga
O polimorfismo por sobrecarga, no qual mais de um método tem o mesmo
nome, mas assinaturas diferentes não são suportadas pelo PHP.
Polimorfismo por Coerção
O PHP também suporta o polimorfismo por coerção, no qual a linguagem dispõe
de uma operação semântica para converter um argumento para um tipo esperado por
uma função, em uma situação que de outra forma resultaria em um erro de tipo.
2. SINTAXE BÁSICA – Guia de Referência
3. EMPRESAS QUE UTILIZAM A LINGUAGEM
4. COMUNIDADES DE PROGRAMADORES
5. TENDÊNCIAS
6. BENEFÍCIOS
7. CONCLUSÃO
8. GLOSSÁRIO
9. BIBLIOGRAFIA
Wikipédia - A enciclopédia livre. (s.d.). Acesso em 02 de Outubro de 2010, disponível em Wikipédia: http://pt.wikipedia.org/wiki/PHP
ÍNDICE REMISSIVO
AADOdb, 7
C
C++, 6, 7
F
FreeBSD, 7
H
handlers, 6
J
Java, 6
L
Linguagem C, 6
M
Mac OS, 7MySQL, 7
P
Perl, 6, 7PHP 3, 6PHP 4, 6PHP 5, 7Polimorfismo, 8
S
String, 8
W
Windows, 7