SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
PHP
programação server-side




     www.w3schools.com/php/php_intro.asp
               www.php.net
Introdução
o 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
Introdução
o ambiente de desenvolvimento open-source
Introdução
o ambiente de desenvolvimento open-source
 •   Debian:

     •   Utilizador: aluno

     •   Password: esap (a mesma de root)




 •   Pasta dos ficheiros do servidor apache:

     •   /opt/lampp/htdocs
Introdução
pá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.
Introdução
páginas estáticas vs dinâmicas | páginas estáticas | limitações
deste 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
Introdução
pá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
Introdução
funcionamento 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
Introdução
funcionamento modelo cliente-servidor (dynamic)


                servidor



                             pedido

                                         html
             processamento                  B




                             resposta   browser cliente
A linguagem PHP
histó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…
A linguagem PHP
porquê 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!
A linguagem PHP
o 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...
A linguagem PHP
bons exemplos de onde ela está actualmente
A linguagem PHP
introdução à sintaxe | delimitadores (e echo!)
A linguagem PHP
introdução à sintaxe | comentários
A linguagem PHP
introduçã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)
A linguagem PHP
introduçã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
A linguagem PHP
introduçã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
A linguagem PHP
introduçã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"];
A linguagem PHP
introduçã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
A linguagem PHP
introduçã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
A linguagem PHP
introdução à sintaxe | constantes

  •   $_SESSION

      •   Valores que não são modificados ao longo da execução da aplicação - Valores Globais
A linguagem PHP
introduçã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...)
A linguagem PHP
introduçã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 ;
A linguagem PHP
introdução à sintaxe | variáveis | tipos (2/2)
  •   Arrays

        •       Funções úteis

               •    unset()

               •    print_r()

  •   Objects

  •   Resources

  •   NULL
A linguagem PHP
introduçã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);
A linguagem PHP
introdução à sintaxe | variáveis | arrays

  •   Os arrays podem ser associativos, numéricos ou multidimensionais
A linguagem PHP
introdução à sintaxe | variáveis | arrays associativos
A linguagem PHP
introdução à sintaxe | variáveis | arrays numéricos
A linguagem PHP
introdução à sintaxe | variáveis | arrays multidim.
A linguagem PHP
introdução à sintaxe | variáveis | arrays
A linguagem PHP
introdução à sintaxe | variáveis | arrays | funções
  •   count() || sizeof()

  •   array_push()

  •   array_rand()

  •   in_array()

  •   ...
A linguagem PHP
introdução à sintaxe | estrutura de controle | IF
  •   Condicional - IF
A linguagem PHP
introdução à sintaxe | estrutura de controle | IF
  •   Condicional - IF (alternativas)
A linguagem PHP
introdução à sintaxe | estrutura de controle | IF ELSE
  •   Condicional - IF ELSE
A linguagem PHP
introdução à sintaxe | estrutura de controle | Switch
A linguagem PHP
introdução à sintaxe | operadores de atribuição
A linguagem PHP
introdução à sintaxe | operadores lógicos
A linguagem PHP
introdução à sintaxe | operadores de comparação
A linguagem PHP
introdução à sintaxe | estrutura de controle | Ciclos
  •   While
A linguagem PHP
introdução à sintaxe | estrutura de controle | Ciclos
  •   Do
A linguagem PHP
introdução à sintaxe | estrutura de controle | Ciclos
  •   For
A linguagem PHP
introdução à sintaxe | estrutura de controle | Ciclos
  •   Foreach




  •   Pode ser interrompido em qualquer momento com o comando break;
A linguagem PHP
introdução à sintaxe | funções (que retornam)
  •   Function
A linguagem PHP
introdução à sintaxe | funções (procedimento)
  •   Function
A linguagem PHP
Formulários e $_POST

            formulário.php




                             processa.php
A linguagem PHP
Formulá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
A linguagem PHP
Querystrings e $_GET

     cria_query.php




                      processa.php
A linguagem PHP
redireccionamento
A linguagem PHP
envio de e-mail simples
A linguagem PHP
upload de ficheiros (1/3)

                     formulário.php
