Terça-feira, 14 de Agosto de 2007

Lista de Exercícios Nº 1

Resolva os exercícios abaixo. No próximo post estaremos colocando as respostas destes exercícios.

Exercício 1

Modifique o exemplo 1 do post sobre estruturas de repetição para que o conteúdo gerado pela página fique fora do bloco PHP intercalando as estruturas de controle do exemplo.


Exercício 2

Crie um script usando laço FOR e WHILE que escreva um mesmo texto em cada linha com tamanhos de fonte diferentes. Para isso tome como base a seguinte tag HTML <font size=”x”> Texto </font>, onde x varia de 1 a 7


Exercício 3

Considere duas variáveis, $linha e $coluna, no início de um script, inicializadas pelo programador com quaisquer valores. Crie um script que crie uma tabela HTML de $linha linhas e $coluna colunas e dentro de cada célula informe as coordenadas da mesma.

Quinta-feira, 9 de Agosto de 2007

Estruturas de Controle - Parte II - Estruturas de Repetição

Neste post, irei falar um pouco sobre as estruturas de controle usadas para repetição e o uso delas quando embutidas no HTML.

Exemplo 1 - Estruturas de Repetição WHILE/FOR
Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "estrutura_repeticao" dentro do diretório c:\webroot. Dentro desta pasta salvamos este primeiro exemplo, com o nome "exemplo1.php". Desta forma, o caminho completo do arquivo é "c:\webroot\estrutura_repeticao\exemplo1.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/estrutura_repeticao/exemplo1.php .

Bem, agora vamos ao que importa saber deste exemplo. A estrutura segue as mesmas regras estabelecidades, sintaticamente falando, para a estrutura de decião IF/ELSE. Com isso, caso haja apenas um comando a ser executado, tanto o FOR, quanto o WHILE, não necessitam do uso de chaves. Caso haja mais de um comando, o uso de chaves é obrigatório.

Da mesma forma que nas estruturas IF/ELSE também, pode-se fazer com que as estruturas deste exemplo sejam abertas num bloco PHP e fechados em outro. Isto permite fazer com que o bloco repita um mesmo trecho em HTML localizado entre os blocos do comando correspondente. No próximo post, estarei colocando um exercício a respeito.

O comando FOR necessita, em sua estrutura, de 3 argumentos (linha 4) separados por ";". Respectivamente, estes argumentos representam a situação inicial da variável a ser testada, a condição de repetição e uma operação a ser usada para o incremento.

Já o comando WHILE, em sua estrutura, necessita apenas de um argumento (linha 12). Este argumento corresponde ao segundo argumento do FOR, ou seja, corresponde à condição de repetição. Em geral, o programador deve controlar os outros dois argumentos não presentes nesta estrutura fora da estrutura WHILE. Em geral, a situação inicial da variável vem logo acima da estrutura WHILE (linha 11) e a operação de incremento vem dentro do bloco WHILE, como um dos últimos comandos (linha 15).

O interessante também é saber o uso dos comandos "break" e "continue", muito utilizados dentro de estruturas de repetição. Esses comandos, inclusive, podem ser utilizados dentro de qualquer estrutura de repetição.

O comando "continue", se executado, automaticamente passa o controle para a próxima repetição, sem executar qualquer trecho de código abaixo dele no laço correspondente. Já o comando "break", se executado, interrompe toda a execução e passa o controle pro código logo abaixo da estrutura que o chamou.

O exemplo acima imprime na tela repetições de 0 a 9. O que acontece se tiramos os comentários das linhas 5 e 13? No post de resposta dos exercícios, iremos colocar os comentários.


Exemplo 2 - Estrutura de Repetição FOREACH

Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "estrutura_repeticao" dentro do diretório c:\webroot. Dentro desta pasta salvamos este exemplo, com o nome "exemplo2.php". Desta forma, o caminho completo do arquivo é "c:\webroot\estrutura_repeticao\exemplo2.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/estrutura_repeticao/exemplo2.php .

Neste exemplo, usaremos a estrutura de repetição FOREACH. Esta estrutura é utilizada para leitura de elementos de um vetor. Como no PHP os vetores não são necessariamente ordenados, não podemos "varrê-los" com estruturas FOR ou WHILE, somente em caso de serem ordenados.

