Your SlideShare is downloading. ×
PHP - Capítulo 01
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP - Capítulo 01

2,587

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,587
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Capítulo 1 Conteúdo Dinâmico e a Web Para o usuário comum, uma página da internet é uma página da internet. Ela abre no navegador e fornece informações. Olhando mais de perto, no entanto, algumas páginas permanecem basicamente as mesmas, enquanto outras mudam regularmente. Páginas que não mudam – páginas estáticas – são relativamente simples de se criar. Alguém deve criar um documento HTML, manualmente ou utilizando ferramentas, e fazer o upload do mesmo para um site que possa ser visitado por navegadores de internet. Uma das ferramentas mais comuns para se criar documentos HTML é o Adobe Dreamweaver. Quando mudanças são necessárias, você simplesmente substitui arquivo antigo por um novo. Páginas dinâmicas também são construídas com HTML, mas em lugar de uma simples abordagem constrói-e- lança, as páginas são atualizadas regularmente, por quantas vezes são requisitadas. Sites estáticos oferecem textos hyperlinked e talvez uma tela de login, mas, além disso, não oferecem muita interação. Em contraste, Amazon.com (http://www.amazon.com) demonstra muito do que um site dinâmico pode fazer: os dados de sua compra são registrados, e o Amazon oferece recomendações de ofertas baseadas no seu histórico de compras quando você acessa a página deles. Em outras palavras, dinâmico significa que o usuário interage com o site muito além de apensa ler páginas e a rede responder de acordo. Toda página é uma experiência pessoal. Criar páginas dinâmicas – mesmo há alguns anos – significava escrever uma porção de códigos nas linguagens C ou Pearl, e em seguida chamar e executar estes programas através de um processo chamado Common Gateway Interface (CGI). Ter de criar arquivos executáveis não era muito divertido, e nem aprender uma nova e complicada linguagem. Ainda bem que PHP e MySQL tornam a criação de sites dinâmicos mais fácil e mais rápido. Http e a Internet Alguma noção básica de como a internet funciona pode ser útil se você nunca programou para a Web antes. O HyperText Transfer Protocol (HTTP) define como as páginas são transferidas através da internet. HTTP é o método utilizado para transferir ou transportar informações na World Wide Web. Seu propósito original era oferecer uma maneira de publicar e recuperar páginas HTML. O World Wide Web Consortium (W3C) e a Internet Engeneering Task Force coordenou o desenvolvimento do HTTP, que é um protocolo de requisição-e-resposta que conecta clientes e servidores. O cliente originário, geralmente um navegador da web, é referido como agente usuário. O servidor destinatário, que armazena ou cria recursos e pode conter arquivos e imagens HTML, é chamado de servidor originário. Entre o agente usuário e o servidor originário, pode haver uma série de intermediários, tais como proxys. |1
  • 2. Um cliente HTTP inicia uma requisição estabelecendo uma conexão Transmission Control Protocol (TCP – Protocolo de Controle de Transmissão) com algum portão particular ou um hospedeiro remoto (port 80 é o defeito). Um servidor HTTP ouvindo neste portão- espera pelo cliente para enviar uma mensagem de requisição. Ao receber a mensagem, o servidor devolve uma linha de status, como “http/1.1 200 OK”, e sua própria resposta. Dependendo do status, esta resposta pode ser o arquivo requisitado, uma mensagem de erro, ou alguma outra informação. HTTP é construído sobre o TCP, o qual é mergulhado no topo do Protocolo da Internet (IP). Ambos são freqüentemente citados juntos, como TCP/IP. Aplicações em hospedeiros em rede podem utilizar TCP para criar conexões um com o outro, e em seguida trocar córregos de dados. O protocolo garante entrega confiável do remetente ao receptor. TCP sustenta muitos dos protocolos de aplicações e aplicações mais populares da internet, incluindo a Web, e-mail, e o Secure Shell (SSH). o papel de pHp e MySQl no Desenvolvimento da Web PHP é uma linguagem de programação desenvolvida para gerar páginas da web interativamente no computador que as serve, que é chamado de servidor web. Ao contrário do HTML, onde o navegador da web utiliza etiquetas e markup para gerar uma página, o código PHP circula entre a página requisitada e o servidor web, somando e modificando a saída básica HTML. PHP facilita o desenvolvimento da web porque todo o código necessário está contido na estrutura de PHP. Isso significa que não há razão para que você reinvente a roda cada vez que se sentar para desenvolver um programa PHP; ele vem com funções de web embutidas. Enquanto PHP é ótima para desenvolvimento aplicativo da web, não, ela não armazena informações sozinha. Para isso é necessário um banco de dados. O banco de dados escolhido pelos que desenvolveram PHP é o MySQL, que atua como um caixeiro arquivista para informações de usuários processadas com PHP. MySQL automatiza as tarefas mais comuns relacionadas ao armazenamento e recuperação de informações específicas de usuários baseadas em seu critério fornecido. Considere o exemplo do Amazon.com: as recomendações que o Amazon oferece são baseadas no banco de dados que registra a informação de sua compra prévia. MySQL é facilmente acessado por PHP, e eles funcionam bem juntos. Um benefício adicional é que PHP e MySQL correm em diversos tipos de computadores e sistemas de operação, inclusive Mac OS X, computadores baseados no Windows, e Linux. Vantagens de se utilizar pHp com MySQl Existe uma série de fatores que tornam a utilização de PHP e MySQL em conjunto uma escolha natural: PHP e MySQL funcionam bem juntos. Php e MySQL foram desenvolvidos um tendo o outro em mente, portanto são fáceis de se utilizar em conjunto. A programação relacionada entre eles é pareada logicamente. Trabalhar em conjunto não foi uma idéia posterior quando os criadores criaram a relação entre PHP e MySQL. 2 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 3. PHP e MySQL têm Open Source Power Como são projetos de open source, PHP e MySQL podem ambos ser utilizados de graça. Bibliotecas clientes de MySQL não são mais empacotados com PHP. Usuários avançados têm a habilidade de mudar o código fonte, e portanto mudar a maneira com que linguagem e programa funcionam. PHP e MySQL têm suporte da comunidade Ambas as comunidades ativas de ferramentas da Web das quais você pode participar, e os participantes auxiliarão na resposta de suas perguntas. Você também pode comprar suporte profissional para MySQL se você precisar. PHP e MySQL são rápidos Seus designs simples e eficientes permitem processamento mais veloz. PHP e MySQL não incomodam com detalhes desnecessários Você não precisa conhecer todos os detalhes desnecessários de como a linguagem PHP se relaciona ao banco de dados MySQL, já que existe uma relação padrão para a requisição de procedimentos MySQL de PHP. Relação de programação de aplicação on- line (APIs) em http://www.php.net oferece recursos ilimitados. o Valor da open Source Conforme mencionamos acima, tanto PHP quanto MySQL são projetos de open source, portanto você não precisa se preocupar em comprar licenças de uso para cada computador em seu escritório ou sua casa. Quando utilizam projetos e tecnologias de open source, programadores têm acesso ao código fonte. Isso permite análise individual ou grupal para identificação de potenciais códigos problemáticos, teste, eliminação de erros, e oferece mudanças, assim como somas a esse código. Por exemplo, Unix – o precursor na comunidade do software open source – foi dividido gratuitamente com softwares de universidades e pesquisadores. Linux, a alternativa grátis ao Unix, é um resultado direto dos esforços e do paradigma da licença do open source. A maioria das licenças de open source inclui o direito de distribuição de códigos modificados com algumas restrições. Por exemplo, algumas licenças requerem que o código derivativo também seja lançado sob a mesma licença, ou pode haver alguma restrição que outros não possam utilizar seu código. Conforme Tim Reilly coloca “a licença de open source começou como uma tentativa de preservação de uma cultura de compartilhamento, e somente mais tarde levou a uma noção mais expandida do valor deste compartilhamento”. Hoje, programadores de open source compartilham suas mudanças de código na web através dos http://www.php.net, listservs, e sites. Se você for pego num pesadelo de codificação e não conseguir acordar, os recursos mencionados previamente podem e vão te ajudar. Nós te equiparemos com fóruns de usuários de open source mais a frente para que você possa conferir por si próprio. Nós incluiremos listservs e sites que dispõem inúmeros recursos se você precisar. os Componentes de uma aplicação pHp Para que se possa processar e desenvolver páginas da web dinâmicas, você precisa utilizar e compreender diversas tecnologias. Existem três componentes principais na criação de páginas dinâmicas: um servidor web, uma linguagem de programação acompanhando o servidor e um banco de dados. É uma boa idéia deter algum conhecimento destes três componentes básicos para desenvolvimento utilizando PHP. Começaremos com uma compreensão rudimentar do propósito e da história do Apache (seu servidor web), PHP (sua o papel de pHp e MySQl no Desenvolvimento da Web | 3
  • 4. linguagem de programação que acompanha o servidor) e MySQL (seu banco de dados). Isso ajuda a compreender como eles se encaixam no desenvolvimento da web. Lembre-se de que sites dinâmicos coletam informações de diferentes fontes simultaneamente, inclusive Apache, PHP, MySQL e Cascading Style Sheets (CSS), sobre os qual falaremos mais tarde. pHp PHP surgiu da necessidade das pessoas de desenvolver e manter web sites contendo um funcionamento dinâmico de serviço ao cliente. Em 1994, Rasmus Lerdorf criou uma coleção de scripts Perl de open source para uso pessoal, e estes eventualmente foram reescritos em C e transformados no que PHP é hoje. Antes de 1998, PHP foi lançado em sua terceira versão, tornando-se uma ferramenta de desenvolvimento da web que podia competir com produtos similares, tais como a Active Server Pages (ASP) da Microsoft e o Java Server Pages (JSP) da Sun. PHP também é uma linguagem interpretada, e não tanto compilada. A real beleza de PHP é sua simplicidade combinada com poder. Linguagens compiladas criam um arquivo binário, como por exemplo, um .exe, enquanto linguagens interpretadas trabalham diretamente com o código da fonte quando está executando, ao invés de criar um arquivo independente. PHP é ubíquo e compatível com todos os grandes sistemas operacionais. Também é fácil de aprender, tornando-se assim uma ferramenta ideal para iniciantes de programação de sites. Ademais, você pode tirar proveito dos esforços da comunidade para facilitar o desenvolvimento da web para todos. Os criadores de PHP desenvolveram uma infra- estrutura que permite que programadores experientes em C ampliem as habilidades de PHP. Como resultado, PHP agora se integra com tecnologias avançadas com XML, XSL e o Component Object Model Technologies (COM) da Microsoft. apache Apache é um servidor web que transforma requisições dos navegadores em resultados em páginas da web e sabe como processar o código PHP. PHP é só uma linguagem de programação, portanto sem o poder de um servidor web como Apache por trás, não haveria como usuários da web alcançassem suas páginas contendo o código de linguagem PHP. Apache não é o único servidor web disponível. Outro servidor web popular é o Internet Information Services (IIS) da Microsoft, que é fornecido pelo Windows 2000 e todas as versões mais avançadas. Apache possui as vantagens de ser grátis, de oferecer todo o código da fonte, e de utilizar uma licença irrestrita. Apache 2.0 é a atual versão que você provavelmente utiliza, apesar da 1.3 ainda ser frequentemente usada. IIS é mais fácil de integrar com o Active Directory, o mais novo sistema de autenticação da Microsoft, mas isso se aplica principalmente a web sites de companhias internas. 4 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 5. De acordo com a pesquisa do servidor web Netcraft, Apache tem sido o servidor web mais popular da internet desde abril de 1996. Porque os servidores web como o Apache e o IIS foram desenhados para servir arquivos HTML, eles precisam de uma maneira de saber como processar o código PHP. Apache utiliza módulos para carregar extensões em suas funções. IIS utiliza um conceito semelhante chamado Internet Server Application Program Interface (ISAPI). Ambos permitem um processamento mais veloz do código PHP do que o processo da antiga escola de convocar PHP como uma executável separada cada vez que o servidor web recebia uma requisição de uma página contendo PHP. Nós discutiremos a preparação do módulo Apache no capítulo 2. Apache só possui duas grandes versões em uso atualmente: 1.3 e 2. Apache 2 é uma grande reescritura e sustenta lineamentos. Linhas permitem que um único processo gerencie mais de uma coisa ao mesmo tempo. Isso aumenta a velocidade e reduz os recursos necessários. Infelizmente, PHP não é totalmente compatível com lineamento ainda. Apache 2 já foi lançado há tempo suficiente para ser considerado estável para uso nos ambientes de desenvolvimento e produção. Apache 2 também sustenta módulos mais potentes. Alguns módulos adicionais podem ser encontrados em http://www.cri.ensmp.fr/~coelho/mod_macro. Contudo, módulos DLLs compartilhados que não vem com os arquivos fonte oficiais de Apache, tais como mod_ php4, mod_ssl, mod_auth_mysql, e mod_auth_ntsec, podem ser encontrados na web. Apache também tem a vantagem de ser capaz de funcionar em sistemas operacionais que não o Windows, o que agora nos leva ao assunto da compatibilidade. Mas primeiro dar- lhe-emos uma cobertura mais profunda dos bancos de dados relacionais e SQL. SQl e Bancos de Dados Relacionais Structured Query Language (SQL) é a linguagem popular mais utilizada para criar, recuperar, atualizar e deletar dados de sistemas de gerenciamento de bancos relacionais. Um banco de dados relacional conforma-se ao modelo relacional e refere-se aos dados e ao esquema do banco. O esquema é a estrutura do banco de como os dados são arranjados. A utilização comum do termo “Relational Database Management System” tecnicamente se refere ao software utilizado na criação de um banco de dados relacional, tais quais o Oracle ou o Microsoft SQL Server. Um banco de dados relacional é uma coleção de tabelas, porém outros itens são frequentemente considerados parte do banco de dados, já que ajudam a organizar e estruturar os dados além de forçar o banco de dados a conformar-se com uma série de requisições. MySQl MySQL é um banco de dados relacional gratuito porém muito bem equipado. MySQL foi desenvolvido nos anos 90 para saciar a crescente necessidade dos computadores de gerenciar informações de maneira inteligente. O núcleo original de colaboradores do MySQL buscava atender as suas necessidades através da utilização de mSQL, um banco de dados simples e pequeno. Se tornou claro que mSQL não podia resolver todos os problemas os Componentes de um pHp application | 5
  • 6. que eles gostariam que resolvesse, portanto eles criaram um banco mais robusto que se transformou no MySQL. MySQL sustenta diversos motores de bancos de dados. Motores de bancos de dados determinam como o MySQL lida com a armazenagem e com as inquisições dos dados. Por causa disto, cada mecanismo de armazenagem tem sua própria gama de habilidades e forças. Através do tempo, os motores dos bancos de dados disponíveis estão se tornando mais avançados e velozes. A Tabela 1.1 lista quando diversos atributos foram acrescentados ao MySQL. Tabela 1.1. grandes lançamentos de MySQL. Versão atributos 3.23 o Banco de dados MyISaM é acrescentado e é o motor de defeito. Controla grandes quantidades de dados de forma eficaz. o Banco de dados InnoDB é lançado para processamento seguro de transações de bancos de dados e suporte de foreign keys. Foreign Keys permitem relações entre tabelas para serem designadas explicitamente no banco de dados. 4.0 pesquisas sustentam uniões. uniões permitem a junção dos resultados de duas pesquisas em um resultado. Mudanças de configuração podem ser feitas sem que se reinicie o banco de dados. 4.1 um comando help é incluído para o cliente do banco de dados. Há suporte para unnamed views (visualizações sem nomes), também conhecido como subpesquisas. unnamed views permitem que você trate uma pesquisa como uma tabela separada dentro de uma pesquisa. Há suporte para programações de caractere unicode (linguagens locais). 5.0 Gatilhos, procedimentos armazenados, confinamentos e cursores do banco de dados são acrescentados. um gatilho permite que o código execute no banco de dados quando um evento engatilhado ocorre, como a inserção de dados em uma tabela. procedimentos armazenados permitem que os programas sejam definidos e executados no banco de dados. Cursores permitem que o código no banco de dados seja executado para cada fileira que for compatível com a pesquisa. 5.1 partições, agendamento, plug-in em apI e replicação baseada em fileiras são acrescentados. partições são usadas para dividir o armazém físico de grandes tabelas baseadas em uma regra definida. É comumente utilizado para melhorar a performance de grandes tabelas como dados antigos que são considerados históricos. agendamento permite que um código de banco de dados seja executado em horários definidos. o plug-in em apI pavimenta o caminho para acrescentar e remover a funcionalidade para o servidor MySQl sem reiniciá-lo. Replicações baseadas em fileiras copiam dados de um servidor para outro no nível da fileira. A atual produção lançada do MySQL é a versão 5.0x. MySQL 5.0 oferece uma performance comparável a de qualquer uma das mais caras empresas de bancos de dados, tais como Oracle, Informix, DB2 (IBM), e SQL Server (Microsoft). Os colaboradores atingiram este nível de performance alavancando os talentos de diversos colaboradores de open source, juntamente com testes das comunidades. Para tarefas gerais de bancos de dados guiados pela web, o motor MyISAM do banco de dados funciona perfeitamente bem. Os mais avançados atributos do MySQL 5.1 não são estáveis como atributos introduzidos em lançamentos anteriores. MySQL 5.0 é o atual lançamento estável geral. Baixe a mais nova versão reduzida (a maior da terceira porção do número da versão) para qualquer grande versão que você escolha. Tem a mais avançada contenção de bugs para esta versão inclusa. 6 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 7. Não se preocupe demais com os mais novos e avançados atributos, já que o volume do que você provavelmente vai precisar já foi incluído no MySQL há um bom tempo. Compatibilidade Navegadores da web, tais como Safari, Firefox, Netscape e Internet Explorer são feitos para processar HTML, portanto não importa qual sistema operacional atua no servidor web. Apache, PHP e MySQL sustentam uma vasta gama de Sistemas Operacionais (SO)m portanto você não está restringido a um SO específico em qualquer servidor ou cliente. Enquanto você não precisa se preocupar muito com a compatibilidade do software, a variedade completa de formatos de arquivos e diferentes linguagens que vem junto requerem um tempo para que se acostume a elas. Integrando Diversas Fontes de Informações Nos primórdios da web, a vida era simples. Havia arquivos que continham HTML, e arquivos binários, tais como imagens. Diversas tecnologias foram desde então desenvolvidas para organizar a visita a páginas da internet. Por exemplo, Cascading Style Sheets (CCS) pega informações de apresentações da sua HTML e em um único ponto para que você possa fazer as mudanças de formatação em torno de uma série de páginas de uma vez só; você não precisa mudar o markup de sua HTML manualmente, uma página HTML por vez. Você pode, potencialmente, ter informações vindas de arquivos HTML que façam referência aos moldes CCS, PHP e um banco de dados MySQL de uma vez só. Moldes PHP facilitam a mudança de HTML em uma página quando contiver campos habitados por query de bancos de dados. Daremos uma rápida olhada na maneira como estas peças se encaixam. Só para te proporcionar um gostinho de como seu código aparentará, o exemplo 1.1 mostra código MySQL chamado por PHP por inserir um comentário em um banco MySQL. Este exemplo contém código PHP que gera HTML a partir de um banco MySQL, e a própria HTML faz referência a um stylesheet de CCS. Integrando diversas fontes de informação | 7
  • 8. Exemplo 1.1. Uma função PHP para inserir um comentário em uma tabela de um banco de dados de comentários. <?php //A function to insert a comment into a comments table based on //the $comment parameter. //The database name is also a parameter function add_comment($comment,$database){ // Add a comment // As a security measure, escape any special characters in the user_name. $comment=mysql_real_escape_string($comment); // This is the SQL command $sql_insert = “INSERT INTO `comments` (body) VALUES (‘$comment’)”; // Select the database mysql_select_db($database); $success = mysql_query($sql_insert) or die(mysql_error( )); // print the page header print(‘ <html> <head> <title>Remove User</title> <link rel=”stylesheet” type=”text/css” href=”example.css” /> </head> <body> <div class=”comments”>’); // Check to see if the insert was successful if ($success){ // Tell the user it was successful print(“The comment $comment was inserted successfully.”); } else { // Tell the user it was not successful print(“The comment $comment could not be inserted. Please try again later.”); } // Print the page footer print(‘</div></body></html>’); } ?> Não se preocupe em entender precisamente o que está acontecendo no exemplo 1.1. A idéia é simplesmente perceber que existe código PHP, código do banco de dados e um link para um stylesheet. Para simplificar a manutenção de sites que contêm muitas páginas diferentes, mas que todas compartilham uma aparência semelhante, a cabeça e o pé da página podem ser colocados e incluídos em cada página PHP. Isso permite que mudanças sejam feitas na cabeça ou no pé em uma localidade que mude a aparência de cada página automaticamente. Isso libera o colaborador de ter que mudar cada página do website. Colaboradores PHP aprenderam que separar o código PHP do HTML pode facilitar a vida tanto de colaboradores quanto de usuários de negócios que saibam modificar HTML, mas que não conhecem PHP tão bem. Criando moldes de arquivos PHP separados que tenham placeholders como dados dinâmicos, você pode separar o markup HTML do código PHP. 8 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 9. O exemplo 1.2 mostra um exemplo de molde de arquivo utilizando o formato do motor de molde do Smarty. O motor do molde é requerido para substituir os valores no molde. Smarty é discutido no capítulo 10. Exemplo 1.2. Um molde Smarty PHP. <html> <head> <title>My Books</title> </head> <body> <p>Favorite Books:</p> <p> Title: {$title}<br /> Author: {$author} </p> </body> </html> When the template engine processes the page, the placeholders are replaced with their associated values, as shown in Example 1-3. Example 1-3. The resulting HTML code after template substitution and processing <html> <head> <title>My Books</title> </head> <body> <p>Favorite Books:</p> <p> Title: Java in a Nutshell<br /> Author: Flanagan </p> </body> </html> O resultado é que enquanto você soma outro arquivo ao mix, você tornou o markup de HTML mais fácil de ser lido, e o código PHP é menos desordenado com HTML estranho. Alguém que desenvolve a web que não é habilidosos com PHP pode modificar a aparência da página sem se preocupar com quebra do código PHP. O último tipo de informação mostrada aqui, CCS, também surgiu do desejo de separar os estilos de apresentação tais quais cor e espaçamento no conteúdo do núcleo. Cascading Style Sheets (CSS) suplementa HTML para oferecer a quem desenvolve a web e a seus usuários mais controle sobre a forma como suas páginas se apresentam. Designers e usuários podem criar stylesheets que definam como diferentes elementos, tais como cabeçalhos e links, apareçam no website. O termo cascading deriva do fato de que múltiplos stylesheets em diferentes níveis podem ser aplicadas a mesma página da web com definições herdando de um nível para o próximo. Para aplicar o código CSS, o código exemplo demonstrado é colocado na cabeça do seu arquivo HTML. Integrando diversas fontes de informação | 9
  • 10. <html> <head> <title>CSS Example</title> <style type=”text/css”> h4, b {color: #80D92F; font-family: arial; } p { text-indent: 2cm; background: yellow; font-family: courier;} </style> </head> <body> <h3>Learn how to use CSS on your web sites!</h3> <h4>It’s cool, it’s amazing, it even saves you time!</h4> <p>Isn’t this <b>nifty</b>?</p> </body> </html> No CSS, você pode ou designar uma cor nomeando-a, como fizemos aqui na designação do fundo, “fundo: amarelo”, ou você pode apontá-la através do código da cor, como fizemos aqui, “cor: #80D92F”. O código que começa com “estilo” é o código CSS. O documento rende como demonstrado na Figura 1.1. Apesar de incluirmos CCS no arquivo neste exemplo, poderia ter vindo de um arquivo separado, como ocorre no exemplo 1.1, no qual foi referido como user_admin.css. Para maiores informações sobre CSS, veja o Cascading Style Sheets: The definitive Guide (Cascading Style Sheets: o guia definitivo) de Eric Meyer (O’Reilly). Evidentemente, também possuímos os velhos arquivos HTML simples no mix. O markup HTML aplica etiquetas ao conteúdo para identificar informações que sejam de um tipo particular ou que necessitem de formatação especial. Etiquetas HTML são sempre postas entre os símbolos <> e não diferenciam maiúsculas de minúsculas; Figura 1-1. CSS e HTML exibiso no navegador 10 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 11. logo, não importa se você digita em caixa alta ou baixa (apesar de XHTML recomendar que se utilize caixa baixa). Mas na verdade, é uma questão de estilo. Nós usamos caixa alta em nossos websites para visualizarmos a HTML melhor e pormos um carro retorno entre cada linha de markup. Etiquetas geralmente ocorrem em pares de começo-e-fim. Estes pares se encontram na forma: <etiqueta> Isn´t this nifty?</etiqueta> A primeira <etiqueta> indica o começo de um par de etiquetas, e a última </etiqueta> indica o fim. Esse par completo de etiquetas é chamado de elemento. Qualquer conteúdo de um elemento tem as regras do elemento aplicadas a si. No exemplo anterior, o texto “learn how to use CSS on your web sites!” está contido em um elemento h3: <h3>Learn how to use CSS on your web sites!</h3> Também é um bom treino (e é exigido por XHTML) que suas etiquetas se aninharem de forma limpa para produzir elementos com limites claros. Sempre utilize etiquetas de finalização quando você atingir o final de um elemento, e evite ter pares de etiquetas que se sobreponham. (Ao invés de <b>bold<i>italic</i></b>, você deve fechar o código assim: </b></i>.) Em outras palavras, você deve abrir e fechar itens no mesmo nível. Portanto, se você abrir um bold e em seguida um itálico, você deve fechar primeiro o itálico, em seguida o bold. Requerendo Dados de uma página da Web Pode ser complicado entender como todas estas peças se integram. Quando um servidor web detecta um código PHP, ele vira a página para o intérprete de PHP. O servidor processa o arquivo PHP e envia o arquivo HTML resultante ao navegador. Se este resultado inclui um stylesheet de CSS externa, o navegador emite uma requisição separada para esse stylesheet antes de exibir a página. Processar PHP no servidor chama-se server-side processing (processamento do servidor por fora). Quando você requisita uma página, você desengatilha uma série de eventos. A Figura 1-2 ilustra essa interação entre seu computador e o servidor web, que é o anfitrião do web site. http://www.phone.com/directory.html 1 Your computer Web host 2 3 Request Request Web server process Internet Response Response 6 5 4 Word Hard disk Email Figura 1.2. Enquanto o usuário simplesmente digita uma URL e tecla Enter, existe uma série de passos que ocorrem por trás dos panos para atender a este requerimento. Requerendo dados de uma página da Web | 11
  • 12. Segue a avaria da Figura 1.2: 1. Você insere um endereço de uma página na barra de localização do seu navegador 2. Seu navegador divide este endereço e envia o nome da página ao servidor web. Por exemplo, http://www.phone.com/directory.html requer a página directory.html do endereço www.phone.com. 3. Um programa do servidor web, chamado web server process, leva o requerimento por directory.html e procura por este arquivo específico. 4. O servidor web lê o arquivo directory.html do HD do servidor web. 5. O servidor web devolve os conteúdos de directory.html ao seu navegador. 6. O seu navegador utiliza o markup de HTML que foi devolvido pelo servidor web para construir a capitulação da página da web na tela do seu computador. O arquivo HTML chamado directory.html (requisitado na figura 1.2) é chamado de página da web estática pois todos que requisitam a página directory.html acessam exatamente a mesma página. Para que o servidor web personalize a página devolvida, PHP e MySQL são adicionados ao mix. A figura 1.3 ilustra os passos extras que ocorrem na corrente de eventos do anfitrião da web. Cada passo da corrente é listado a seguir: http://www.plane.com/login.php 1 Your computer Web host 2 3 5 Request Request Web server 4 Hard disk Internet PHP 9 Response Response 6 interpreter 11 10 8 7 Word MySQL Email Figura 1.3. O intérprete PHP, MySQL e o servidor web cooperam no retorno da página. 1. Você insere um endereço de uma página na barra de localização do seu navegador. 2. Seu navegador divide este endereço e envia o nome da página para seu anfitrião. Por exemplo, http://www.phone.com/login.php requisita a página login.php do endereço www.phone.com. 3. O servidor web processa as respostas do anfitrião para login.php. 4. O servidor web lê o arquivo login.php no HD do anfitrião. 5. O servidor web detecta que o arquivo php não é simplesmente um arquivo HTML, 12 | Capítulo 1: Conteúdo Dinâmico e a Web
  • 13. portanto solicita um outro processador – o intérprete PHP – para processar o arquivo. 6. O intérprete de PHP executa o código PHP que ele encontra no texto que recebeu do processo do servidor web. Incluso neste código estão chamadas ao banco de dados MySQL. 7. PHP solicita que o banco de dados MySQL execute as chamadas do banco de dados. 8. O banco de dados MySQL processa respostas dos resultados da pesquisa do banco de dados. 9. O intérprete PHP completa a execução do código PHP com dados do banco e retorna os resultados ao processo do servidor web. 10. O servidor web retorna os resultados sob forma de texto HTML ao seu navegador 11. Seu navegador web utiliza os textos HTML para construir a página da web no seu monitor. Isso pode parecer uma série de passos, mas todo esse processo ocorre automaticamente cada vez que uma página da web com código php é solicitada. Aliás, este processo pode ocorrer diversas vezes em uma única página, já que uma página pode conter arquivos de imagem e a definição CSS, que devem ser todas recuperadas pelo servidor web. Ao desenvolver páginas da web dinâmicas, você trabalha com uma série de variáveis e componentes do servidor, que são todos importantes para que se tenha um site atraente, fácil de navegar e de se manter. No capítulo 2 nós demonstramos como instalar as três maiores rodas necessárias ao funcionamento disso tudo: Apache, PHP e MySQL. Requerendo dados de uma página da Web | 13
  • 14. Questões sobre o capítulo 1 Questão 1.1 Quais são os três elementos dos quais você precisa para construir uma página da web dinâmica? Questão 1.2 O que Apache utiliza para carregar extensões? Questão 1.3 O que significa SQL (em MySQL)? Questão 1.4 Para que os símbolos “<>” são utilizados? Questão 1.5 O que faz o Intérprete de PHP? Veja a seção do “Capítulo 1” no Apêndice para obter as respostas das perguntas. 14 | Capítulo 1: Conteúdo Dinâmico e a Web

×