A linguagem PHP
upload de ficheiros (2/3)

                           upload_file.php
A linguagem PHP
upload de ficheiros (3/3)

  •   Validação dos ficheiros enviados   upload_file.php
A linguagem PHP
manipulação de imagens (GD)
A linguagem PHP
manipulação de imagens (GD)
A linguagem PHP
SSI - 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.
A linguagem PHP
datas

 •   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)
A linguagem PHP
introduçã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
A linguagem PHP
introduçã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
A linguagem PHP
introdução à sintaxe | OOP
  •   Classes



      •   __construct

          •     Contrutor da classe, chamado quando se usa new Classe()



      •   __destruct

          •     Destrutor da Classe

Mais conteúdo relacionado

Mais procurados

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
Juan Maiz
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e Taglibs
Eduardo Mendes
 
Frontline - Rails3.1
Frontline - Rails3.1Frontline - Rails3.1
Frontline - Rails3.1
Daniel Lopes
 

Mais procurados (20)

Webservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHPWebservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHP
 
Resumo Anotacoes JAX-WS Certificacao SCDJWS 5
Resumo Anotacoes JAX-WS Certificacao SCDJWS 5Resumo Anotacoes JAX-WS Certificacao SCDJWS 5
Resumo Anotacoes JAX-WS Certificacao SCDJWS 5
 
JSPs Introdução Parte 1
JSPs Introdução Parte 1JSPs Introdução Parte 1
JSPs Introdução Parte 1
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Performance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloPerformance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius Mello
 
Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza Bastos
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápido
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e Taglibs
 
Criando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHPCriando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHP
 
Web 2.0 e RIA com PHP
Web 2.0 e RIA com PHPWeb 2.0 e RIA com PHP
Web 2.0 e RIA com PHP
 
Frontline - Rails3.1
Frontline - Rails3.1Frontline - Rails3.1
Frontline - Rails3.1
 

Destaque

Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
Maurício Linhares
 
Socket programming with php
Socket programming with phpSocket programming with php
Socket programming with php
Elizabeth Smith
 
correção Ficha 4,5,6,e 7
correção Ficha 4,5,6,e 7correção Ficha 4,5,6,e 7
correção Ficha 4,5,6,e 7
edlander
 
Programming TCP/IP with Sockets
Programming TCP/IP with SocketsProgramming TCP/IP with Sockets
Programming TCP/IP with Sockets
elliando dias
 

Destaque (20)

Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Sockets
SocketsSockets
Sockets
 
Pyhug zmq
Pyhug zmqPyhug zmq
Pyhug zmq
 
Aplicações Web Ricas e Acessíveis
Aplicações Web Ricas e AcessíveisAplicações Web Ricas e Acessíveis
Aplicações Web Ricas e Acessíveis
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 
Aula sockets
Aula socketsAula sockets
Aula sockets
 
Network programming
Network programmingNetwork programming
Network programming
 
Lidando com Erros - Android
Lidando com Erros - AndroidLidando com Erros - Android
Lidando com Erros - Android
 
Módulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-socketsMódulo-6-7-ip-com-sockets
Módulo-6-7-ip-com-sockets
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para sockets
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 
Redes 1 - Sockets em C#
Redes 1 - Sockets em C#Redes 1 - Sockets em C#
Redes 1 - Sockets em C#
 
Socket programming with php
Socket programming with phpSocket programming with php
Socket programming with php
 
correção Ficha 4,5,6,e 7
correção Ficha 4,5,6,e 7correção Ficha 4,5,6,e 7
correção Ficha 4,5,6,e 7
 
Programming TCP/IP with Sockets
Programming TCP/IP with SocketsProgramming TCP/IP with Sockets
Programming TCP/IP with Sockets
 
Basic socket programming
Basic socket programmingBasic socket programming
Basic socket programming
 
Socket programming
Socket programmingSocket programming
Socket programming
 
O nome da rosa (filme) trabalho
O nome da rosa (filme)   trabalhoO nome da rosa (filme)   trabalho
O nome da rosa (filme) trabalho
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 
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
 

Semelhante a Linguagem PHP para principiantes

