10
ÍndÍ~e Geral ._- I o PDP ea World Wide Web 1 1.1 Introdução 1 1.2 Breve apresentação do PHP 1 1.3 Acesso a documentos na web 2 1.4 HTML estático versus HTML dinâmico 3 1.5 PHP, o que é? 4 1.6 O PHP e o HTML 6 2 Funcionamento do PDP 13 2.1 Introdução 13 2.2 História do PHP 13 2.3 Arquitectura e funcionamento 14 2.4 Características do PHP 16 2.5 Potencialidades do PHP 17 2.6 PHP, CGI, Perl e ASP 18 3 O PDP IZend .......................................................... 23 3.1 Introdução 23 3.2 Utilização do PHP 23. 3.3 A arquitectura do PHP 25 3.4 Optimização 26 3.4.1 O PHP versus ASP 27 3.5 Novas Funcionalidades 27 3.5.1 Novo modelo orientado a objectos (0.0.) 28 3.5.2 Suporte para a linguagem de programação lava 29 3.5.3 Alterações gerais no PHP 30 3.6 Considerações sobre o PHP 31 4 Instalação e configuração do PDP 33 4.1 Introdução 33 4.2 Instalação do PHP 33 4.2.1. Plataformas Windows 33 4.2.2. Plataformas Unix (Linux) 34 4.3 Como obter o software PHP 34 4.4 Instalação em sistemas Windows 35 © FCA - Editora de Informática XI

