SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Diego Hachmann, Lucas Batistussi 
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
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.
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.
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. 
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") ; 
   }
O QUE É?
   PHP  (um  acrónimo  recursivo  para  "PHP: 
    Hypertext  Preprocessor“)  trata­se  de  uma 
    linguagem  de  programação  dinâmica  para  a 
    WEB
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
   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
   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.
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
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).
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
   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 
PHP X A$P
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 .
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>
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”;
}
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;
                                                                                       }
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”;
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
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
           } 
    }
?> 
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);


?> 
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
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; 
•   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; 
     
•   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
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
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/

Contenu connexe

Tendances

Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7iMasters
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoNorton Guimarães
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIinfo_cimol
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIinfo_cimol
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesOtávio Calaça Xavier
 

Tendances (20)

Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Doctrine2 Seminário PHP
Doctrine2 Seminário PHPDoctrine2 Seminário PHP
Doctrine2 Seminário PHP
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Curso shell
Curso shellCurso shell
Curso shell
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
PHP 7
PHP 7PHP 7
PHP 7
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simples
 
Shell script
Shell scriptShell script
Shell script
 
Doctrine for Dummies
Doctrine for DummiesDoctrine for Dummies
Doctrine for Dummies
 

En vedette

An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2Aaron Parecki
 
Corporate Identity Design workshop
Corporate Identity Design workshopCorporate Identity Design workshop
Corporate Identity Design workshopFelix Rufin
 
Câncer de Rim: Terapias Termoablativas
Câncer de Rim: Terapias TermoablativasCâncer de Rim: Terapias Termoablativas
Câncer de Rim: Terapias TermoablativasUrovideo.org
 
Fotos Do Jogo Da Capacitacao 06 E 07 De Junho
Fotos Do Jogo Da Capacitacao 06 E 07 De JunhoFotos Do Jogo Da Capacitacao 06 E 07 De Junho
Fotos Do Jogo Da Capacitacao 06 E 07 De JunhoAcessa Escola
 
Jaime sabines-antologia-poetica[1]
Jaime sabines-antologia-poetica[1]Jaime sabines-antologia-poetica[1]
Jaime sabines-antologia-poetica[1]Maria Luisa Mazzola
 
Ficha De Trabalho FormaçãO
Ficha De Trabalho  FormaçãOFicha De Trabalho  FormaçãO
Ficha De Trabalho FormaçãOguestc0eb76
 
As aparências enganam
As aparências enganamAs aparências enganam
As aparências enganammanuelaborges
 
Apresentação Elite
Apresentação EliteApresentação Elite
Apresentação Eliterogerionose
 
Reversão de vasectomia
Reversão de vasectomiaReversão de vasectomia
Reversão de vasectomiaUrovideo.org
 
Comunidades de praticas - EBEAlgarve2009
Comunidades de praticas - EBEAlgarve2009Comunidades de praticas - EBEAlgarve2009
Comunidades de praticas - EBEAlgarve2009RBE Algarve
 
WEB 2.0 CONECTANDO MÁQUINAS
WEB 2.0 CONECTANDO MÁQUINASWEB 2.0 CONECTANDO MÁQUINAS
WEB 2.0 CONECTANDO MÁQUINASAlinefz
 
Apresentação Webcast CPFL Energia_ 2T13_final
Apresentação Webcast CPFL Energia_ 2T13_finalApresentação Webcast CPFL Energia_ 2T13_final
Apresentação Webcast CPFL Energia_ 2T13_finalCPFL RI
 
Votar texto de raquel de queiroz
Votar texto de raquel de queirozVotar texto de raquel de queiroz
Votar texto de raquel de queirozMiro Mendonza
 
Prestação de Contas - Dezembro 2009
Prestação de Contas - Dezembro 2009Prestação de Contas - Dezembro 2009
Prestação de Contas - Dezembro 2009cdmhigienopolis
 
En busca de nombre dominio y Hosting
En busca de nombre dominio y HostingEn busca de nombre dominio y Hosting
En busca de nombre dominio y HostingMichela Mosquera
 

En vedette (20)

An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
 
Associativismo 1218593074131168-9
Associativismo 1218593074131168-9Associativismo 1218593074131168-9
Associativismo 1218593074131168-9
 