O código acima mostra as duas maneiras de utilização da estrutura. A primeira realiza a iteração buscando apenas os elementos do vetor (linha 9). Já o segundo exemplo disponibiliza não só os elementos a cada laço, mas também os índices (linha 15).

A estrutura FOREACH segue sintaticamente os mesmos aspectos mencionados nas estruturas de controle de exemplos anteriores. Ou seja, não obrigatoriedade de chaves com um comando e a possibilidade de se abrir a estrutura em um bloco PHP e fechá-la em outro bloco PHP, permitindo a inclusão de HTML entre estes blocos, bem como o uso de "continue" e "break".

No primeiro FOREACH, há a expressão dentro do parentese utilizada para recuperação apenas do elemento: primeiro colocamos o vetor a ser iterado (repetido) seguido da palavra "as" e de uma variável, cujo nome será de nossa responsabilidade. No exemplo, colocamos "$valor". Esta variável, a cada laço, terá como valor o elemento correspondente do vetor, até que se chegue no final do vetor e todos os elementos sejam processados.

No segundo FOREACH, recuperamos ainda o valor do índice. Para isso, após a palavra reservada "as", incluimos duas variáveis separadas pelo operador "=>" (linha 15). O nome de ambas é responsabilidade também do programador. A primeira representará no laço o índice e a segunda representará o valor do elemento correspondente ao índice. Desta forma, teremos uma "varredura" em todos os elementos do vetor, só que também tendo acesso ao índice do vetor.

Existem outras estruturas de repetição e formas de execução. Para saber mais sobre estruturas de controle em PHP, acesse o assunto no manual do PHP.

Para fazer o download dos arquivos deste post, clique aqui.

No próximo post sobre PHP, aprenderemos a trabalhar com formulários HTML, pois através deles que é feita a entrada de dados no PHP. Antes haverá um post com exercícios sobre o que vimos até o momento.

Segunda-feira, 6 de Agosto de 2007

Estruturas de Controle - Parte I - Estruturas de Decisão

Neste post, irei falar um pouco sobre as estruturas de controle usadas para decisão e o uso delas quando embutidas no HTML.

Exemplo 1 - Estruturas de Decisão IF/ELSE
Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "estrutura_decisao" dentro do diretório c:\webroot. Dentro desta pasta salvamos este primeiro exemplo, com o nome "exemplo1.php". Desta forma, o caminho completo do arquivo é "c:\webroot\estrutura_decisao\exemplo1.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/estrutura_decisao/exemplo1.php .

Bem, agora vamos ao que importa saber deste exemplo. A estrutura de decisão IF/ELSE é uma estrutura simples que, de acordo com uma condição, executa um ou outro bloco de comandos. Algumas particularidades precisam ser respeitadas no que diz respeito a essa estrutura. O uso de parenteses, por exemplo, é obrigatório. Cada bloco, considerando tanto IF quanto ELSE, deverão usar chaves para agrupar os comandos. A única maneira de não usar chaves em um dos blocos é ter um comando apenas a ser executado após a decisão de qual bloco seguir.

Neste exemplo, temos a variável $idade. De acordo com o valor dela, podemos já perceber um certo dinamismo na página, ou seja, conteúdos diferentes sendo escritos pela mesma página. Altere o valor da variável $idade de tal forma que as duas possibilidades de escrita sejam executadas. Como ainda não aprendemos a entrar dados para scripts PHP, essa é a melhor solução.

Neste exemplo, também mostramos duas formas de se executar um IF/ELSE em PHP. Uma seria a forma tradicional (iniciada na linha 4) e a outra é a forma em que podemos embutir no HTML (linha 14). Esta última forma permite que o programador abra um IF em um bloco PHP e termine em um bloco posterior, o mesmo valendo para o ELSE. Isto permite que entre estes blocos o programador coloque código HTML de forma mais tradicional, sem ter que usar o comando "echo" do PHP.


Exemplo 2 - Estrutura de Decisão SWITCH e IF/ELSEIF/ELSE

Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "estrutura_decisao" dentro do diretório c:\webroot. Dentro desta pasta salvamos este exemplo, com o nome "exemplo2.php". Desta forma, o caminho completo do arquivo é "c:\webroot\estrutura_decisao\exemplo2.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/estrutura_decisao/exemplo2.php .