Geral - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Sumarios_Monografias... · 3.5.2 Suportepara alinguagem deprogramação lava 29 3.5.3Alterações gerais noPHP 30

  • Upload
    ngotram

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

  • nd~e Geral

    ._-

    I o PDP e a World Wide Web 11.1 Introduo 11.2 Breve apresentao do PHP 11.3 Acesso a documentos na web 21.4 HTML esttico versus HTML dinmico 31.5 PHP, o que ? 41.6 O PHP e o HTML 6

    2 Funcionamento do PDP 132.1 Introduo 132.2 Histria do PHP 132.3 Arquitectura e funcionamento 142.4 Caractersticas do PHP 162.5 Potencialidades do PHP 172.6 PHP, CGI, Perl e ASP 18

    3 O PDP IZend .......................................................... 233.1 Introduo 233.2 Utilizao do PHP 23.3.3 A arquitectura do PHP 253.4 Optimizao 26

    3.4.1 O PHP versus ASP 273.5 Novas Funcionalidades 27

    3.5.1 Novo modelo orientado a objectos (0.0.) 283.5.2 Suporte para a linguagem de programao lava 293.5.3 Alteraes gerais no PHP 30

    3.6 Consideraes sobre o PHP 31

    4 Instalao e configurao do PDP 334.1 Introduo 334.2 Instalao do PHP 33

    4.2.1. Plataformas Windows 334.2.2. Plataformas Unix (Linux) 34

    4.3 Como obter o software PHP 344.4 Instalao em sistemas Windows 35

    FCA - Editora de InformticaXI

  • 9Programa~o com PDP54.4.1 Instalao do PHP 364.4.2 Apache web server 37

    4.4.2.1 Apache 1.3x 374.4.2.2 Apache 2.0x 38

    4.4.3 Microsoft I1S (4.x e 5) e PWS 4 (Personal Web Server) 384.4.3.1 Windows ePWS 4 384.4.3.2 Windows NT/2000/XP e I1S 4/5/6 39

    4.5 Instalao em sistemas LINUX 414.5.1 Apache Web Server 1.3.x 12.0 .41

    4.6 A configurao do PHP 434.6.10 ficheiro de configurao PHP.INI .,434.6.2 Directivas gerais de configurao 44

    4.6.2.1 auto_append_file texto 444.6.2.2 auto-prepend _file texto 444.6.2.3 display_errors lgico 444.6.2.4 doe root texto 444.6.2.5 error_log texto 444.6.2.6 error_reporting nmero 454.6.2.7 open_basedir texto 454.6.2.8 gpc_order texto 454.6.2.9 ignore_user_abort texto 454.6.2.10 include-path texto 454.6.2.l1 max execution time nmero 46- -4.6.2.12 memory_limit nmero 464.6.2.13 short_open_tag lgico 464.6.2.14 track_errors lgico 464.6.2.15 track_vars lgico 464.6.2.16 upload_tmp_dir texto 464.6.2.17 user dir texto 46

    4.6.3 Directivas de configurao do e-mail.. .464.6.3.1 SMTP texto 474.6.3.2 sendmail from texto 474.6.3.3 sendmailpath texto 47

    4.6.4 Directivas de configurao em modo seguro .474.6.4.1 safe_mode lgico 474.6.4.2 safe mode exec dir texto .4 7- - -4.6.4.3 register_globals texto 47

    4.6.5 Outras directivas de configurao .484.7 Verificar a actual instalao e configurao .48

    5 A estrutura e sintaxe do PHP 535.1 Introduo 535.2 Semelhanas com outras linguagens 535.3 Introduzir o cdigo PHP no HTML 53

    FCA - Editora de Informtica

    xn

  • ndieeP

    5.4 Separao de instrues 555.5 Utilizao de comentrios 555.6 Tipos de dados 56

    5.6.1 Valores Lgicos (boolean) 565.6.2 Valores inteiros (integer) 575.6.3 Valores de vrgula flutuante (float) 575.6.4 Cadeias de caracteres (String) 57

    5.6.4.1 Converso de strings 585.6.5 Arrays 59

    5.6.5.1 Arrays de uma s dimenso 595.6.5.2 Arrays multidimensionais 60

    5.6.6 Classes e Objectos (programao orientada por objectos) 625.6.6.1 Inicializao de objectos 62

    5.6.7 Recursos (Resources) 625.6.8 NULL 63

    5.7 Variveis 635.7.1 Escopo das variveis 645.7.2 Nomes de variveis dinmicas 655.7.3 Variveis Predefinidas 665.7.4 Variveis de ambiente 675.7.5 Variveis externas ao PHP 68

    5.7.5.1 Formulrios HTML (atravs de POST e GET) 685.7.6 Variveis atravs de cookies 695.7.7 Variveis de ambiente 69

    5.8 Constantes 705.9 Operadores 70

    5.9.1 Operadores aritmticos 715.9.2 Operadores de cadeias de caracteres 715.9.3 Operadores de atribuio 715.9.4 Operadores de operaes com bits 715.9.5 Operadores Lgicos 725.9.6 Operadores de comparao 725.9.7 Precedncia dos operadores 73

    5.10 Estruturas de Controlo 745.10.1if 745.10.2 else 755.10.3 elseif 765.10.4 while 765.10.5 do while 775.10.6 for 775.10.7 break 785.10.8 continue 795.10.9 switch 795.10.1O require 805.10.11 include 80

    FCA - Editora de InformticaXID

  • 9Programao com PBP55.10.12 require_once e include_once 805.10.13 class 81

    5.11 Funes 825.11.1 Funes definidas pelo utilizador 835.11.2 Retorno de valores 835.11.3 Argumentos de funes 835.11.4 Passagem de argumentos por referncia 845.11.5 Valor por defeito de argumentos 84

    GProgramao Orientada por Objeetos no PHP5 @6.1 Introduo 876.2 Zend Engine 2 886.3 Um novo modelo de objectos 88

    6.3.1 Definio de Classes 886.3.2 Visibilidade de Mtodos da Classe 896.3.3 Visibilidade dos Mtodos da Classe 906.3.4 Variveis e mtodos estticos 916.3.5 Constantes de uma Classe 936.3.6 Parent e Self.. 936.3.7 Construtores e Destrutores de Objectos 93

    6.3.7.1 Construtores 946.3.7.2 Destrutores 96

    6.3.8 lasses e Mtodos Abstractos 976.3.9 Interfaces 996.3.10 Operador instanceof 1016.3.11 Mtodos e Classes Finais 1026.3.12 Excepes 104

    7 Funeionalidades Bsieas do PHP................................ 1097.1 Introduo 1097.2 Algumas funcionalidades do PHP 1097.3 Primeiros exemplos 1097.4 Imprimir dados no ecr 113

    7.4.1 A funo echoO 1137.4.2 A funo printt) 1137.4.3 A funo printfi) 114

    8 O PHP e os formulrios em HTML.............................. 1158.1 Introduo 1158.2 Utilizao do PHP para ler valores de um formulrio 115

    8.2.1 Formulrios simples 1158.2.1.1 Impresso do formulrio 1168.2.1.2 O processamento do formulrio 1178.2.1.3 Juntar ambas as partes 118

    FCA - Editora de lnformtica

  • ndieeP

    8.2.2 Mais um exemplo simples 1208.2.3 Um formulrio com pginas mltiplas 122

    9 O PUP e as bases de dados GV9.1 Introduo 1379.2 Interactividade das aplicaes web 1379.3 MySQL - breve introduo 1389.4 Utilitrios de administrao do MySQL 1399.5 Ligao a bases de dados em PHP 147

    9.5.1 Principais funes com suporte ao MySQL 1479.5.2 Funes PHP de ligao a bases de dados MySQL. 148

    9.6 Aplicao de gesto de contactos 1539.6.1 Seleco e visualizao de registos 1539.6.2 Adio de registos 1559.6.3 Edio/alterao de um registo 1579.6.4 Eliminao de registo 1609.6.5 Definio da condio de seleco 163

    9.6.5.1 Navegao entre pginas contendo registos 1709.6.6 Envio de e-mails e realizao de uploads de ficheiros 174

    9.6.6.1 Envio de e-mail 1759.6.6.2 Upload de ficheiros e armazenamento em bases de dados 178

    9.6.7 Redireccionamento de pginas 1839.7 Autenticao de utilizadores 1859.8 Ligao a bases de dados em PHP via ODBC 192

    9.8.1 Funes PHP para ligao a bases de dados via ODBC 1939.8.2 Exemplo de aplicao das funes PHP-ODBC 194

    9.9 Interfaces de ligao a bases de dados 1989.9.1 Biblioteca ADOdb 2019.9.2 PDO 204

    10 PUP e o SQLite 20910.1 Introduo 20910.2 SQLite - O que ? 209

    10.2.10 SQLite e o SQL 21010.2.2 SQLite Manager 211

    10.3 PHP e SQLite 21210.4 PHP e SQLite - Modo 00 214

    10.4.1 Criar ou abrir uma BD SQLite 21610.4.2 Criar tabelas em base de dados SQLite 21610.4.3 Listar todos registos de uma tabela 21710.4.4 Apagar/alterar registos numa tabela 21910.4.5 Alterar registos numa tabela 220

    FCA - Editora de Informticaxv

  • 9Programao com PHPSII O PHP e o eorreio eleetrnieo 22311.1 Introduo 22311.2 Alguns detalhes sobre o correio electrnico 22311.3 Envio de correio electrnico 225

    11.3.1 Programa para enviar correio electrnico 22511.3.2 Classe para enviar correio electrnico simples 22811.3.3 Classe para enviar correio electrnico composto 23211.3.4 Outra forma de enviar correio electrnico no PHP 240

    11.4 Validao de endereos de correio electrnico 241 .11.4.1 Validao simples 24111.4.2 Validao complexa 242

    12 Autentieao de utilizadores eom PHP ~~12.1 Introduo 24712.2 Autenticao HTTP 24712.3 Autenticao com PHP 248

    12.3.1 Validao com ficheiro texto 25112.3.2 Validao baseada no .htaccess 25212.3.3 Validao com bases de dados 255

    12.4 Vantagens da autenticao com PHP 256

    13 Datas e horas em PHP 25713.1 Introduo _ 25713.2 Principais funes Data/Hora em PHP 25713.3 Alguns exemplos teis de utilizao 261

    13.3.1 Tempo decorrido 26113.3.2 Datas em portugus 268

    14 O PHP e os eookies............................................... 2Th14.1 Introduo 271

    15 Criao de grfieos utilizando o PHP 27515.1 Introduo 27515.2 Criao dinmica de grficos 275

    15.2.1 Grficos simples - quadrados e rectngulos 27615.2.2 Grficos simples - crculos 27915.2.3 Utilizao de texto em grficos 28115.2.4 Biblioteca de grficos de barras 283

    15.2.4.1 Dados de classe 28315.2.4.2 Funes da classe 284

    15.2.5 Criao de imagens a partir de outras 28715.3 Formatos de imagem 290

    FCA - Editora de Informtica

  • ndieeP

    16 Sesses em PHP ~ /'

    16.1 Introduo 29316.2 A utilidade das sesses 29316.3 Informao complementar. 29416.4 A configurao das sesses 29416.5 Propagao de identificadores de sesso 29516.6 Funes para gesto de sesses em PHP 296

    16.6.1 Inicializao de sesses 29616.6.2 Destruio de sesses 29616.6.3 Nome de sesses 29716.6.4 Informao acerca do path de sesses 29716.6.5 Identificao de sesses 29716.6.6 Associao de dados a uma sesso 29716.6.7 Desassociao de dados a uma sesso 29716.6.8 Verificao de informao de sesso 29816.6.9 Codificao de informao de sesses 29816.6.10 Descodificao de informao de sesses 298

    16.7 Exemplos da utilizao da gesto de sesses 29816.7.1 Registo de variveis 29816.7.2 Contador de acessos 29916.7.3 Cores persistentes 30016.7.4 Login e sesses , 304

    17 O PHP e o sistema de ficheiros 311

    17.1 Introduo 31117.2 Utilizao de ficheiros no PHP 31117.3 Testes sobre os ficheiros 31317.4 Navegao nos ficheiros 31417.5 A funojileO 32017.6 A funo fpassthrut) 32117.7 Copiar, apagar e renomear ficheiros 32317.8 Trabalhar com directrios 32517.9 Upload de ficheiros 32717.10 Validao de ficheiros de upload 330

    18 O PHP e a execuo de programas externos ~3)

    18.1 Introduo 33318.2 Funes PHP de execuo de programas externos 333

    18.2.1 exec 33318.2.2 system 334

    18.3 Exemplos de utilizao 334

    FCA - Editora de Informtica

  • 9Programao com PHP.19.7 Integrao do interpretador XML Expat 34419.8 Funes do PHP para XML 344

    19.8.1 xml--Parser_create 3:519.8.2 xml set object.. 3 619.8.3 xml- set- element handler 34619.8.4 xml-set-characte-;: data handler 347

    - - - - 34819.8.5 xrnl jiarse .19.8.6 xml get error code 348

    - - - 34919.8.7 xml error string .- - 34919.8.8 xml_get_current_line_number. .

    19.8.9 xmtparserfree 34919.9 PHP e XML em funcionamento 34919.10 Anlise ao XML 35619.11 SimpleXML 356

    19.11.1 Criar um objecto SimpleXML 35719.11.2 Navegao nos objectos SimpleXML 35719.11.3 Armazenar objectos SimpleXML 359

    20 PBP e o PDF 36920.1 Introduo 36920.2 FPDF - O que ? 36920.3 Instalao 37020.4 Criao de um documento PDF 37020.5 Cabealhos, rodaps e imagens 37420.6 Gerao de documentos PDF a partir de bases de dados 37820.7 Converso de HTML para PDF 386

    21 Desenvolvimento de aplicaes WAP com o PBP 38721.1 Introduo 38721.2 Arquitectura PHP- WML 38721.3 A linguagem WML 388

    21.3.1 Exemplo de uma aplicao WML 38921.4 PHP nos documentos de WML 391

    21.4.1 Enviar correio electrnico atravs do dispositivos WAP 39421.4.2 Listar dados de uma base de dados via WAP 395

    22 Desenvolvimento de Web-Services em PBP 3'9322.1 Introduo 39322.2 Web-Services 393

    22.2.1 SOAP 39622.2.2 WSDL 39622.2.3 UDDI 396

    22.3 A biblioteca NuSOAP 39722.4 Desenvolvimento de WS com PHP 397

    22.4.1 Exemplo de WS com o NuSOAP .40622.4.2 Definio e desenvolvimento do WS 409

    FCA - Editora de Informtica

  • ndieeP

    22 Desenvolvimento de Web-Serviees em PHP 393

    22.1 Introduo 39322.2 Web-Services 393

    22.2.1 SOAP 39622.2.2 WSDL 39622.2.3 UDDI 396

    22.3 A biblioteca NuSOAP 39722.4 Desenvolvimento de WS com PHP 397

    22.4.1 Exemplo de WS com o NuSOAP .40622.4.2 Definio e desenvolvimento do WS .40922.4.3 Desenvolvimento do cliente do WS em PHP 423

    22.4.3.1 Menu Principal 42322.4.3.2 Registo de Novos Utilizadores .42422.4.3.3 Ver informao do Ttulo .42722.4.3.4 Ver cotao do Ttulo .43022.4.3.5 Comprar Ttulo 43222.4.3.6 Vender Ttulo 435

    22.4.4 Desenvolvimento de um cliente do WS em C# 43722.5 Suporte nativo PHP5 para WS 444

    22.5.1 Consumir WS disponveis 44422.5.2 Definir e criar WS com o suporte nativo PHP .453

    23 Zend e a teenologia PHP 465)

    23.1 Introduo 46523.2 Zend Technologies - Produtos e servios .465

    23.2.1 Zend Platform 46623.2.2 Zend Engine 46723.2.3 Zend Guard 468

    23.2.3.1 Vantagens: 46923.2.3.2 Requisitos: 469

    23.2.4 Zend Studio 47023.2.4.1 Como funciona o Studio .47023.2.4.2 Vantagens: 47123.2.4.3 Requisitos 47123.2.4.4 Concorrentes 472

    23.2.5 Zend Consulting services 47323.3 Zend Education 47423.4 Frameworks PHP e Zend .474

    24 Reeursos PHP na Internet 477

    24.10 PHP na WWW 47724.2 Recursos PHP na WWW 477

    24.2.1 Php.net 477

    FCA - Editora de Informtica

  • 9Programao com PHP524.2.2 Weberdev.com 47824.2.3 PHPBuilder 47924.2.4 Developer Shed 48024.2.5 PHP Code Exchange 48124.2.6 The PHP Resource Index 48224.2.7 PHP Classes Repository 48224.2.8 Hotscripts 483

    24.3 Grupos de discusso e lou canais de IRC .48424.3.1 Canal #php no IRC 48424.3.2 Listas de distribuio 48424.3.3 Grupos de discusso 48524.3.4 Lista de perguntas mais frequentes (FAQ) 48624.3.5Lista de problemas e erros (bugs) .486

    25 Desenvolvimento de um site completo na WWW 487

    25.1 Introduo 48725.2 O sistema a desenvolver 487

    25.2.1 A infraestrutura tcnica do site 48825.2.2 A estrutura do site 48825.2.3 A base de dados 48925.2.4 Concepo da base de dados 49025.2.5 Scripts que geram as pginas do site 495

    26 Referncias bibliogrficas 526

    27 Indiee reDssivo 529

    FCA - Editora de Informtica