PHPprogramação server-side     www.w3schools.com/php/php_intro.asp               www.php.net
Introduçãoo ambiente de desenvolvimento open-source •   Máquina Virtual (virtualbox)     •   Sistema operativo Debian 5   ...
Introduçãoo ambiente de desenvolvimento open-source
Introduçãoo ambiente de desenvolvimento open-source •   Debian:     •   Utilizador: aluno     •   Password: esap (a mesma ...
Introduçãopáginas estáticas vs dinâmicas | páginas estáticas   Uma página estática para a Web é uma página cujos conteúdos...
Introduçãopáginas estáticas vs dinâmicas | páginas estáticas | limitaçõesdeste tipo de página•   Não é possível personaliz...
Introduçãopáginas estáticas vs dinâmicas | páginas dinâmicas•   Uma página dinâmica para a Web é uma página cujos conteúdo...
Introduçãofuncionamento modelo cliente-servidor (dynamic)  1.   O cliente envia um pedido (GET ou POST) ao servidor (Apach...
Introduçãofuncionamento modelo cliente-servidor (dynamic)                servidor                             pedido      ...
A linguagem PHPhistória...  •   1995        •    Rasmus Lerdorf desenvolve Script Perl/CGI (contador de visitantes da sua ...
A linguagem PHPporquê PHP e não ASP, JSP ou outra?  •   Custos (gratuito!)  •   Disponível para diversas plataformas (Linu...
A linguagem PHPo que podemos fazer com ela? •   Recolher e processar dados de formulários •   Criar conteúdos dinâmicos, l...
A linguagem PHPbons exemplos de onde ela está actualmente
A linguagem PHPintrodução à sintaxe | delimitadores (e echo!)
A linguagem PHPintrodução à sintaxe | comentários
A linguagem PHPintrodução à sintaxe | variáveis regulares  •   Representadas pelo símbolo $ seguido de uma ou mais letras ...
A linguagem PHPintrodução à sintaxe | variáveis superglobais  •   $_SERVER      •   Fornece dados sobre o ambiente em que ...
A linguagem PHPintrodução à sintaxe | variáveis superg. | $_SERVER  •   $_SERVER                                          ...
A linguagem PHPintrodução à sintaxe | variáveis superg. | $_FILES  •   $_FILES      •   Dados sobre os ficheiros transferid...
A linguagem PHPintrodução à sintaxe | variáveis superg. | $_ENV  •   $_ENV                                                ...
A linguagem PHPintrodução à sintaxe | variáveis superg. | $_SESSION  •   $_SESSION      •   Por vezes há a necessidade de ...
A linguagem PHPintrodução à sintaxe | constantes  •   $_SESSION      •   Valores que não são modificados ao longo da execuç...
A linguagem PHPintrodução à sintaxe | $_COOKIES  •   $_COOKIES      •   Por vezes há a necessidade de guardar uma variável...
A linguagem PHPintrodução à sintaxe | variáveis | tipos (1/2)  •   Boolean         •      true ou false; 1 ou 0;  •   Numb...
A linguagem PHPintrodução à sintaxe | variáveis | tipos (2/2)  •   Arrays        •       Funções úteis               •    ...
A linguagem PHPintrodução à sintaxe | variáveis | funções para tipos  •   Eis algumas funções verificadoras de tipo de dado...
A linguagem PHPintrodução à sintaxe | variáveis | arrays  •   Os arrays podem ser associativos, numéricos ou multidimensio...
A linguagem PHPintrodução à sintaxe | variáveis | arrays associativos
A linguagem PHPintrodução à sintaxe | variáveis | arrays numéricos
A linguagem PHPintrodução à sintaxe | variáveis | arrays multidim.
A linguagem PHPintrodução à sintaxe | variáveis | arrays
A linguagem PHPintrodução à sintaxe | variáveis | arrays | funções  •   count() || sizeof()  •   array_push()  •   array_r...
A linguagem PHPintrodução à sintaxe | estrutura de controle | IF  •   Condicional - IF
A linguagem PHPintrodução à sintaxe | estrutura de controle | IF  •   Condicional - IF (alternativas)
A linguagem PHPintrodução à sintaxe | estrutura de controle | IF ELSE  •   Condicional - IF ELSE
A linguagem PHPintrodução à sintaxe | estrutura de controle | Switch
A linguagem PHPintrodução à sintaxe | operadores de atribuição
A linguagem PHPintrodução à sintaxe | operadores lógicos
A linguagem PHPintrodução à sintaxe | operadores de comparação
A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos  •   While
A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos  •   Do
A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos  •   For
A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos  •   Foreach  •   Pode ser interrompido em qualquer m...
A linguagem PHPintrodução à sintaxe | funções (que retornam)  •   Function
A linguagem PHPintrodução à sintaxe | funções (procedimento)  •   Function
A linguagem PHPFormulários e $_POST            formulário.php                             processa.php
A linguagem PHPFormulários e $_GET           formulário.php                                                     Atenção ao...
A linguagem PHPQuerystrings e $_GET     cria_query.php                      processa.php
A linguagem PHPredireccionamento
A linguagem PHPenvio de e-mail simples
A linguagem PHPupload de ficheiros (1/3)                     formulário.php
A linguagem PHPupload de ficheiros (2/3)                           upload_file.php
A linguagem PHPupload de ficheiros (3/3)  •   Validação dos ficheiros enviados   upload_file.php
A linguagem PHPmanipulação de imagens (GD)
A linguagem PHPmanipulação de imagens (GD)
A linguagem PHPSSI - server side include  •   No PHP é possível incluir o conteúdo de um ficheiro .php dentro de outro do l...
A linguagem PHPdatas •   A função Date() serve para formatar convenientemente uma data em PHP;     •   d - representa o di...
A linguagem PHPintrodução à sintaxe | OOP  •   Classes      •   new          •     Cria uma nova instância de uma classe  ...
A linguagem PHPintrodução à sintaxe | OOP  •   Classes      •   ->          •     acesso aos membros da instância      •  ...
A linguagem PHPintrodução à sintaxe | OOP  •   Classes      •   __construct          •     Contrutor da classe, chamado qu...
Upcoming SlideShare
Loading in …5
×

Linguagem PHP para principiantes

2,370 views
2,093 views

Published on

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,370
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
71
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Linguagem PHP para principiantes

  1. 1. PHPprogramação server-side www.w3schools.com/php/php_intro.asp www.php.net
  2. 2. Introduçãoo ambiente de desenvolvimento open-source • Máquina Virtual (virtualbox) • Sistema operativo Debian 5 • Suite de aplicações de servidor xampp • Apache (servidor web) • PHP (interpretador de comandos) • MySQL (SGBD relacional) • ProFTP (servidor ftp) • ... • O xampp pode ser descarregado aqui > http://www.apachefriends.org/en/xampp.html
  3. 3. Introduçãoo ambiente de desenvolvimento open-source
  4. 4. Introduçãoo ambiente de desenvolvimento open-source • Debian: • Utilizador: aluno • Password: esap (a mesma de root) • Pasta dos ficheiros do servidor apache: • /opt/lampp/htdocs
  5. 5. Introduçãopáginas estáticas vs dinâmicas | páginas estáticas Uma página estática para a Web é uma página cujos conteúdos foram completamente determinados pelo seu autor. Quer isto dizer que o conteúdo e o aspecto dessa página é sempre o mesmo, independentemente de quem visita a página, quando a visita ou como a visita. Essencialmente, consiste num ficheiro HTML que se encontra publicado num servidor Web.
  6. 6. Introduçãopáginas estáticas vs dinâmicas | páginas estáticas | limitaçõesdeste tipo de página• Não é possível personalizar a página para o utilizador que a está a visualizar de modo a que esta varie ao longo do tempo de acordo com o modo como está a ser visualizada... seria portanto impossível haver websites ao estilo da web 2.0 (artigos de jornais com comentários quase em tempo real, upload de vídeos, blogs, etc...• Alterações nos seus conteúdos ou aspecto só podem ser efectuados através da edição do próprio código HTML pedido de ficheiro html B resposta browser cliente
  7. 7. Introduçãopáginas estáticas vs dinâmicas | páginas dinâmicas• Uma página dinâmica para a Web é uma página cujos conteúdos não são determinados no seu estado inicial (isto é, quando é publicada pelo autor); o conteúdo final da página é determinado após um utilizador executar um pedido da mesma ao servidor Web através de um browser;• Os conteúdos e aspecto das páginas pode variar de pedido para pedido;• Para tornar as páginas dinâmicas é necessário substituir algumas partes (ou a totalidade) do código HTML por uma outra linguagem. No momento em que existe um pedido de acesso à página, estas instruções são executadas / processadas pelo servidor e é então gerada a página final servidor pedido html processamento B resposta browser cliente
  8. 8. Introduçãofuncionamento modelo cliente-servidor (dynamic) 1. O cliente envia um pedido (GET ou POST) ao servidor (Apache) 2. O Apache processa o pedido com ajuda da biblioteca de PHP 1. Caso seja necessário, efectua queries no sgbd (mysql) 3. Por último, o Apache responde com um documento html contendo o resultado do pedido do cliente. servidor pedido html processamento B resposta browser cliente
  9. 9. Introduçãofuncionamento modelo cliente-servidor (dynamic) servidor pedido html processamento B resposta browser cliente
  10. 10. A linguagem PHPhistória... • 1995 • Rasmus Lerdorf desenvolve Script Perl/CGI (contador de visitantes da sua página) • Oferece Script sob o nome – Personal Home Page • 1997 • PHP 2.0 • Personal Home Page/Form Interpreter • Popularidade cresce exponencialmente • Desenvolve-se uma comunidade de programadores/utilizadores • 1998 • PHP 3.0 --> 1999 + 1 milhão de utilizadores • 2000 • PHP 4.0 PHP: Hypertext Preprocessor • Motor/Parser reescrito - Zend Engine • Gestão Recursos, OOP, Gestão de Sessões, Encrypt, ISAPI, JAVA, • 2004 • PHP 5.0 • Maior suporte a OOP - Desenvolvimento de Frameworks (ZEND) • Suporte a XML, Web Services (SOAP), … • Utilizada em mais de 20 milhões de domínios…
  11. 11. A linguagem PHPporquê PHP e não ASP, JSP ou outra? • Custos (gratuito!) • Disponível para diversas plataformas (Linux, Unix, Windows, Mac OS X) • Funciona com os servidores web mais famosos (Apache em Linux, MS IIS em Windows) • Suporta maioria dos SGBDs (MySQL, PostegreSQL, Oracle, MS-SQL, ODBC...) • Fácil integração noutros serviços de rede: • LDAP, IMAP, SNMP, HTTP, POP3, Sockets... • Linguagem (sintaxe) simples, principalmente para quem já programou em C; • Fácil de começar • Boa documentação em português (open source) • Comunidade enorme!
  12. 12. A linguagem PHPo que podemos fazer com ela? • Recolher e processar dados de formulários • Criar conteúdos dinâmicos, ligados a bases de dados • Enviar e receber cookies • Criar sessões no navegador • Criar imagens dinamicamente (biblioteca GD) • Gerar ficheiros PDF • Gerar qualquer tipo de ficheiros de texto (XML, CSV, .XLS) • Interagir com a shell do sistema operativo (copiar ficheiros, criar pastas, mudar permissões, fazer backups...) • Criar e “consumir” web-services • etc. etc. etc...
  13. 13. A linguagem PHPbons exemplos de onde ela está actualmente
  14. 14. A linguagem PHPintrodução à sintaxe | delimitadores (e echo!)
  15. 15. A linguagem PHPintrodução à sintaxe | comentários
  16. 16. A linguagem PHPintrodução à sintaxe | variáveis regulares • Representadas pelo símbolo $ seguido de uma ou mais letras • Ex. $login $passwd $cor_preferida $preferencia • O PHP é case sensitive, ou seja, faz distinção entre maiusculas e minusculas no nome da variável • $nome != $NoMe • Não é necessário declarar (inicializar) as variáveis no topo do documento nem o seu tipo (é dinâmico)
  17. 17. A linguagem PHPintrodução à sintaxe | variáveis superglobais • $_SERVER • Fornece dados sobre o ambiente em que a Web application corre (servidor) • $_FILES • Dados sobre os ficheiros transferidos para o servidor pelo método POST • $_ENV • Tal como a $_SERVER fornece dados sobre o ambiente onde a Web application corre (servidor e cliente) • $_SESSION • Guarda os dados de todas as variáveis de sessão dum utilizador
  18. 18. A linguagem PHPintrodução à sintaxe | variáveis superg. | $_SERVER • $_SERVER $_SERVER[HTTP_HOST] = aulas $_SERVER[HTTP_USER_AGENT] = Mozilla/5.0 (Macintosh; U; Intel • Mac OS X 10.5; pt-PT; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 Fornece dados sobre o ambiente em que a Web $_SERVER[HTTP_ACCEPT] = text/html,application/xhtml +xml,application/xml;q=0.9,*/*;q=0.8 $_SERVER[HTTP_ACCEPT_LANGUAGE] = pt,pt-br;q=0.8,en- application corre (servidor) us;q=0.5,en;q=0.3 $_SERVER[HTTP_ACCEPT_ENCODING] = gzip,deflate $_SERVER[HTTP_ACCEPT_CHARSET] = ISO-8859-1,utf-8;q=0.7,*;q=0.7 $_SERVER[HTTP_KEEP_ALIVE] = 300 $_SERVER[HTTP_CONNECTION] = keep-alive $_SERVER[PATH] = /usr/bin:/bin:/usr/sbin:/sbin $_SERVER[SERVER_SIGNATURE] = $_SERVER[SERVER_SOFTWARE] = Apache $_SERVER[SERVER_NAME] = aulas $_SERVER[SERVER_ADDR] = 127.0.0.1 $_SERVER[SERVER_PORT] = 80 $_SERVER[REMOTE_ADDR] = 127.0.0.1 $_SERVER[DOCUMENT_ROOT] = /Applications/MAMP/htdocs/ aulas_php $_SERVER[SERVER_ADMIN] = marcoalexpinheiro@gmail.com $_SERVER[SCRIPT_FILENAME] = /Applications/MAMP/htdocs/ aulas_php/index.php $_SERVER[REMOTE_PORT] = 63113 $_SERVER[GATEWAY_INTERFACE] = CGI/1.1 $_SERVER[SERVER_PROTOCOL] = HTTP/1.1 $_SERVER[REQUEST_METHOD] = GET $_SERVER[QUERY_STRING] = $_SERVER[REQUEST_URI] = / $_SERVER[SCRIPT_NAME] = /index.php $_SERVER[PHP_SELF] = /index.php $_SERVER[REQUEST_TIME] = 1254769862 $_SERVER[argv] = Array $_SERVER[argc] = 0
  19. 19. A linguagem PHPintrodução à sintaxe | variáveis superg. | $_FILES • $_FILES • Dados sobre os ficheiros transferidos para o $foto_temp = $_FILES["nomeCampo"]["tmp_name"]; //NOME DO ARQUIVO NA MÁQUINA DO USUÁRIO servidor pelo método POST $foto_name = $_FILES["nomeCampo"]["name"]; //TAMANHO DO ARQUIVO $foto_size = $_FILES["nomeCampo"]["size"]; //TIPO MIME DO ARQUIVO $foto_type = $_FILES["nomeCampo"]["type"];
  20. 20. A linguagem PHPintrodução à sintaxe | variáveis superg. | $_ENV • $_ENV $_ENV[SHELL] = /bin/bash • $_ENV[TMPDIR] = /var/folders/kj/kjQ0yyueFIGcanhFcYS2Xk+++TI/- Tal como a $_SERVER fornece dados sobre o Tmp-/ $_ENV[Apple_PubSub_Socket_Render] = /tmp/launch-gRnkfD/ Render ambiente onde a Web application corre (servidor e $_ENV[USER] = alexkidd $_ENV[COMMAND_MODE] = legacy cliente) $_ENV[SSH_AUTH_SOCK] = /tmp/launch-G3tZvU/Listeners $_ENV[__CF_USER_TEXT_ENCODING] = 0x1F5:0:0 $_ENV[PATH] = /usr/bin:/bin:/usr/sbin:/sbin $_ENV[PWD] = / $_ENV[SHLVL] = 1 $_ENV[HOME] = /Users/alexkidd $_ENV[DYLD_LIBRARY_PATH] = /Applications/MAMP/Library/lib: $_ENV[LOGNAME] = alexkidd $_ENV[DISPLAY] = /tmp/launch-kgoYXi/:0 $_ENV[SECURITYSESSIONID] = a21180 $_ENV[_] = /Applications/MAMP/Library/bin/httpd
  21. 21. A linguagem PHPintrodução à sintaxe | variáveis superg. | $_SESSION • $_SESSION • Por vezes há a necessidade de ter uma variável cujo valor seja acessível em diversas páginas da mesma aplicação web - são as chamadas variáveis de sessão • session_start() - inicia / continua sessão na página actual • session_destroy() - destroi a sessão e respectivas variáveis index.php contactos.php
  22. 22. A linguagem PHPintrodução à sintaxe | constantes • $_SESSION • Valores que não são modificados ao longo da execução da aplicação - Valores Globais
  23. 23. A linguagem PHPintrodução à sintaxe | $_COOKIES • $_COOKIES • Por vezes há a necessidade de guardar uma variável do lado do cliente. Tal pode ser feito com recurso a um cookie. Desta forma, o valor desta pode ser recuperado mesmo depois do utilizador desligar o seu computador (desde que não elimine os cookies do browser...)
  24. 24. A linguagem PHPintrodução à sintaxe | variáveis | tipos (1/2) • Boolean • true ou false; 1 ou 0; • Numbers • Operadores: + - * / ++ -- • String • ‘ ‘ (single-quoted) - não processa nenhum código interno • “ “ (double-quoted) - processa código interno • <<< EOT ... EOT; • Operadores: . (ponto, para concatenar strings) • Ex. $nomeCompleto = $primeiroNome . $ultimoNome ;
  25. 25. A linguagem PHPintrodução à sintaxe | variáveis | tipos (2/2) • Arrays • Funções úteis • unset() • print_r() • Objects • Resources • NULL
  26. 26. A linguagem PHPintrodução à sintaxe | variáveis | funções para tipos • Eis algumas funções verificadoras de tipo de dados (retorna uma variável booleana) • is_bool() • is_numeric() • is_float() • is_int() • is_string() • is_object() • is_array() • No caso do programador querer simplesmente saber qual o tipo: • echo gettype ($variavel);
  27. 27. A linguagem PHPintrodução à sintaxe | variáveis | arrays • Os arrays podem ser associativos, numéricos ou multidimensionais
  28. 28. A linguagem PHPintrodução à sintaxe | variáveis | arrays associativos
  29. 29. A linguagem PHPintrodução à sintaxe | variáveis | arrays numéricos
  30. 30. A linguagem PHPintrodução à sintaxe | variáveis | arrays multidim.
  31. 31. A linguagem PHPintrodução à sintaxe | variáveis | arrays
  32. 32. A linguagem PHPintrodução à sintaxe | variáveis | arrays | funções • count() || sizeof() • array_push() • array_rand() • in_array() • ...
  33. 33. A linguagem PHPintrodução à sintaxe | estrutura de controle | IF • Condicional - IF
  34. 34. A linguagem PHPintrodução à sintaxe | estrutura de controle | IF • Condicional - IF (alternativas)
  35. 35. A linguagem PHPintrodução à sintaxe | estrutura de controle | IF ELSE • Condicional - IF ELSE
  36. 36. A linguagem PHPintrodução à sintaxe | estrutura de controle | Switch
  37. 37. A linguagem PHPintrodução à sintaxe | operadores de atribuição
  38. 38. A linguagem PHPintrodução à sintaxe | operadores lógicos
  39. 39. A linguagem PHPintrodução à sintaxe | operadores de comparação
  40. 40. A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos • While
  41. 41. A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos • Do
  42. 42. A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos • For
  43. 43. A linguagem PHPintrodução à sintaxe | estrutura de controle | Ciclos • Foreach • Pode ser interrompido em qualquer momento com o comando break;
  44. 44. A linguagem PHPintrodução à sintaxe | funções (que retornam) • Function
  45. 45. A linguagem PHPintrodução à sintaxe | funções (procedimento) • Function
  46. 46. A linguagem PHPFormulários e $_POST formulário.php processa.php
  47. 47. A linguagem PHPFormulários e $_GET formulário.php Atenção ao envio de informação privada pois ficará exposta!! http://www.esap.edu.pt/processa.php?nome=Tonecas&idade=37 processa.php
  48. 48. A linguagem PHPQuerystrings e $_GET cria_query.php processa.php
  49. 49. A linguagem PHPredireccionamento
  50. 50. A linguagem PHPenvio de e-mail simples
  51. 51. A linguagem PHPupload de ficheiros (1/3) formulário.php
  52. 52. A linguagem PHPupload de ficheiros (2/3) upload_file.php
  53. 53. A linguagem PHPupload de ficheiros (3/3) • Validação dos ficheiros enviados upload_file.php
  54. 54. A linguagem PHPmanipulação de imagens (GD)
  55. 55. A linguagem PHPmanipulação de imagens (GD)
  56. 56. A linguagem PHPSSI - server side include • No PHP é possível incluir o conteúdo de um ficheiro .php dentro de outro do lado do servidor, antes deste ser processado; • Torna-se assim possível não repetir código e, consequentemente, melhorar a organização de toda a aplicação; • O PHP oferece ao programador duas funções para o fazer: • include() (ou include_once() para, caso já tenha sido incluido, não o volte a fazer) • require() (ou require_once() para, caso já tenha sido incluido, não o volte a fazer) • A maior diferença entre ambas é que a require() interrompe o script principal exista algum erro no ficheiro a incluir, enquanto que a include() não.
  57. 57. A linguagem PHPdatas • A função Date() serve para formatar convenientemente uma data em PHP; • d - representa o dia do mês (01 a 31) • m - representa o número do mês (01 a 12) • Y - representa o ano (com quatro dígitos)
  58. 58. A linguagem PHPintrodução à sintaxe | OOP • Classes • new • Cria uma nova instância de uma classe • $this • referência ao objecto que chamou • parent • referência a classe extendida
  59. 59. A linguagem PHPintrodução à sintaxe | OOP • Classes • -> • acesso aos membros da instância • :: • Acesso aos membros da classe • extends • Faz uma classe herdar as propriedades e métodos de outra
  60. 60. A linguagem PHPintrodução à sintaxe | OOP • Classes • __construct • Contrutor da classe, chamado quando se usa new Classe() • __destruct • Destrutor da Classe

×