php trabalho

15
fi AUTORES Algoritmos e Programação TRABALHO PHP Autores: UC – Márcio Machado Rosa UC09025563 – Kleber Alves dos Santos UC – Andreia de Mello Lossano UC – Glauber Alves Gonçalves Martins UC – Elilton Jesus dos Santos Salazar UC – 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

Upload: kleber-santos

Post on 25-Jun-2015

643 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: PHP Trabalho

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

Page 2: PHP Trabalho

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

Page 3: PHP Trabalho

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

Page 4: PHP Trabalho

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

Page 5: PHP Trabalho

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.

Page 6: PHP Trabalho

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.

Page 7: PHP Trabalho

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.

Page 8: PHP Trabalho

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

Page 9: PHP Trabalho

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

Page 10: PHP Trabalho

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

Page 11: PHP Trabalho

Í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