Neste exemplo, vamos introduzir duas novas estruturas de decisão: O SWITCH e uma variação do IF/ELSE, o IF/ELSEIF/ELSE. Estas estruturas tem como objetivo avaliar e decidir entre várias possibilidades e não apenas duas como no caso do IF/ELSE.

A estrutura SWITCH (linha 5) serve para avaliar o valor de uma expressão. Em nosso exemplo, ele avalia o valor da variável $estacao. A expressão deverá sempre ser acompanhada do uso de parenteses. O uso de chaves também é obrigatório. A estrutura SWITCH é compostas de CASEs. Cada CASE é responsável por uma possibilidade. Os comando então são executados até que um BREAK seja encontrado. Por opção do programador, também pode ser colocado, caso nem um CASE seja executado, um DEFAULT (linha 18), que será executado sempre que nem um dos cases seja satisfeito. Esta estrutura não é obrigatória.

Já a estrutura IF/ELSEIF/ELSE nos permite várias possibilidades também. A diferença é que a estrutura IF/ELSEIF/ELSE avaliam também outros tipos de expressões, usando outros operadores, como >, <, !=, %, etc. Já o SWITCH apenas se utiliza da igualdade. No nosso exemplo, as duas estruturas (SWITCH e IF/ELSEIF/ELSE) resolvem o mesmo problema. TOda estrutura SWITCH pode ser convertida em IF/ELSEIF/ELSE mas o contrário NEM SEMPRE acontece. O IF e ELSEIF funcionam como se fossem um CASE, sendo que o ELSE funciona como um DEFAULT, fazendo uma analogia entre as duas estruturas.

Para saber mais sobre expressões em PHP, acesse o assunto no manual do PHP.

Para saber mais sobre operadores em PHP, acesse o assunto no manual do PHP.

Existem outras estruturas de decisão e formas de execução. Para saber mais sobre estruturas de controle em PHP, acesse o assunto no manual do PHP.

Para fazer o download dos arquivos deste post, clique aqui.

No próximo post falaremos sobre as estruturas de controle em PHP.

Quarta-feira, 1 de Agosto de 2007

Tipos de Dados

Neste post, irei falar um pouco sobre tipagem de dados em PHP, de forma que o leitor possa ter uma visão geral de como funciona na linguagem.

Exemplo 1 - Tipos de Dados Básicos
Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "tipo_dados" dentro do diretório c:\webroot. Dentro desta pasta salvamos este primeiro exemplo, com o nome "exemplo1.php". Desta forma, o caminho completo do arquivo é "c:\webroot\tipo_dados\exemplo1.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/tipo_dados/exemplo1.php .

Bem, agora vamos ao que importa saber deste exemplo. Primeiro, no PHP, não há necessidade de se declarar variável. O tipagem é feita em tempo de execução. Além disso, por ser uma linguagem fracamente tipada, não há a necessidade de conversão entre os tipos de dados nas operações que são feitas ao longo de seu programa. Podemos, por exemplo, somar uma string com um número inteiro e o resultado poderá ser um booleano.

De início, isso pode assustar um pouco. Mas o que acontece é que o interpretador PHP verifica a operação e faz as conversões de forma automática. Isso quer dizer que se estivermos somando duas variáveis, elas necessariamente devem ser de um tipo númerico. Portanto, antes de executar a operação, o PHP transforma estas variáveis para o tipo númerico.

De posse desta informação, algumas transformações devem ser percebidas pelo programador. Por exemplo, algumas regras para transformação de variáveis para o tipo booleano são consideradas no PHP. O inteiro 0(zero), o Float (0.0), string vazia ("") ou a string "0", são automaticamente reconhecidas como false. Outras valores são encarados como true.

Por padrão, o PHP possui 4 tipos básicos de acordo com nosso exemplo: String, Inteiro, Flutuante e Booleano. Existem outros tipo básicos que comentaremos ao longo dos post mais avançados do Blog. Mas para inicio de conversa isso basta.