4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 
1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web
angelnisia
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
Luiz Cláudio Silva
 

Semelhante a Linguagem PHP para principiantes (20)

4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Php
PhpPhp
Php
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
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 WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web1 serviços de-rede-dns-dhcp-web
1 serviços de-rede-dns-dhcp-web
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações Mashup
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Apache
ApacheApache
Apache
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 

Mais de Marco Pinheiro

PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
PHP - Queries a um SGBD MySQL
PHP - Queries a um SGBD MySQLPHP - Queries a um SGBD MySQL
PHP - Queries a um SGBD MySQL
Marco Pinheiro
 
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Marco Pinheiro
 
Conceitos de Imagem digital
Conceitos de Imagem digitalConceitos de Imagem digital
Conceitos de Imagem digital
Marco Pinheiro
 

Mais de Marco Pinheiro (16)

SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
Dicas para criação rápida de projectos WEB
Dicas para criação rápida de projectos WEBDicas para criação rápida de projectos WEB
Dicas para criação rápida de projectos WEB
 
curso de CSS
curso de CSScurso de CSS
curso de CSS
 
PHP e Mysql - INSERT
PHP e Mysql - INSERTPHP e Mysql - INSERT
PHP e Mysql - INSERT
 
PHP e Mysql - INSERT
PHP e Mysql - INSERTPHP e Mysql - INSERT
PHP e Mysql - INSERT
 
PHP e Mysql - UPDATE
PHP e Mysql - UPDATEPHP e Mysql - UPDATE
PHP e Mysql - UPDATE
 
PHP e Mysql - DELETE
PHP e Mysql - DELETEPHP e Mysql - DELETE
PHP e Mysql - DELETE
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
PHP e Mysql - SELECT
PHP e Mysql - SELECTPHP e Mysql - SELECT
PHP e Mysql - SELECT
 
PHP - Queries a um SGBD MySQL
PHP - Queries a um SGBD MySQLPHP - Queries a um SGBD MySQL
PHP - Queries a um SGBD MySQL
 
Curso de XHTML
Curso de XHTMLCurso de XHTML
Curso de XHTML
 
funcionamento da internet
funcionamento da internetfuncionamento da internet
funcionamento da internet
 
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
 
Conceitos de Imagem digital
Conceitos de Imagem digitalConceitos de Imagem digital
Conceitos de Imagem digital
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
IPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortaisIPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortais
 

Último

ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
azulassessoria9
 

Último (20)

Livro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-criançasLivro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-crianças
 
"Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande""Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande"
 
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
 
Insegurança nunca mais tem afeta pessoas
Insegurança nunca mais tem afeta pessoasInsegurança nunca mais tem afeta pessoas
Insegurança nunca mais tem afeta pessoas
 
Abuso Sexual da Criança e do adolescente
Abuso Sexual da Criança e do adolescenteAbuso Sexual da Criança e do adolescente
Abuso Sexual da Criança e do adolescente
 
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PEEdital do processo seletivo para contratação de agentes de saúde em Floresta, PE
Edital do processo seletivo para contratação de agentes de saúde em Floresta, PE
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livro
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
 
Apostila-Letramento-e-alfabetização-2.pdf
Apostila-Letramento-e-alfabetização-2.pdfApostila-Letramento-e-alfabetização-2.pdf
Apostila-Letramento-e-alfabetização-2.pdf
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
 
Testes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfTestes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdf
 
O que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaO que é, de facto, a Educação de Infância
O que é, de facto, a Educação de Infância
 
o-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdfo-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdf
 
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdfAparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
 
MODELO Resumo esquemático de Relatório escolar
MODELO Resumo esquemático de Relatório escolarMODELO Resumo esquemático de Relatório escolar
MODELO Resumo esquemático de Relatório escolar
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacionalBENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
 
Power Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantilPower Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantil
 

