O php é uma linguagem de programação para ambiente web ou seja com ela, você pode desenvolver aplicações que possam ser acessadas via browser (netscape,internet explorer, opera, etc).
Essas aplicações podem ser usadas tanto para comercio eletrônico(internet) como em aplicações de menor abragência como um sistema de controle de estoque de uma empresa (intranet), por exemplo.
O php hoje tem despontado como uma das linguagens de progamação para web mais aceitas pela sua alta performance, desbancando gigantes como ASP(microsoft) e JSP(sun).
O php diferentemente das outras linguagens citadas acima não é compilada, ou seja não podemos gerar um codigo executável, suas instruções devem ser interpretadas por um software que geralmente é um servidor web com suporte a php. Os scripts em php devem gerar páginas que possam ser entendidas pelo browser.
Interface com SGBD's: O php tem sido usado com sucesso com uma grande gama de SGBD's por exemplo: Oracle, postgres, mSQL, MySQL, Sysbase,Interbase dentre outros.
Portabilidade: O php tambem tem sido usado em diferentes sistemas operacionais tais como windows 95/98/NT, linux, solaris e outros sistemas UNIX.
Aplicações mais leves: Uma vez que o php é um módulo do servidor web isso faz com que os scripts php gastem uma quantidade menor de recursos do servidor, que scripts cgi por exemplo.
Antes de conhecer um pouco melhor os comandos do php, se faz necessário neste momento, algum esclarecimento sobre o php junto com o html, para que possamos praticar os nossos exemplos.
Tudo que o browser consegue entender são tags html ou alguma linguagem script(como javascript por exemplo), a linguagem javascript assim como o html fogem do escopo deste tutorial, sendo assim, veremos só o que é necessário para que possamos praticar nossos exemplos.
Em html existem algumas tags que são obrigatórias nas páginas que serão geradas pela nossa aplicação php são elas:
<html> - abre uma pagina html
</html> - fecha uma pagina html
<title> - abre uma seção de título, o texto que é exibido na barra título do nosso browser
</title> - fecha uma seção de título
<body> - início do corpo da página, tudo que deve ser mostrado na página deve ser colocado após essa tag e antes da tag </body>.
Então vamos a nosso primeiro programa php, um programa simples que escreve a palavra TESTE no browser, chamaremos este de teste.php e deve ser colocado no diretório public_html no diretório raiz (/home/desenv/public_html/) do usuário desenv:
Exemplo 2-1. Primeiro programa em PHP
<? echo "<html>"; echo "<title>Título</title>"; echo "<body>"; echo "<br>TESTE"; echo "</body>"; echo "</html>"; ?>
Para que você possa verificar o resultado basta acessar a URL http://localhost/~desenv/teste.php em seu browser
Pode ser muito complicado e pouco prático utilizar o comando echo em toda tag que se quer passar para o browser, sendo assim é possivel usar um script em php embutido no html. Isso é possível pois o servidor web apenas interpretará o código php que estiver entre os delimitadores <? ?> , sendo assim podemos reescrever o código acima como:
Exemplo 2-2. Segundo programa em PHP
<html> <title>Título</title> <body> <br> <? echo "TESTE"; ?> </body> </html>
Perceba que é mais interessante escrevermos um script embutido em uma página html, pois podemos editar a página em html em um editor como o BlueFish que acompanha o Kit do Desenvolvedor PHP Lite e apenas na área que desejamos incluímos o script php para gerar os dados dinamicamente. Note que se incluírmos ao invés do comando:
echo "TESTE";
substituirmos por:
echo "A hora neste instante é: date();";
Teremos uma página dinamicamente gerada com a data e hora no momento que acessarmos
O PHP é uma linguagem estruturada assim como é o C, PASCAL entre outras. A sintaxe de seus comandos é semelhante à linguagem C. Em php os comandos devem ser limitados por ponto-e-vírgula, por exemplo:
Blocos de comandos e funções são delimitados por { e }.
As variáveis declaradas devem ser precedidas de $, por exemplo:.
Os valores literais são valores estáticos que podem ser direcionados direto pela saída do php. Exemplo:
São valores amplamente utilizados em qualquer linguagem de programação para o cálculo de fórmulas matemáticas, esses são geralmente exibidos em sua forma decimal mas podem ser expressos em outras bases tambem tais com octal(base 8) e hexadecimal(base 16).
Mas especificamente texto, ou seja cadeias de caractere que devem ser delimitadas com caracteres especificos para esse propóosito.
Esses caracteres delimitadores podem ser:
aspas simples : 'texto'
aspas duplas : "texto"
aspas invertidas: `texto`
Os textos delimitados por aspas duplas podem receber caracteres de controle - diferentemente dos delimitados por aspas simples - que podem servir para impressão de caracteres que são reservados da linguagem ou para formatação do texto a ser impresso exemplo:
Note a existência do caracter de barra invertida (\) antes do sinal de cifrão ($). Isto se faz necessário uma vez que o cifrão é um caracter reservado à linguagem PHP para declaração de variáveis.
Segue abaixo algumas sequencias de controle
Tabela 2-1. Sequencias de Controle
Sequencias de controle | Efeito |
\t | insere um tab |
\n | nova linha |
\$ | imprime $ |
\\ | imprime \ |
Existem outras sequencias de controle para maiores informações consulte o Manual do PHP que faz parte do Kit do Desenvolvedor PHP.
Com aspas duplas você tambem pode exibir o conteúdo de variáveis, assunto que veremos mais adiante, no meio dos seus textos. Por exemplo:
Exemplo 2-7. Exibindo conteúdo de variável
$valor = 4,00; echo "custo total R\$ $valor";
isso ira imprimir : custo total R$ 4,00
Com aspas invertidas você consegue executar comandos do sistema operacional direto do seu programa.
As vezes se faz necessário a definição de valores que não sejam alterados durante a execução de um programa, esses valores são chamados de constantes.
Em php você pode definir constantes apartir da função define().
Exemplo 2-9. Definindo uma constante com a função define()
define("c", 300.000); echo "a velocidade da luz é ?.c.? Km/s";
isso irá imprimir:
a velocidade da luz é 300.000 Km/s
Variáveis tem por função armazenar dados que serão posteriormente recuperados e processados em alguma expressão. Lembrando que as variáveis devem ser precedidas de $.
após a execução das instruções acima o valor em $c será igual à 62,8.
As variáveis devem ser inicializadas antes de serem usadas em qualquer expressão, a linguagem PHP tem alguns tipos de dados que podem ser usados para inicializar variáveis, são eles:
Numéricos
São valores que podem ser inteiros, de ponto flutuante, hexadecimal, etc.
Exemplo 2-11. Tipo de dados numérico
$inteiro = 10; $real = 10.001; $nd = 10.0e-2; // 100 em notação decimal
Strings
São textos delimitados por aspas simples ou duplas, e podem também conter caracteres de controle.
Arrays
Existem alguns tipos de variáveis que podem conter mais de um dado. À estas variáveis é dado o nome de arrays, a linguagem PHP implementa bem a ideia de array.
Exemplo 2-13. Tipo de dados array
$a[1] = 10; $a[2] = 20; $a = array(10,20); $a = array(0 => 10, 1 => 20);
OBS.: O índice do primeiro elemento do array é 0 (zero).
O php dispõe de algumas funções que podem simplificar a vida de quem trabalha com array, são funções para ordenar e contar o número de elementos do array. Vejamos algumas dessas funções:
count(),sizeof() -- retorna o número do array
sort() -- ordena um array
rsort() -- ordena um array na ordem inversa
São usados para executar operações aritméticas com operandos os quais podem ser variáveis, constantes ou literais.
Os operadores são:
Tabela 2-3. Operadores Booleanos
operador | exemplo | descrição |
&& | $a && $b | verdadeiro se a e b forem verdadiros |
|| | $a || $b | verdadeiro se a ou b forem verdadiros |
! | !$a | verdadeiro se a for falso |
obs.: se o valor de uma variável numérica é zero essa é considerada falsa quando usada em operações lógicas, se uma variável string é vazia ela é tambem considerada falsa.
Às vezes se faz necessário atribuir valores à determinadas variáveis. Nesse caso nós podemos usar operadores de atribuição.
Os operadores de comparação podem usados para comparar o conteúdo de variáveis com o conteúdo de outras variáveis ou literais.
O Comando IF
Geralmente dentro dos programas se faz necessário a tomada de decisões sobre o fluxo que o programa deve seguir. Essas decisões são tomadas baseadas no teste de condições, vejamos um exemplo:
Se condição é verdadeira então bloco_de_comandos_1 é executado caso contrário bloco_de_comandos_2 será executado. As seguintes formas do comando if também são aceitas :
Essa forma também é conhecida como forma incompleta:
Se a condição é verdadeira bloco_de_comandos_1 e executado e o programa segue seu fluxo normal, se a condição é falsa bloco_de_comandos_1 não é executado e o programa segue seu fluxo normal.
As vezes se faz necessário o teste de diversas condições em um mesmo momento no programa e baseado no teste dessas condições você pode executar diversos comandos, com a forma abaixo é possível realizar esses testes:
Exemplo 2-16. Testes de várias condições como o comando IF
if(condição1){ bloco_de_comandos_1; }elseif(condição2){ bloco_de_comandos_2; }elseif(condição3){ bloco_de_comandos_3; }
Uma outra forma de usar o if é a seguinte:
Exemplo 2-17. Outra forma de testes de várias condições
if(condição1): bloco_de_comandos_1; elseif(condição2): bloco_de_comandos_2; else: bloco_de_comandos_2; endif;
OBS.:
1- No comando if é posssivel usar uma infinidade de cláusulas elseif mas apenas uma else
2- Os blocos de comandos vistos no exemplo devem ser vistos como uma sequencia qualquer de comandos, no entanto se forem compostos de apenas um comando fica opcional mas recomendado o uso das chaves que delimitam os blocos, exemplo:
Quando necessitamos que um determinado número de instruções sejam executadas um certo número de vezes, até que uma certa condição se torne verdadeira se faz necessário o uso de uma estrutura de controle de fluxo denominada laço. Em PHP esses laços podem ser implementados usando os comandos while, do..while e for. A seguir veremos o uso desses comandos.
O comando FOR
Devemos usar o comando for quando, em nosso programa, se fizer necessário a execução de um bloco de comandos uma determinada quantidade de vezes. O comando for é muito usado para busca de valores em vetores (arrays), assim como no acesso a resultados de pesquisas feita em um banco de dados.
Para usar o comando for, em geral, é necessário passar três parâmetros. São eles:
Comando de inicialização - com esse parâmetro você consegue garantir que uma determinada condição, necessária para o laço, ocorra.
Condição do laço - essa é a condição que deve ser verdadeira para que o laço continue.
Comando do laço - esse comando é executado sempre que a condição do laço é verdadeira, e geralmente é usado para incrementar alguma variável.
A sintaxe é a seguinte:
for(comando de inicialização;condição do laco;comando do laco){ bloco_de_comandos; }
Obs.: qualquer um dos parâmetros citados acima pode ser vazio.
Vejamos o seguinte exemplo:
O exemplo acima produzirá um laço infinito, ou seja, o bloco_de_comandos será executado interminávelmente.
Exemplo 2-20. Ordenando um array com o comando for
$a = array(5, 3, 7, 1, 2); echo "<br>Array Original: "; for($i=0;$i<=count($a);$i++){ echo " ".$a[$i]; } for($i=0;$i<count($a)-1;$i++){ if($a[$i] > $a[$i+1]){ $tmp = $a[$i+1]; $a[$i+1] = $a[$i]; $a[$i] = $tmp; $i=-1; } } echo "<br>Array Ordenado: "; for($i=0;$i<=count($a);$i++){ echo " ".$a[$i]; }
Os comandos WHILE, DO...WHILE
Esses comandos podem ser usados quando queremos executar algum bloco de comandos baseado na avaliação de uma determinada expressão lógica. Vamos a sintaxe:
while(expressão){ bloco_de_comados; }
Se expressão é verdadeira então o bloco de comandos é executado, se nós desejarmos que o bloco de comandos seja executado pelo menos uma vez, então podemos usar o comando do...while ao invés do comando while. O comando do...while pode ser usado da seguinte forma:
do{ bloco_de_comandos; }while(expressão);
Os comandos CONTINUE, BREAK
Com esses dois comandos é possível ter um maior controle dos laços, com o comando continue o programador pode fazer com que o fluxo normal do laço seja quebrado e a expressão lógica do laço ( no caso dos comandos while e do..while) ou a condição do laço(no caso do comando for) seja reavaliados. Vejamos um exemplo:
Exemplo 2-21. Exemplo do comando CONTINUE.
for( $i=0; $i<=100; $i++ ){ if ( $i % 2 != 0 ){ continue; } echo $i; }
No caso do exemplo acima, só será impresso os números pares até, pois toda vez que a expressão $i % 2 != 0 for verdadeira a condição do laço será testada novamente.
Já com o comando break o laço é abortado imediatamente, vejamos o exemplo abaixo
Nesse exemplo será impresso apenas o número 10.
Obs.: Os comandos continue e break devem ser usado somente dentro de laços, ou seja, seu uso é somente no caso dos comandos for, while e do...while.