Outra dica: às vezes abrimos o código PHP simplesmente para imprimir o conteúdo de uma variável. Quando isto ocorrer, podemos usar a seguinte tag"<?= ?>". Este sinal de igual (que deve ser colado na interrogação) serve para imprimir o valor de uma expressão apenas. Ou seja, caso seja necessário imprimir uma variável ou expressão, podemos usar este tipo de abordagem.

Vamos aos poucos também comentando sobre o HTML e suas tags. No exemplo acima, temos uma tabela com borda 1. A tag <TABLE> permite a criação de uma tabela. A tag <TR> cria uma linha dentro da tabela. <TH> e <TD> criam colunas sendo que <TH> é uma coluna de cabeçalho e <TD> uma coluna normal.


Exemplo 2 - Tipos de Dados Vetor

Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "sintaxe_basica" dentro do diretório c:\webroot. Dentro desta pasta salvamos este exemplo, com o nome "exemplo2.php". Desta forma, o caminho completo do arquivo é "c:\webroot\tipo_dados\exemplo2.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/tipo_dados/exemplo2.php .

Neste exemplo, vamos perceber como é simples trabalhar com vetores em PHP. Vetores nada mais são do que estruturas hash (chave, valor). Não há a necessidade de se criar vetores ordenados nem iniciando de algum valor, como o ZERO por exemplo. A ordem de criação dos elementos do vetor é a tomada como base para identificar a ordem dos elementos.

O vetor acima possui 5 elementos. Este exemplo mostra as duas maneiras que temos de se criar vetor. A primeira é atribuindo a uma variável indexada um valor (linha 3). A partir deste momento, já se tem um vetor criado em memória cujo índice é 10 e valor "Curso PHP". A pergunta é: ao se criar este primeiro elemento, quantos elementos tem o meu vetor? Muita gente poderia imaginar a resposta como sendo 11, considerando o início do vetor do zero, sendo que apenas o vetor de índice 10 estaria preenchido. Mas não! Como dito anteriormente, estruturas de vetor não seguem uma ordem pré-definida. A ordem de criação é que conta. Portanto, considerando apenas a linha 3, o vetor tem apenas 1 elemento.

Isso vale até a finalização do vetor. O segundo elemento criado (linha 4 ), possui como índice o número 4. Porém, o primeiro elemento do vetor continua sendo o de índice 10, mesmo que este índice seja superior ao índice 4. Batemos mais uma vez nesta tecla: a ordem de criação é a ordem interna do vetor.

Outra informação útil de se saber, é que os índices de um vetor não precisam ser necessariamente numéricos (linha 5). Eles podem variar, dentro de um mesmo vetor, entre números e strings nas chaves. Vale ressaltar que não há um número associado ao índice no formato String. No caso da linha 5, o índice é "altura" e pronto.

Outra dica é quando criamos um vetor sem especificar o índice do mesmo (linha 6). Um índice numérico é criado automaticamente. A regra para criação do índice é a seguinte: último número inteiro já criado anteriormente mais 1. Caso não tenha sido criado nenhum índice numérico anteriormente, o índice ZERO é atribuído ao elemento do vetor. Em nosso exemplo, qual seria o índice do elemento da linha 6? A resposta é 5.

A segunda maneira de se criar um vetor é usando o construtor de linguagem (language constructor) "array". Nele você coloca o indice e valor, separados por vírgula. A associação entre índice e valor é feito pelo operador "=>". Caso não se coloque o operador, estaremos criando o elemento apenas e o índice é dinâmico seguindo a regra mencionada anteriormente.

Por fim, usamos a função print_r para imprimir na tela todo o conteúdo do vetor, incluindo seus índices. Função boa para depurar o par índice/valor de um vetor.

 

Para saber mais sobre Tipos de Dados, acesse o manual do PHP.

Para fazer o download dos arquivos deste post, clique aqui.

No próximo post falaremos sobre as estruturas de controle em PHP.

Segunda-feira, 30 de Julho de 2007

Sintaxe Básica do PHP

Bem...a partir deste post iremos criar nossos primeiros scripts em PHP. Antes de iniciar com a sintaxe básicas e primeiros exemplos, vou citar alguns editores utilizados para editar código PHP.