Linguagem PHP para principiantes

  • 1. PHP programação server-side www.w3schools.com/php/php_intro.asp www.php.net
  • 2. Introdução o 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. Introdução o ambiente de desenvolvimento open-source
  • 4. Introdução o ambiente de desenvolvimento open-source • Debian: • Utilizador: aluno • Password: esap (a mesma de root) • Pasta dos ficheiros do servidor apache: • /opt/lampp/htdocs
  • 5. Introdução pá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. Introdução páginas estáticas vs dinâmicas | páginas estáticas | limitações deste 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. Introdução pá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. Introdução funcionamento 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. Introdução funcionamento modelo cliente-servidor (dynamic) servidor pedido html processamento B resposta browser cliente
  • 10. A linguagem PHP histó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. A linguagem PHP porquê 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. A linguagem PHP o 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. A linguagem PHP bons exemplos de onde ela está actualmente
  • 14. A linguagem PHP introdução à sintaxe | delimitadores (e echo!)
  • 15. A linguagem PHP introdução à sintaxe | comentários
  • 16. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introdução à sintaxe | constantes • $_SESSION • Valores que não são modificados ao longo da execução da aplicação - Valores Globais
  • 23. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introdução à sintaxe | variáveis | tipos (2/2) • Arrays • Funções úteis • unset() • print_r() • Objects • Resources • NULL
  • 26. A linguagem PHP introduçã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. A linguagem PHP introdução à sintaxe | variáveis | arrays • Os arrays podem ser associativos, numéricos ou multidimensionais
  • 28. A linguagem PHP introdução à sintaxe | variáveis | arrays associativos
  • 29. A linguagem PHP introdução à sintaxe | variáveis | arrays numéricos
  • 30. A linguagem PHP introdução à sintaxe | variáveis | arrays multidim.
  • 31. A linguagem PHP introdução à sintaxe | variáveis | arrays
  • 32. A linguagem PHP introdução à sintaxe | variáveis | arrays | funções • count() || sizeof() • array_push() • array_rand() • in_array() • ...
  • 33. A linguagem PHP introdução à sintaxe | estrutura de controle | IF • Condicional - IF
  • 34. A linguagem PHP introdução à sintaxe | estrutura de controle | IF • Condicional - IF (alternativas)
  • 35. A linguagem PHP introdução à sintaxe | estrutura de controle | IF ELSE • Condicional - IF ELSE
  • 36. A linguagem PHP introdução à sintaxe | estrutura de controle | Switch
  • 37. A linguagem PHP introdução à sintaxe | operadores de atribuição
  • 38. A linguagem PHP introdução à sintaxe | operadores lógicos
  • 39. A linguagem PHP introdução à sintaxe | operadores de comparação
  • 40. A linguagem PHP introdução à sintaxe | estrutura de controle | Ciclos • While
  • 41. A linguagem PHP introdução à sintaxe | estrutura de controle | Ciclos • Do
  • 42. A linguagem PHP introdução à sintaxe | estrutura de controle | Ciclos • For
  • 43. A linguagem PHP introdução à sintaxe | estrutura de controle | Ciclos • Foreach • Pode ser interrompido em qualquer momento com o comando break;
  • 44. A linguagem PHP introdução à sintaxe | funções (que retornam) • Function
  • 45. A linguagem PHP introdução à sintaxe | funções (procedimento) • Function
  • 46. A linguagem PHP Formulários e $_POST formulário.php processa.php
  • 47. A linguagem PHP Formulá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. A linguagem PHP Querystrings e $_GET cria_query.php processa.php
  • 50. A linguagem PHP envio de e-mail simples
  • 51. A linguagem PHP upload de ficheiros (1/3) formulário.php
  • 52. A linguagem PHP upload de ficheiros (2/3) upload_file.php
  • 53. A linguagem PHP upload de ficheiros (3/3) • Validação dos ficheiros enviados upload_file.php
  • 54. A linguagem PHP manipulação de imagens (GD)
  • 55. A linguagem PHP manipulação de imagens (GD)
  • 56. A linguagem PHP SSI - 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. A linguagem PHP datas • 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. A linguagem PHP introduçã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. A linguagem PHP introduçã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. A linguagem PHP introdução à sintaxe | OOP • Classes • __construct • Contrutor da classe, chamado quando se usa new Classe() • __destruct • Destrutor da Classe