20
Universidade de Aveiro Mestrado em Comunicação Multimédia 1º Semestre 2009/2010 Tecnologias Dinâmicas para a Internet Projecto 3 O PHP Docentes: Profs. Benjamim Júnior e Telmo Silva Discentes: Henrique Ribeiro, Ivan Terra, João Mourão, Joaquim Vieira, Pedro Dias.

A Linguagem Php

Embed Size (px)

DESCRIPTION

Breve apresentação onde indica algumas noções sobre php

Citation preview

Page 1: A Linguagem Php

Universidade de AveiroMestrado em Comunicação Multimédia1º Semestre 2009/2010

Tecnologias Dinâmicas para a Internet

Projecto 3 O PHP

  

Docentes:Profs. Benjamim Júnior e Telmo Silva

Discentes:Henrique Ribeiro, Ivan Terra, João Mourão, Joaquim Vieira, Pedro Dias.

  

Page 2: A Linguagem Php

A linguagem PHP• "PHP (Hypertext Preprocessor) é uma linguagem livre e muito utilizada

para gerar conteúdo dinâmico na World Wide Web.

• O PHP é considerada uma poderosa linguagem de scripting que actua apenas no lado do servidor (Server-Side).

• Quando um utilizador visita a página PHP, o servidor web processa o código PHP. Depois determina que partes é que precisa mostrar ao utilizador (conteúdo e imagens) e que partes necessita de esconder (Operações de ficheiros, cálculos matemáticos, etc.). Posteriormente traduz o PHP numa página HTML e envia-a para o browser do utilizador.

• A linguagem PHP foi concebida 1994 por Rasmus Lerdorf e a primeira versão utilizada por utilizadores foi disponibilizada em 1995, e ficou conhecida como "Personal Home Page Tools" (ferramentas para página pessoal).

• A versão mais actual é a 5.3 que foi lançada em Junho de 2009 e vem crescendo numa velocidade incrível, e já está a ser desenvolvida a versão 6 do PHP.

Page 3: A Linguagem Php

Vantagens• É uma linguagem gratuita (Open Source).• É veloz e robusta (o ASP tende a deixar o servidor mais lento, o PHP

raramente causa este problema.).• É estruturada e de orientação a objectos.• De fácil ligação a bases de dados. (Ex: SQL)• Funciona em qualquer plataforma onde for possível instalar um servidor

Web. Há também versões para Linux, FreeBSD, Solaris, Windows NT, IRIX, HP-UX.

• A sua sintaxe é familiar, isto é, grande parte da sua sintaxe é "aproveitada" do C, Java e Perl com um pequeno conjunto de funcionalidades específicas.

• É fácil obter ajuda, existem muitos sites com “helps”• Possui muitas funções e funciona com muitas tecnologias (BD, XML,

etc.).• Muitas pessoas o utilizam pois possibilita boas oportunidades no mundo

do trabalho.

Page 4: A Linguagem Php

Desvantagens• Possui alguma incompatibilidade entre versões, isto é, falta de

padronização. Por exemplo, um comando que funciona numa determinada versão pode não funcionar noutra

• Possui documentação incompleta, pois como a maioria dos programas Open Source, frequentemente os recursos surgem antes de estarem documentados. O site da organização ajuda bastante, mas é comum encontrar recursos sem documentação e, principalmente, sem exemplos que possam ajudar o aprendiz.

• Segundo os especialistas, a utilização de Servlets e do JSP deixa os códigos mais seguros do que o PHP pois são pré-compilados.

Page 5: A Linguagem Php

SintaxeUm script em PHP começa sempre com <?php E termina sempre com ?>

No fim de cada instrução usa se o “;”Echo e print para imprimir os resultados e “//”para comentar uma linha

de código.

Exemplo:<?php echo("Olá TDI"); ?>

Page 6: A Linguagem Php

VariáveisAs variáveis no PHP são representadas por um cifrão ($) seguido pelo nome da

variável.Os nomes de variável no PHP fazem distinção entre maiúsculas e minúsculas