O mais famoso e poderoso, na minha opinião, é o Zend Studio. A única desvantagem é que a ferramenta é proprietária. Mas em compensação, existe o PDT (PHP Development Tools) que nada mais é do que o Eclipse preparado para programação Web com PHP. Mas para nossos exemplos principalmente iniciais, sugiro um editor bem básico mesmo, como o Notepad ++.

Agora vamos ao nosso primeiro exemplo:

Exemplo 1 - Colocando HTML com PHP
Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "sintaxe_basica" dentro do diretório c:\webroot. Dentro desta pasta salvamos este primeiro exemplo, com o nome "exemplo1.php". Desta forma, o caminho completo do arquivo é "c:\webroot\sintaxe_basica\exemplo1.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/sintaxe_basica/exemplo1.php .

Bem, agora vamos ao que importa saber deste exemplo. Sabemos que o PHP é uma linguagem embutida no HTML, servindo para gerar HTML de forma dinâmica. Desta forma, há a necessidade de se separar código PHP de código HTML. Esta separação é feita pelas tags "<? ?>". Todo código PHP necessariamente deverá ficar dentro destas tags, e somente estes códigos serão interpretados pelo servidor. Os demais serão retornados normalmente.

Note que o comando "echo" serve para imprimir na tela. Observe também que dentro da string executada pelo comando também existe código HTML. Portanto, existem basicamente duas formas de gerar conteúdo HTML através de um script PHP. Uma delas é deixando o código HTML fora das tags do PHP. A outra, de dentro do bloco PHP, somente com um comando de saída de string, como o "echo".

Ainda, todo comando PHP termina com ";". Isto permite que um comando inicie numa linha e termine na outra. Em outros posts veremos exemplos disso.

Este exemplo imprime na tela a frase "Bem-vindo ao curso de PHP!" em negrito (escrito pelo HTML fora do código PHP) e itálico (Escrito pelo "echo" do bloco PHP) mostrando as duas formas básicas de gerar HTML.


Exemplo 2 - Uso de Variáveis

Comentários:

Levando em consideração a instalação feita a partir do segundo post deste Blog, vamos criar uma pasta com o nome "sintaxe_basica" dentro do diretório c:\webroot. Dentro desta pasta salvamos este exemplo, com o nome "exemplo2.php". Desta forma, o caminho completo do arquivo é "c:\webroot\sintaxe_basica\exemplo2.php".

Para acessar o arquivo através de um navegador, digite no mesmo a seguinte URL: http://localhost/sintaxe_basica/exemplo2.php .

Neste exemplo, inicialmente mostramos as 3 formas de comentários em PHP. A primeira delas é a forma que temos de criar comentários multilinhas, iniciando /* e finalizando com */. As outras duas formas são comentários de uma linha e são o "//" e o "#".

O bloco de comandos em PHP também pode vir com as tags "<?php ?>". Esta forma muitas vezes é melhor para não confundir com arquivos XML. Mas o "php" deve ser colado na "?" para funcionar.

Toda variável em PHP começa com um "$". Neste exemplo, temos a variável $nome. O tipo de dado também é dinâmico e decidido em tempo de execução. As variáveis devem sempre começar por caracteres alfanuméricos ou "_". Nunca iniciar as variáveis com números.

Em uma string, pode ser usado tanto aspas duplas quanto aspas simples. No caso de se usar aspas duplas, você pode colocar a variável dentro da string que o valor dela é substituído, já que as variáveis possuem um "$" (linha 13). Isto facilita. Porém, na hora de usar aspas simples, essa transformação não ocorre (linha 14).

Caso você queira, mesmo usando aspas duplas, não substituir o valor da variável, você deve adicionar um slash (\), ou seja, uma barra invertida antes do "$" (linha 15). E caso queira, usando aspas simples, usar o valor da variável, só concatenando mesmo. Para concatenar strings no PHP usa-se o ponto (.).

Para saber mais sobre Sintaxe Básica da linguagem, acesse o manual do PHP.

Para fazer o download dos arquivos deste post, clique aqui.

No próximo post falaremos sobre os tipos de dados em PHP.

Instalando Apache e PHP no Windows

