You are on page 1of 14

Introduo a PHP

O PHP surgiu por volta de 1994 quando Rasmus Lerdorf criou um pacote de programa CGI para
substituir o conjunto de scripts PERL. O pacote foi chamado inicialmente por Personal Home
Page Tools. Em 1997 foi lanado o pacote PHP/FI (Personal Home Page/ Form Interpreter) que
um interpretador de comandos SQL. Mais tarde foi desenvolvido o analisador do php 3 que
contava j com um recurso de orientao a objectos. Actualmente, o php encontra-se na verso 5.
Conceitos
PHP (Hipertext PreProcessor) antigamente conhecido como Personal Home Page, uma
linguagem de scripting (pedao de cdigo) que corre do lado do servidor, o que significa que
precisa de um servidor Web (Apache, IIS, Xitami, etc.) para o seu funcionamento. No princpio o
PHP era usado para ajudar os programadores a desenvolverem seus Web sites mas actualmente
considerado uma linguagem de programao para desenvolvimento de aplicaes Web com
conexo a uma base de dados.

Servidor Web - pode ser um programa de computador responsvel por aceitar pedidos HTTP de
clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente
dados, que geralmente so pginas Web, tais como documentos HTML com objectos embutidos
(imagens, etc.) ou um computador que executa um programa que prov a funcionalidade descrita
anteriormente. O mais popular, e mais utilizado o servidor Apache (software livre).
Sintaxe
O cdigo PHP deve ser escrito em ficheiros com extenso .php. O cdigo php pode ser escrito
juntamente com o cdigo HTML (mas o ficheiro deve ter sempre a extenso php, caso contrario
o codigo no ser interpretado como PHP). O cdigo ou script php fica delimitado por <? codigo
?> ou <?php codigo ?>.
Exemplo:
<?php
echo Hello World <br>
echo This is my first php script, magic h&atilde;
?>
NOTA: o php no sensvel ao caso (case sensitive), isto , todos mtodos, funes, etc. podem
ser escritos em maisculas ou minsculas sem diferena no significado. Por exemplo ECHO e
echo so iguais e validos.
Comentrios
Comentrios so linhas que no so interpretadas como parte de cdigo, servem apenas para
orientar o programador. Geralmente os comentrios ficam com uma cor diferente nos editores
avanados.
Os comentrios de uma linha podem ser feitos usando os caracteres # ou // no inicio da linha
(comentrio) e os comentrios de mais de uma linha so delimitados por /*.
Exemplos:
<?php
// este e um comentrio de uma linha
#este e tambm um comentrio de uma linha
/* este e um comentrio
de varias linhas
*/
echo Hello World <br> //esta linha imprime o texto Hello World na tela e faz quebra de linha
echo This is my first php script, magic h&atilde;
?>

Variveis em PHP
As variveis em php comeam sempre com o carcter $ e so sensveis ao caso (case sensitive),
$nome diferente de $Nome. Como em outras linguagens, os nomes das variveis devem
comear por um carcter alfabtico ou underscore (_) e nunca por nmero; no deve conter
caracteres especiais, somente caracteres alfanumricos e underscore (_) ($2nome e $nome- so
invlidos mas $nome2, $nome_ e $_nome so validos);

Escopo de variveis
As variveis php, quanto ao escopo (rea ou espao de actuao) classificam-se em globais,
locais e estticos.
Variveis globais quando uma varivel declarada fora de funo, essa varivel torna-se
global, isto , pode ser usadas por qualquer funo dentro da classe.
Variveis locais - quando uma varivel declarada dentro de uma funo, ela s pode ser usada
nesta mesma funo, no entanto, uma varivel dentro de uma funo pode ser declarada como
global usando a palavra-chave global (exemplo: global $nome).

Variveis estticas normalmente, quando uma funo termina a sua execuo, todas as
variveis so apagadas e se a funo for chamada novamente, as variveis so chamadas
novamente sem valores da execuo anterior. Uma varivel esttica guarda sempre o seu valor
depois de uma execuo, assim quando a funo for chamada novamente, a varivel ter o valor
da execuo anterior. Declara se a varivel esttica usando a palavra-chave static antes da
varivel
Exemplo:
<?php

function myTest()
{
static $x=0;
echo $x;
$x++;
}

myTest(); // chamada a funo, imprimir 0
myTest(); // novamente chamamos a funo, imprimir 1
myTest(); //chamamos pela Terceira vez, imprimir 2

?>