(casesensitive).

<?php $a = 0; //A variável "a" é inicializada com o valor "0"  ?>

• As variáveis locais não necessitam de ser declaradas e devem ser inicializadas.

• As variáveis definidas dentro de uma função são locais e não podem ser acedidas fora da função tal como as variáveis definidas fora de uma função também não podem ser acedidas dentro da mesma. Para que seja possível aceder, dentro de uma função, a funções definidas fora desta é necessário definir a variável como global dentro da função

Page 7: A Linguagem Php

Variáveis Super GlobaisSuperglobais são variáveis nativas ou pré-definidas no PHP, o que

significa queelas estão disponíveis em todo o script. Não há necessidade de fazer

Global“$variavel;” para lhes aceder dentro de funções.

Estas variáveis super globais são: • $GLOBALS • $_SERVER • $_GET • $_POST • $_FILES • $_COOKIE • $_SESSION • $_REQUEST • $_ENV

Page 8: A Linguagem Php

GetOs dados passam entre páginas, embebidas no URL. Os dados estão visível

para o utilizador.

Exemplo: http://www.tdipt/index.php?nome=alunos (Neste caso a variável nome é transmitida com o valor “alunos”).

Este tipo de envio tem algumas desvantagens como: A tecnologia está mais exposta (Reconhecimento visual) É fácil encontrar os parâmetros. O tamanhos dos dados a enviar está condicionado pelo tamanho do URL

Vantagens:Este tipo de URL é portável – é possível fazer o bookmark da página, enviar

por email, etc.

Page 9: A Linguagem Php

PostNo caso do POST podemos passar valores através de formulários

Os dados passam entre páginas de modo invisível para o utilizador.

Este tipo de envio tem algumas desvantagens como: Problemas com o refresh em alguns browsers.

Vantagens: Não existe tamanho limite para os dados a enviar. A informação transmitida é invisível ao utilizador, proporcionando maior

segurança na transmissão dos dados.

Page 10: A Linguagem Php

CookiesAs cookies são simples e pequenos pedaços de dados armazenados no

sistema operativo do utilizador normalmente num ficheiro ( "cookies.txt" ) ou num directório ("C:\DocumentsandSettings\userid\Cookies" ) em ficheiros individuais. Permitem a utilização de dados guardados numa visita anterior ao site.

Nota: muitas vezes as cookies não armazenam os dados que queremos seguir mas sim um ID que referencia os dados armazenados no servidor .

Page 11: A Linguagem Php

SessionsAs sessões (sessions) podem ser usadas para guardar informações relativas à

autenticação deutilizadores para prevenir acesso de pessoas não autorizadas a determinada

página e quepoderão ser acedidos a partir de qualquer página do nosso site uma vez que

se trata de umavariável "super global".

Page 12: A Linguagem Php

Interacção no PHPPHP é uma linguagem que possibilita a

interacção com outras linguagens.

Ex:• HTML• JavaScript• SQL• XML• …

Page 13: A Linguagem Php

Validações e Expressões Regulares

SQL Injection

Page 14: A Linguagem Php

Validações e Expressões RegularesTodos os dados introduzidos pelo utilizadores

devem sempre ser verificados pelo servidor , para garantir uma maior segurança do site.

As expressões regulares servem para verificar se uma string tem, ou não, determinados caracteres, serve para validar por exemplo um email.

Page 15: A Linguagem Php

SQL Injection ou injecção de SQL é uma técnica de invasão de sistemas que se tornou famosa na Internet que pode ser utilizada em qualquer linguagem de programação.

Ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma 'query' através da manipulação da entrada de dados de uma aplicação.

Sql Injection

Page 16: A Linguagem Php

Uma framework é uma estrutura de suporte definida em que um outro projecto de software pode ser organizado e desenvolvido. Um framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para ajudar a desenvolver e juntar diferentes componentes de um projecto de software.

Frameworks são projectados com a intenção de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando nas exigências do software do que com detalhes tediosos de baixo nível do sistema.

Frameworks

Page 17: A Linguagem Php