Neste post, serão instalados o servidor Web Apache e o PHP. Além de configurar o servidor Web para que reconheça as páginas em PHP, pois o mesmo por si só não interpreta páginas PHP.
  • Instalando e Configurando o Apache (Servidor Web)
O arquivo de instalação do Apache poderá ser baixado diretamente de seu site http://httpd.apache.org. Este guia de instalação irá utilizar a versão 2.0.xx do Apache para preparação de nosso ambiente. Se preferir, o link direto para download se encontra aqui. A instalação é simples e segue basicamente o aperto constante do botão NEXT. Abaixo serão exibidas as telas onde alterações serão feitas durante a instalação. Preencha conforme os dados acima. Estes campos indicam sua rede e colocando os dados acima (localhost) sempre funcionará. Lembrando também que o Apache rodará na porta 80. Quando aparecer acima, escolha a opção CHANGE. A mudança é para que o diretório de instalação seja o raiz, facilitando o acesso à estrutura de arquivos do Apache, conforme as duas figuras abaixo. Desta forma, proceda normalmente clicando nos valores padrões da instalação. Isso fará com que seu Apache seja instalando, tanto os binários quanto os serviços. Para saber se a instalação ocorreu normalmente, abra seu navegador e acesse a url http://localhost conforme figura abaixo. Se esta tela aparecer, parabéns! Seu Apache está instalado corretamente. Agora iremos configurar o Apache, padronizando algumas diretivas de configuração de acordo com nossa necessidade. Para isso, abrimos o arquivo de configuração do Apache. Este arquivo está sempre localizado no diretório “conf” da instalação do Apache. Em nosso caso será “C:/Apache2/Conf”. O nome do arquivo de configuração do Apache é httpd.conf. Em alguns casos, dependendo da sua configuração do Windows, apenas "httpd" será exibido. A extensão ".conf" poderá estar oculta devido a esta configuração. Abra este arquivo. Vamos modificar inicialmente 2 diretivas de configuração apenas: o DocumentRoot e o DirectoryIndex. Localizando a primeira diretiva no arquivo encontramos o seguinte valor para esta diretiva, conforme primeira figura abaixo. Esta diretiva significa o local(diretório) dentro do nosso sistema de arquivos onde devemos gravar as páginas HTML e PHP. Vamos modifica-la para “C:\webroot” conforme a segunda figura abaixo. Não esqueça de criar o diretório "webroot". A próxima diretiva que modificaremos é DirectoryIndex. Esta diretiva informa quais páginas serão acessadas por padrão caso não sejam colocadas no navegador. Ou seja, se digitarmos apenas http://localhost/ sem colocar nenhuma página, o servidor procurará e exibirá as páginas na ordem em que encontrar na diretiva. As figuras abaixo mostram, respectivamente, o valor padrão da diretiva e o valor alterado por nós. Depois da alteração, salve o arquivo e reinicie o Apache. Para reiniciar, basta usar o ícone localizado ao lado do relógio do Windows referente ao Monitor do Apache. Duplo clique nele abrirá a janela abaixo. Só clicar em "restart" que as alterações entrarão em vigor.
  • Instalando e Configurando o PHP 5
