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