Zend Framework: uma colecção de arquivos com várias funções de base de dados, RSS, AJAX, E-mail, PDF e Busca. Foi desenvolvida pelos criadores do PHP e tem um excelente documentação sobre o assunto

Magpie RSS: Framework que permite que se carregue feeds RSS no site de maneira simples. Simples e rápido de usar;

 CakePHP: é um Framework escrito em PHP que tem como principais objectivos oferecer uma estrutura que possibilite aos programadores de PHP de todos os níveis desenvolverem aplicações robustas rapidamente, sem perder flexibilidade

Exemplos Frameworks

Page 18: A Linguagem Php

CMS – Content Managment System ou, em português, Sistema de Gestão de Conteúdo, são plataformas web pré-programadas usadas para a construção de sites, portais ou intranets dinâmicos. A grande vantagem no uso destas plataformas é o de permitirem que o conteúdo do site possa ser modificado rapidamente, sem alteração de qualquer linha de código e em qualquer altura, sendo apenas necessário um computador ligado à Internet.

Estes sistemas de gestão de conteúdos têm duas áreas diferentes: frontend e backend. O frontend é a zona do site acessível a todos os visitantes, é o que consultamos quando digitamos o endereço do site na Internet. O backend é a parte administrativa do mesmo. Apenas os gestores autorizados (através do nome de utilizador e palavra-chave) conseguem entrar. Dentro do backend é também possível criar zonas restritas para os diferentes tipos de utilizadores.

CMS

Page 19: A Linguagem Php

Drupal:O Drupal é uma framework modular (organiza-se por módulos) e um sistema de Gestão de Conteúdos (CMS) escrito em PHP. O Drupal permite criar e organizar conteúdo, manipular a aparência, automatizar tarefas administrativas, e definir permissões e papéis para utilizadores e colaboradores. Por ser desenvolvido em PHP, o Drupal é independente do sistema operativo, no entanto requer um servidor HTTP compatível com PHP e um Servidor de Base de Dados para funcionar. O Drupal é normalmente descrito como uma Framework de Gestão de Conteúdos, pois além de oferecer as funcionalidades básicas de um CMS também tem implementadas uma série de APIs robustas e apresenta uma estrutura modular que facilita o desenvolvimento de módulos complexos. O Drupal é um software livre e de código aberto, por isso qualquer um pode ver como o Drupal funciona, fazer modificações, redistribuir com ou sem as modificações, além de poder propor e participar em mudanças no projecto principal. Tudo isso de acordo com a licença GPL, da GNU. A comunidade Drupal é activa e prestável. Existem vários módulos com funções importantes que foram criados por utilizadores comuns.

Joomla:Desenvolvido a partir do Mambo o Joomla escrito em PHP e pode ser executado tanto num servidor Web Apache como num IIS e base de dados MySQL.É um projecto de código aberto (licença GNU/GPL) e a sua última versão estável é a 1.5.14 (em 30 de Julho de 2009).

Wordpress:Trata-se um sistema de gestão de conteúdos na web, escrito em PHP e recorrendo a base de dados MySQL, especialmente usado para a criação de blogs. O WordPress foi criado a partir do já desaparecido b2/cafelog e é hoje, junto com o Movable Type, o mais popular na criação de Blogs. As causas do seu rápido crescimento são, entre outras, seu tipo de licença (de código aberto), a facilidade de uso e suas características como gestor de conteúdos. Criado por Ryan Boren e Matthew Mullenweg, é distribuído sob a GNU General Public sendo de uso gratuito.

Exemplos CMS

Page 20: A Linguagem Php

http://www.php.net

http://www.w3schools.com/PHP/

http://apostilas.fok.com.br/manual-do-php/index.php

http://pt.wikipedia.org/wiki/Drupal

http://www.webdesignerdepot.com/2009/01/how-to-choose-the-right-cms/

http://www.w3.org/TR/soap12-part0/

http://www.w3.org/TR/soap12-part1/

http://www.w3.org/TR/soap12-part2/

Referencias