Tipos de variveis
Os tipos de varivel em php no so definidos na declarao da varivel mas sim na atribuio
do valor, o que significa que uma varivel pode aceitar qualquer tipo de dados. Por exemplo, ao
declararmos a varivel $nome no especificamos que tipos de dados deve guardar, sendo assim,
as linhas abaixo so ambas validas e correctas:
$nome=Manuel Gerson;
$nome = false;
Na primeira linha a varivel recebe um valor do tipo String, tornando se uma String mas a
mesma varivel recebe valor booleano na segunda linha, tornando se booleano.
Sada de dados
O PHP possui duas funes para imprimir dados no ecr: echo e print
Echo
Imprime mais de uma string.
Exemplo: echo first string, second string;

Print
Diferente do echo, o print imprime apenas uma String. No exemplo anterior o print imprimiria
apenas o texto first string. Print only first string;

Print_r
Como vimos no exemplo anterior, o echo e print apenas imprimem string. Imagine que queira
imprimir os dados de um objecto ou array sem percorrer seus atributos (for). A funo print_r
imprime um objecto ou expresso numa forma legvel para humanos.
Exemplo:
$nomes = array();
$nomes[0]=Manuel;
$nomes[1]=Gerson;
Echo $nomes[0]; // - imprime nomes na posicao zero
Echo $nomes; // - ira dar erro, pois no se pode converter array em string
Print_r($nomes); // - imprime todo o array numa estrutura compreensvel para humanos


Tipos de dados
Em php podemos usar 7 tipos.
String
Denominase String a uma coleco ou sequencia de caracteres. Os dados do tipo string devem
ser escritas sempre entre aspas (string) ou apostrofes (string).
Integer
Refere se ao numero inteiro
Ex:-23; 89
Floating point
So nmeros de ponto flutuante, isto , so usados em nmeros decimais ou em forma de
notao cientfica.
Ex: 2.4e3, 3.45

Boolean
So dados que exprimem o valor lgico (verdadeiro ou falso). Os dados do tipo booleano s
podem aceitar dois valores: true e false.

Array
Destina-se array a uma coleco de dados em forma de lista.
Ex: lista de estudantes ( array(estudante1, estudante2,estudanteN) )

Object
Um objecto representa coisas do mundo real ou imaginrio. Para usar um objecto primeiro cria-
se a sua classe (coleco de objectos com mesmas caractersticas. Ex: classe estudante). O
objecto representa uma instncia de uma classe. Ex: estudante classe mas o estudante Jos um
objecto. Uma classe guarda os atributos e mtodos para manipular objectos dessa classe.
Ex:
Class Estudante(){ //classe setudante
var $codigo;

function getCodigo(){
return $this->codigo;
}

function setCodigo($codigo){
$this->codigo=codigo;
}

}
$estudante = new Estudante(); //objecto do tipo estudante
Null
Representa a ausncia de qualquer valor, nulo no significa vazio, enquanto vazio representa um
valor em branco, nulo representa ausncia de qualquer valor.
$var = null;


Operadores em php

Operadores aritmticos
Atribuio de valor
$codigo = 010100110

Adio
$soma = $parc1+$parc2

Subtraco
$diferenca = $parc1-$parc2

Multiplicao
$produto = $parc1*$parc2

Diviso
$quociente = $divid/$divisor

Modulo
$resto = $divid%$divisor

Adio de strings (concatenao)
$stringTotal = $str1.$str2

Operadores de comparao
Igualdade de valores
$var1==$var2
Retorna true se os valores das duas variveis forem iguais


Igualdade de valor e tipo de dado
$var1===$var2
Retorna true se os valores das varias forem iguais e do mesmo tipo

Desigualdade de valores
$var1!=$var2
Retorna true se os valores das variveis forem diferentes

Desigualdade de valores e de tipo
$var1!==$var2
Retorna true se os valores das variveis forem diferentes ou de tipos diferentes

Maior
$var1>$var2
Retorna true se o valor de $var1 for maior que o valor de $var2

Maior ou igual
$va1>=$var2
Retorna true se o valor de $var1 for maior ou igual ao valor de $var2

Menor
$var1<$var2
Retorna true se o valor de $var1 for menor que o valor de $var2


Menor ou igual
$var1<=$var2
Retorna true se o valor de $var1 for menor ou igual ao valor de $var2


Operadores lgicos
E
exp1 && exp2
Retorna true se ambas as expresses forem verdadeiras

Ou
exp1 || exp2
Retorna true se uma das expresses for verdadeira


Extra ou
exp1 XOR exp2
Retorna true se uma das expresses for verdadeira e false se ambas forem verdadeiras ou
falsas


No
!($exp)
Retorna true se a expresso for falsa