Corporate Identity Design workshop
Corporate Identity Design workshopCorporate Identity Design workshop
Corporate Identity Design workshop
 
Câncer de Rim: Terapias Termoablativas
Câncer de Rim: Terapias TermoablativasCâncer de Rim: Terapias Termoablativas
Câncer de Rim: Terapias Termoablativas
 
Fotos Do Jogo Da Capacitacao 06 E 07 De Junho
Fotos Do Jogo Da Capacitacao 06 E 07 De JunhoFotos Do Jogo Da Capacitacao 06 E 07 De Junho
Fotos Do Jogo Da Capacitacao 06 E 07 De Junho
 
Jaime sabines-antologia-poetica[1]
Jaime sabines-antologia-poetica[1]Jaime sabines-antologia-poetica[1]
Jaime sabines-antologia-poetica[1]
 
25 de abril_de_1974
25 de abril_de_197425 de abril_de_1974
25 de abril_de_1974
 
Ficha De Trabalho FormaçãO
Ficha De Trabalho  FormaçãOFicha De Trabalho  FormaçãO
Ficha De Trabalho FormaçãO
 
As aparências enganam
As aparências enganamAs aparências enganam
As aparências enganam
 
Apresentação Elite
Apresentação EliteApresentação Elite
Apresentação Elite
 
O Mar E Sua Beleza
O Mar E Sua BelezaO Mar E Sua Beleza
O Mar E Sua Beleza
 
Reversão de vasectomia
Reversão de vasectomiaReversão de vasectomia
Reversão de vasectomia
 
Comunidades de praticas - EBEAlgarve2009
Comunidades de praticas - EBEAlgarve2009Comunidades de praticas - EBEAlgarve2009
Comunidades de praticas - EBEAlgarve2009
 
perdoar
perdoarperdoar
perdoar
 
WEB 2.0 CONECTANDO MÁQUINAS
WEB 2.0 CONECTANDO MÁQUINASWEB 2.0 CONECTANDO MÁQUINAS
WEB 2.0 CONECTANDO MÁQUINAS
 
Apresentação Webcast CPFL Energia_ 2T13_final
Apresentação Webcast CPFL Energia_ 2T13_finalApresentação Webcast CPFL Energia_ 2T13_final
Apresentação Webcast CPFL Energia_ 2T13_final
 
Votar texto de raquel de queiroz
Votar texto de raquel de queirozVotar texto de raquel de queiroz
Votar texto de raquel de queiroz
 
Maike Slides
Maike SlidesMaike Slides
Maike Slides
 
Prestação de Contas - Dezembro 2009
Prestação de Contas - Dezembro 2009Prestação de Contas - Dezembro 2009
Prestação de Contas - Dezembro 2009
 
En busca de nombre dominio y Hosting
En busca de nombre dominio y HostingEn busca de nombre dominio y Hosting
En busca de nombre dominio y Hosting
 

Similaire à PHP GERAL

Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Jonata Weber
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPClayton de Almeida Souza
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
Curso completo php
Curso completo phpCurso completo php
Curso completo phpbreninho94
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPJonata Weber
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com phpbrenod123
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaJonata Weber
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação WebDalton Martins
 

Similaire à PHP GERAL (20)

Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 
Oficial
OficialOficial
Oficial
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Crud
CrudCrud
Crud
 
Curso completo php
Curso completo phpCurso completo php
Curso completo php
 
Migrando para o PHP 5
Migrando para o PHP 5Migrando para o PHP 5
Migrando para o PHP 5
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
SIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHPSIMCIT 2013 - Mini-curso PHP
SIMCIT 2013 - Mini-curso PHP
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
Curso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aulaCurso PHP UNIFACS 2014.1 – 2ª aula
Curso PHP UNIFACS 2014.1 – 2ª aula
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação Web
 
Módulo de php
Módulo de phpMódulo de php
Módulo de php
 

PHP GERAL

  • 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 
  • 16.
  • 17. 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 .
  • 18. 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>
  • 19. 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”; }
  • 20. 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; }
  • 21. 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”;
  • 22. 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
  • 23. 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 }  } ?> 
  • 24. 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); ?> 
  • 25. 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
  • 26. 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; 
  • 27. 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;   
  • 28. 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
  • 29. 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
  • 30. 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/