Agora vamos instalar e configurar o PHP. É mais simples ainda pois não necessita de instalação de um programa executável. Você pode fazer o download do site http://www.php.net ou baixar diretamente clicando aqui. Iremos também configurar o PHP em modo CGI, pois a instalação é mais simples e não há a necessidade de se copiar arquivos de um diretório para outro. A outra forma de instalar o PHP é como módulo do Apache, que torna a aplicação mais rápida, pois o PHP fica "embutido" dentro do servidor Web, além de ser mais segura. Porém, como estaremos montando um servidor de desenvolvimento, a facilidade de instalação compensa esta segurança, não tão importante no ambiente pessoal de desenvolvimento. Mas é sempre bom estar por dentro. Para instalar basta abrir o arquivo ZIP e descompactar na pasta “C:/php”. Ao extrair usando algum programa descompactador, você já está com o PHP instalado, faltando apenas configura-lo. O PHP assim como o apache possui um arquivo de configuração. Este arquivo é chamado “php.ini” e deve ficar na pasta raiz do PHP(C:/php). Porém, este arquivo, ao descompactar o php, vem em duas versões pré-configuradas: o “php.ini-dist” e o “php.ini-recommended”. Iremos usar nesta instalação o “php.ini-dist” já que o "recommended" é recomendável para ambientes de produção, que não é nosso caso. Então renomeie o arquivo “php.ini-dist” para “php.ini” e abra-o. Assim como no Apache, o php.ini também possui diretivas. Neste momento, iremos modificar apenas uma: extension_dir. Esta diretiva significa em que diretório estarão armazenadas as dll de outras funções que não são nativas do PHP, como por exemplo, o MySQL. Abaixo, o valor padrão e o valor modificado, respectivamente, sendo representados pelas figuras abaixo. Para finalizar, como nos próximos posts faremos o uso do banco de dados MySQL, já iremos deixar o php preparado para o uso das funções que manipula a mesma. Para isto, basta localizarmos no "php.ini" a linha mostrada na figura abaixo, retirando o ";". Com isso, estamos habilitando o uso das funções do MySQL, que serão utilizadas neste blog em futuros posts, conforme mencionado acima. Com isso, salvamos o arquivo “php.ini”. Neste momento já temos o PHP instalado juntamente com o Apache, mas ainda não temos o Apache reconhecendo páginas PHP. Para que isso ocorra devemos adicionar 3 linhas no final do arquivo “httpd.conf” conforme figura abaixo. Salvamos o arquivo “httpd.conf” e reiniciamos o Apache novamente. Para testarmos se o PHP realmente está sendo reconhecido pelo Apache, vamos criar um arquivo chamado “index.php” e salva-lo dentro do diretório “c:\webroot”. O conteúdo deste arquivo será: <? phpinfo(); ?> Depois, basta abrir o navegador e digitar o endereço http://localhost/ e verificar se o resultado da página é semelhante ao da figura abaixo.

Se isso ocorrer, nosso ambiente está totalmente preparado. Agora vamos começar a criar nossos primeiros scripts PHP nos próximos posts.

Introdução à Arquitetura Web

O desenvolvimento de Aplicações Web difere do desenvolvimento tradicional de Aplicações Desktop. No ambiente Desktop, existe um programa executável, rodando na memória do computador juntamente com sua interface gráfica e seus comandos e variáveis. Já no ambiente Web isso não ocorre justamente pelo fato de que não existe um programa em memória e sim requisições HTTP. Os conjuntos dessas requisições formam o programa.
Contudo, um motivo faz com que as Aplicações Web tenham uma atenção especial: a linguagem HTML. Ela é uma linguagem de marcação de hipertextos usada pelos navegadores de Internet responsável por apresentar o conteúdo na tela. Através dela criam-se links, tabelas, colocam-se imagens, enfim, alteramos todo o desenho do site e parte estrutural. Porém, a linguagem HTML não é uma linguagem de programação! Ela não possui estruturas de controle (IF/ELSE/WHILE), não possui mecanismos de acesso a bancos de dados, arquivos textos, sockets, enfim, tudo que uma linguagem de programação moderna possui. Como construir então Aplicações Web ? Ai, surgem as linguagens de script no lado do servidor (Server-Side) que, embutidas no HTML, suprem a carência da linguagem em termos de estrutura de controle, acesso a bancos de dados, etc. Entre as linguagens conhecidas temos PHP, ASP, Cold Fusion, JSP, entre outras. A grande dificuldade de quem entra no mundo da programação para a internet é entender este limiar entre a linguagem HTML e a linguagem Server-Side que no nosso caso será o PHP. Este limiar será bastante discutido ao longo deste blog. A figura 1 mostra como funciona uma requisição HTTP.
Figura 1
Abaixo um quadro comparativo das características da programação para internet e desktop.

Característica

Aplicação Web

Aplicação Desktop

Programa

Baseado em Requisições

Presente na memória

Interface Gráfica

HTML

Própria linguagem de Programação

Escopo das Variáveis

A cada requisição

Enquanto programa estiver aberto

Instalação/Atualização

Somente no Servidor

Em todas máquinas que usam

Segurança dos Dados

Programador

Presente na Linguagem