Operadores incrementais
Incremento
$i++
Decremento
$i--
Estruturas de controlo
As estruturas de controlo servem para controlar ou decidir quando executar uma aco ou
conjunto de aces. As estruturas de controlo subdividem-se em 2 grupos: condicionais e de
repetio
Estruturas de controlo condicional
Determinam em que condies uma determinada aco deve ser executada, isto , executa uma
determinada aco quando uma condio satisfeita
If
Executa uma aco caso uma condio seja satisfeita, caso contrrio no faz nada
if (codicao){
Accao (codigo)
}

Exemplo:

if($idade<18){
echo Voce adolescente;
}


If else
Executa uma aco caso uma condio seja satisfeita, caso contrrio executa uma aco
alternativa.
if (codicao){
accao1
}
esle{
accao2
}

Exemplo:

if($idade<18){
echo Voce adolescente;
}
else{
echo voc adulto/a;
}


If elseif
Executa a accao1 caso a condicao1 seja satisfeita, caso contrrio executa accao2 caso a
condicao2 seja satisfeita e assim por diante
if (codicao1){
aco 1
}
esleif (condicao2){
aco 2
}
elseif (condio N){
aco N
}





Exemplo:

if($idade<13){
echo Voce crianca;
}
elseif ($idade>=13 && $idade<18){
echo voc adolescente;
}
elseif ($idade>=18 && $idade<35){
echo voc Jovem;
}
elseif ($idade>=35 && $idade<60){
echo voc adulto/a;
}
else{
echo voc Idoso;
}


Switch
Executa uma aco em cada ocorrncia de uma varivel, ou seja, usado para escolher que aco
executar em certa ocorrncia da varivel
switch($var){
case val1:
accao 1
break;
case val2:
accao 2
break;
case: valN:
accao N
break;
default:
accao default;
break;
}



Exemplo
switch($idade){
case 18:
echo parabens, acaba de atingir a juventude
break;
case 13:
echo parabens, acaba de atingir a adolescencia
break;
case 35:
echo parabens, acaba de se tornar adulto
break;
default:

break;
}

Estruturas de controlo repetitivo (loops)
Servem para executar uma aco ou conjunto de aces repetidamente.

While
Executa uma aco (repetidas vezes) enquanto uma determinada condio for satisfeita
While (condio)
{
aco
}

Exemplo:
$i=0;
While ($i<8)
{
echo $i*2;
}



Dowhile
Executa uma vez a aco, depois executa repetidas vezes enquanto a condio for verdadeira.
do
{
aco
}
While (condio)

Exemplo:
$i=1;
do
{
Echo $i*2;
}
While($i<8)


For
Executa uma aco ou conjunto de aces varias vezes de acordo com os argumentos. O for
recebe trs parmetros, sendo o primeiro o inicio do controlador, o segundo o valor final do
controlador e por fim o incremento.
for (p1; p2; p3)
{
accao
}

Exemplo
for ($i=0; $i<8; $i++)
{
Echo $i*2;
}
Na primeira linha o controlador $i inicia com valor 0 e termina no valor 7, a cada execuo
incrementa se uma unidade ao $i, o que significa que teremos um loop de 8 voltas.

Foreach
uma alternativa ao ciclo for. O foreach usado para mapear elementos de um array e executar
uma aco para cada elemento.
$array1 = array(a1, a2, aN);
foreach ($array1 as $value)
{
Echo $value;
}
Onde array1 o array a mapear e $value o elemento do array na posio em que se encontrar o
processador

Exemplo:
$numeros = array(0, 1, 2, 3, 4, 5, 6, 7);
foreach ($numeros as $numero)
{
echo $numero;
}


Trabalhar com arrays em PHP
Existem dois tipos de arrays em PHP: array associativo e array indexado.
Array indexado
um tipo de array sem identificador para os seus elementos, isto , os elementos so
identificados por ndice (que corresponde a posio do elemento no array, partindo de zero).
Existem duas formas de criar um array indexado: por indexao automtica ou indexao manual
Exemplo 1: indexao automtica
$students = array(Maria, Joao, Jose, Joana, Mario);
Exemplo 2: indexao manual
$students = array();
$students[0]=Maria;
$students[1]=Joao;
$students[2]=Jose;
$students[3]=Joana;
$students[4]=Mario;
Ou simplesmente
$students[0]=Maria;
$students[1]=Joao;
$students[2]=Jose;
$students[3]=Joana;
$students[4]=Mario;

Array associativo
um tipo de array com identificadores para os seus elementos, isto , cada elemento do array
identificado por um nome, em vez de ndice ou posio.
Os arrays associativos tambm podem ser criados de duas maneiras
Exemplo:
$completeName = array(surname=>Matos, firtName=>Joao);
Ou
$completeName[surname]=Matos;
$ completeName [firstName]=Joao;

You might also like