Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,787
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
73
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Diego Hachmann, Lucas Batistussi 
  • 2. WORLD WIDE WEB •  “Um sistema  de documentos em hipermídia  que  são interligados e executados na internet.” • Criado  na  década  de  80  pelo  físico  Tim  Berners­ Lee no CERN(Suiça) para publicar seus projetos. • Linguagem de marcação HTML
  • 3. PROBLEMA !?!  Páginas Estáticas  Não há interação com o usuário.  Atualização manual da página.  Cliente ­> Envia requisição para o servidor  Servidor­> retorna para o cliente a página  requerida.
  • 4. UMA SOLUÇÃO !  Algum script que gere páginas HTML.  Aproveitar recursos das linguagens.   Cliente ­> Envia requisição para o servidor.  Servidor­> Gera uma página html conforme  dados passados junto na requisição e envia para o  cliente.
  • 5. SCRIPTS CGI  “Importante  tecnologia  que  permite  gerar  páginas  dinâmicas,  permitindo  a  um  navegador  passar  parâmetros  para  um  programa  alojado  num  servidor  web.  Assim,  designam­se  por  scripts  CGI  os  pequenos  programas  que  interpretam  esses  parâmetros  e  geram  a  página  depois de os processar.”  Leia o input do form do usuário.   Faça o que desejar com os dados.   Escreva a resposta HTML em STDOUT. 
  • 6. EXEMPLO CGI  include <stdio.h>   void main() {         printf("Content­type: text/htmlnn") ;         printf("<html>n") ;         printf("<head><title>CGI Output</title></head>n") ;           printf("<body>n") ; printf("<h1>Hello, world.</h1>n") ;                 printf("</body>n") ;        printf("</html>n") ;   }
  • 7. O QUE É?  PHP  (um  acrónimo  recursivo  para  "PHP:  Hypertext  Preprocessor“)  trata­se  de  uma  linguagem  de  programação  dinâmica  para  a  WEB
  • 8. HISTÓRICO  Surgiu por volta de 1994 nos EUA, como um pacote de  programas  CGI  criados  por  Rasmus  Lerdof,  com  o  nome  Personal  Home  Page  Tools,  para  substituir  um  conjunto  de  scripts  Perl  que  ele  usava  no  desenvolvimento  de  sua  página  pessoal.  Essa  primeira versão consistia num motor de interpretação  bem  simples,  que  entendia algumas  macros  especiais  e  alguns  utilitários  de uso  comum nas  homepages  de  então.  Um  livro  de  visitas,  um  contador  e  outras  coisas   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.  O  sufixo FI veio de um outro pacote escrito por Rasmus,  que interpretava dados de formulário html
  • 9.  Mais tarde, Zeev Suraski 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  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. Outro recurso importante dessa versão  foi o suporte a sessões, bastante útil pra identificar o cliente  que solicitou determinada informação. O PHP4 trouxe como  novidade  um  otimizador  chamado  Zend,  que  permite  a  execução muito mais rápida dos scripts  O  problema  sério    do  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
  • 10.  O  problema  foi  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  Futuro??? PHP 6: novas características e melhorias na  sintaxe  que  irão  tornar  mais  fácil  o  uso,  do  ponto  de  vista  de  orientação  a  objeto;  suporte  a  Unicode  em  muitas das funções principais.
  • 11. CÓDIGO FONTE DO PHP  PHP 1 : 108Kb  PHP 2 : 2.54Mb  PHP 3 : 4.96Mb  PHP 4 : 33.5Mb  PHP 5 : 56,1Mb MOSTRAR CÓDIGO  FONTE
  • 12. CONSIDERAÇÕES  Grandes Comunidades;   Mais de 4.500.000 de desenvolvedores PHP no  mundo.  Mais de 5000 funções para manipulação de  arquivos, arrays, XML, banco de dados, ftp,  compressão de arquivos, imagens, PDF’s, etc.  Dos 4 sites mais visitados no mundo, 2 são feitos  em php: Yahoo e Facebook.  Quarta linguagem mais popular do mundo  (Julho, 2009).
  • 13. CARACTERÍSTICAS  Aprendizado  fácil  e  rápido.  Código  semelhante  às  linguagens C/C++ e PERL  Linguagem  ascendente.  Ocupa  a  quarta  posição  dentre as mais utilizadas no mundo  Suporte a um grande número de bancos de dados tais  como:  dBase,  Interbase,  mSQL,  mySQL,  Oracle,  Sybase, PostgreSQL e vários outros  Suporte  a  outros  serviços  através  de  protocolos  como  IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP  Multiplataforma  Código Aberto (Licença própria /GPL)  Vasta documentação e suporte – http://www.php.net   FREE
  • 14.  Interpretada   Rápidez e eficiência  Orientada a Objetos  Tipagem  dinâmica  ­  não  exige  declaração  de  tipos  de  dados,  pois  é  capaz  de  escolhê­lo  de  acordo  com  o  contexto, podendo alterá­lo durante a compilação 
  • 15. PHP X A$P
  • 16. VARIÁVEIS  Iniciam com $                Ex: $i, $aux, $saldo, $cpf  global    $var  :  deve  ser  utilizada  para  acessar  uma  variável    global  dentro  de  uma função  define ("pi", 3.1415926536) : define constantes   static $var :  são variáveis que possuem o mesmo tempo de vida das variáveis  globais,  com  a  diferença  de  funcionarem  apenas  em  escopos  locais  e    serem  inicializadas apenas uma vez   locais: variáveis que só valem dentro de funções   Case sensitive               Ex: $Nome <> $nome  Tipagem dinâmica:  Não é necessário ‘declarar’ tipo de variável;  Variável pode ser instanciada a qualquer momento;  Pode conter tipos de valores diferentes em momentos diferentes;  Ex: $aux = 9;     $teste = $aux+3;       $aux= “Teste”;  String:  Atribuídas  com  ‘  ’  ou  “  ”.  Mas,  aspas  duplas  retornam  o  valor  de  outras  variáveis embutidas antes da atribuição.                                                                     Ex: $nome = ‘Felipe’;   $msg = “Nome : $nome”; $msg = ‘Nome : $nome’;  Concatenadas com .
  • 17. PHP INCORPORADO <HTML> <?php $cor= “red"; ?> <h2>  <font color=" <? echo $cor; ?> ">  Cadastro de Contatos  </font>  </h2> </HTML> Após interpretado, resulta em: <HTML> <h2>  <font color="red">  Cadastro de Contatos  </font>  </h2> </HTML>
  • 18. SINTAXE DE CONTROLE If (<expressao>) { /* blocodecomandos */ }else{                                    =>   (expressao)?expressao1:expressao2 /* outrobloco */ } switch ($letra) { case “a”:      echo “letra a”;  break; case “b”:      echo “letra b”;  break; default:       echo “sei não, doido”; }
  • 19. COMANDOS DE REPETIÇÃO while (<expressao>){                                Ex: while ($i <10){ /*bloco de comandos*/                                           $i += $valor;    }                                                                       } do {                                                           Ex: do { /*bloco de comandos*/                                            $i += $valor; } while (<expressao>);                                     } while ($i<10); for (<inicializacao>;<condicao>;<incremento>){        Ex: for($i=1;$i<10;$i++){ /*bloco de comandos*/                $aux = $i; }  echo $aux; }
  • 20. ARRAYS Escalar: $salgado =  array(“coxinha”, “pastel”, “hamburguer”); $salgado[0] contém, a string  “coxinha”. Pode ser declarado dinamicamente.           Ex: $salgado[4] = “risole”; Associativo: $precos = array(“salgado”=>”1,80”,”suco”=>”0,80”); $precos[“suco”] contém a string “0,80” Pode ser declarado dinamicamente.         Ex: $precos[“paosirio”]= “25,00”; Iteração:      $nomes = array('filho' => 'Edgar', 'mae' => 'Maria', 'pai' => 'Carlos');      foreach ($nomes as $parentesco => $nome) {       echo 'Parentesco: ' . $parentesco . ' Nome: ' . $nome . '<br />';      }  Multidimensionalidade:  $precos[‘salgado’][‘coxinha’] = “1,80”;
  • 21. FUNÇÕES function nome_da_funcao ($par1,&$par2,$par3=“Default”){ //implementação return $valor ; } Ex: function anula(&$a){ $a = 0;} $numero = 5; echo $numero; anula($numero); echo $numero; function soma($a,$b=10){ $total = $a+$b;  return $total; } $c = soma(5);  //$c recebe 15 $c = soma(2,4); //$c recebe 6
  • 22. ORIENTAÇÃO A OBJETOS <?php class Livro { protect $autor; private $paginas; public $titulo;  function __construct() { //construtor  }  function __destruct() {  //”destrutor” }  function acrescentaCapitulo( $objCapitulo ) {  //Bloco de comandos return $valorderetorno;  }   function registraAutor( Pessoa $objPessoa ) {  // Bloco de comandos }  } ?> 
  • 23. HERANÇA <?php class LivroInfantil extends Livro { function setFaixaEtaria($num) {  //Bloco de comandos  }  } $autor = new Pessoa(“Fulano de Tal”); $livromuitodjow = new LivroInfantil(); $livromuitodjow­>titulo = “blablabla”; $livromuitodjow­>registraPessoa($autor); ?> 
  • 24. FORMULÁRIOS  O PHP capta os dados dos formulários por meio de duas variáveis: • $_POST[<campo_form>]:  retorna as variáveis do método POST. Esse  método esconde do usuário os dados enviados pela URL (mais seguro!)  e permite o envio de um número maior de informações.  • $_GET[<campo_form>]:  retorna  as  variáveis  do  método  GET.  Este,  diferentemente  do  anterior,  deixa  visível  os  dados  da  URL  e  possui  um  limite  no  envio  das  informações.  Um  bom  exemplo  de  URL  com  esse método é:  http://www.youtube.com/watch.php?v=OtCHOdLM9ZY O caracter ‘ ? ’ indica o começo das variáveis. ‘ v ‘ é uma variável que  recebe ‘OtCHOdLM9ZY ‘, no caso, o código do vídeo que o usuário está  solicitando.  Exemplo de script PHP com formulário: http://127.0.0.1/form_post.php
  • 25. ARQUIVOS  Mesmas funções do C!  • fopen(<nome_arquivo>,<mode>); <mode>:         ­  r:  abre  o  arquivo  no  modo  somente  leitura  e  posiciona  o  ponteiro  no  início  do  arquivo;  o  arquivo  já  deve  existir;  ­  r+:  abre  o  arquivo  para  leitura/escrita,  posiciona  o  ponteiro  no  início  do  arquivo;  ­  w:  abre  o  arquivo  no  modo  somente  escrita;  se  o  arquivo  já  existir,  será  sobrescrito;  senão,  será  criado  um  novo;  ­ w+: abre o arquivo para escrita/leitura; se o arquivo já existir,  será  sobrescrito;  senão,  será  criado  um  novo;  ­ a: abre o arquivo para anexar dados, posiciona o ponteiro no  final do arquivo; se o arquivo não existir, será criado um novo;  ­ a+: abre o arquivo para anexo/leitura, posiciona o ponteiro no  final do arquivo; se o arquivo não existir, será criado um novo; 
  • 26. • fclose(<handle_arquivo>):  fecha  o  arquivo  aberto  para edição • fwrite(<handle>,<string>): ­ handle: handle do arquivo onde os dados serão  escritos;  ­ string: string a ser escrita no arquivo; • fread(<handle>,< length>);  ­ handle: handle do arquivo de onde os dados  serão lidos;  ­ length: tamanho em bytes do buffer de leitura; • fgets(<handle>,< length>);  ­ handle: handle do arquivo de onde os dados  serão lidos;  ­ length: tamanho em bytes do buffer de leitura;   
  • 27. • fgetc():  Esta  função  permite  ler  caractere  por  caractere  de  um  arquivo.  Seguem  a  sintaxe  e  um  exemplo de utilização:          fgetc(<handle>);  ­  handle:  handle  do  arquivo  de  onde  os  dados  serão  lidos;  • file():  Esta  função  lê  um  arquivo  completo,  e  armazena cada linha do arquivo como um elemento de  um  array.  Depois  de  ler  todo  o  conteúdo  do  arquivo,  file()  o  fecha  automaticamente,  não  sendo  necessária  uma  chamada  a  fclose();  Vejamos  a  sintaxe:  file(<filename>);  ­ filename: nome ou caminho completo de um arquivo. Exemplos de manipulação de arquivos com PHP: http://127.0.0.1/files_read.php http://127.0.0.1/files_write.php
  • 28. EXEMPLO DE APLICAÇÃO  UTILIZANDO PHP  CONVERSÃO DE VÍDEO USANDO FFMPEG E  FUNÇÃO  EXEC    (executa  programa  externo)  http://127.0.0.1/convert.php
  • 29. REFERÊNCIAS  http://pt.wikipedia.org/wiki/Php  http://www.vivaolinux.com.br/artigo/Trabalhando­com­arqu  http://www.apostilando.com  http://www.google.com  http://www.php.net/  http://www.php­gtk.com.br/