O que é o PHP?
PHP é um acrónimo para “Hypertext Preprocessor”.
É uma linguagem de scripting open-source que
funciona do lado do servidor e é usada para gerar
páginas web dinâmicas.
Os scripts de PHP residem dentro das tags
reservadas do PHP - isto permite ao programador
embeber scripts de PHP dentro de uma página
O que é o PHP?
Tal como no javascript, ser uma linguagem de scripting
significa que é interpretada à medida que é lida, ou seja, é
interpretada em run-time.
É uma linguagem “server-side”, isto é, é executada do lado
do servidor. Por causa disso,o código-fonte não é visível
pelo cliente (browser):
- Clickar em “View Source” nos browsers não exibe o código PHP
Para além disso, o PHP possui toda uma série de funções
nativas que aceleram o desenvolvimento significativamente
e é compatível com uma várias bases de dados populares.
Qual o aspecto do código PHP?
Tal como o Javascript, todas as instruções de PHP têm
de terminar com um ponto-e-vírgula, sob pena da
página não renderizar caso nos esqueçamos de o fazer.
Todos os scripts de PHP têm de ser “encapsulados”
dentro das tags reservadas do PHP:
<?php
"
// aqui entra o código PHP
?>
Comentários no PHP
Tal como no Javascript, os comentários fazem-se da
seguinte forma:
/* isto é um comentário multi-linha */
// isto é o comentário para uma linha só
Para além das formas acima, pode também
comentar-se uma linha só usando a seguinte sintaxe:
Variáveis no PHP
As variáveis no PHP têm de começar com o caractere “$”
e, à semelhança do Javascript, são case-sensitive
( $carro != $Carro != $CarrO ).
No PHP, podemos declarar variáveis globais e locais:
- As variáveis globais podem ser utilizadas em todo o lado, e as
variáveis locais são restritas a uma função ou classe.
Existem no PHP, tal como no Javascript, palavras
reservadas. Por exemplo:
- Variáveis de formulários ($_POST, $_GET);
- Variáveis de servidor ($_SERVER)
Variáveis no PHP
A titulo de exemplo, esta é a forma de usar variáveis
no PHP:
<?php
" $foo = 25;" " " // variável numérica
" $bar = "Olá";" " // variável de string
" $foo = ($foo * 5);"// multiplica a variável $foo por 5
" $bar = ($bar * 5);"// expressão inválida
Echo
O comando “echo” no PHP é usado para fazer o output
de parâmetros que lhe passamos. É muito comum usá-lo
para enviar informação para o browser do cliente.
Exemplo:
<?php
" $foo = 25;" " " " // variável numérica
" $bar = "Olá";"" " " // variável de string
" echo $bar;" " " " // imprime Olá
" echo $foo,$bar;" " " // imprime 25Olá
" echo "5x5=",$foo;" " // imprime 5x5=25 " echo "5x5=$foo";"" " // imprime 5x5=25
" echo ‘5x5=$foo’;"" " // imprime 5x5=$foo
Echo
<?php
" $foo = 25;" " " " // variável numérica
" $bar = "Olá";" " " // variável de string
" echo $bar;" " " " // imprime Olá
" echo $foo,$bar;"" " // imprime 25Olá
" echo "5x5=",$foo;" " // imprime 5x5=25 " echo "5x5=$foo";" " // imprime 5x5=25
" echo ‘5x5=$foo’;" " // imprime 5x5=$foo
?>"
Reparem como ‘5x5=$foo’ imprime o nome da variável em vez de o substituir por 25.As strings dentro de aspas individuais ( ‘ ‘ ) não são interpretadas ou avaliadas pelo PHP.
Operações Aritméticas
<?php " $a=15; " $b=30; " $total=$a+$b; " Print $total; " Print “<p><h1>$total</h1>”; " // 45 ?>" - $a + $b // soma - $a - $b // subtracção - $a * $b // multiplicação - $a / $b // divisãoConcatenação
Para concatenar ( ou somar ) duas strings numa só,
em vez de se usar o sinal de “+” como no Javascript,
usamos o ponto-final “ . ”
<?php " $string1="Olá"; " $string2="Mundo"; " $string3=$string1 . " " . $string2; " Print $string3; ?> Olá Mundo“Escapar” um caractere
Se a string tiver um par de aspas duplas (“ ”) que
têm de permanecer visíveis, então devemos usar a
barra \ (backslash) antes das aspas para as ignorar
e mostrar.
<?php " $heading="\"Computer Science"\"; " Print $heading; ?> Computer ScienceEstruturas de Controlo
As estruturas de controlo numa linguagem são o que nos
permite controlar o fluxo da execução de um programa ou
script. No PHP, tal como no Javacript, agrupam-se em
estruturas condicionais ( p.e.: if/else) e estruturas de repetição
( p.e.: ciclos for ).
Exemplo de um if…else:
<?php
" if($foo == 0){
" " //código a ser executado caso $foo seja igual a zero
" }
" else {
" " //código a ser executado se $foo for diferente de zero " }
Estruturas de Controlo
Exemplo de um ciclo for:
<?php
" $total = 5;
" for($i=0; $i < $total; $i++){
" " //código a ser executado enquanto o $i for menor " " " que $total
" }
Funções
No PHP, as funções têm de ser definidas antes de serem chamadas, e tal como no Javacript, a sintaxe para as definir é a seguinte:
<?php
" function nomeDaFuncao( $arg1, $arg2,…, $argN ){
" " // aqui entra o código da função
" }
?>"
No entanto, ao contrário do Javascript, os nomes das funções não são case-sensitive. Ou seja:
Funções
Exemplo de uma função em PHP:
<?php
" // isto é uma função
" function foo( $arg1, $arg2 ){ " " $arg2 = $arg1 * $arg2;
" " return $arg2;
" }
" $resultado1 = foo(12,3);"" //guarda a função " echo $resultado1;" " " " // devolve 36
" echo foo(12,3);"" " " " // devolve 36
Incluir ficheiros
Por vezes, é necessário adicionar ao nosso código,
código de outros ficheiros.
Isto prova ser tanto útil como mais seguro, a partir do
momento que ligamos o projecto a uma base de dados,
bem como para evitarmos a repetição de código.
Para o fazer usamos a instrução “include” do PHP
Podemos usar o include também para incluir nacos de
markup que de outra forma teríamos de replicar em
Include
Utilizamos o include da seguinte forma:
<?php
" Include "footer.php";
?>"
Em que o ficheiro footer.php podia conter apenas:
<footer>
" <span class=“copyright”>Copyright © 2014.</span> " <span class=“rights”>All rights reserved.</span> </footer>
Forms (GET e POST)
Uma das funcionalidades mais poderosas do PHP é
a forma como lida com os formulários de HTML. O
conceito básico que é importante compreender é
que qualquer elemento do formulário estará
automaticamente disponível aos nossos scripts de
PHP.
Quando um formulário é submetido a um script de
PHP, a informação desse formulário é disponibilizada
para o script.
GET? POST?
Façamos um aparte:
O HTTP é desenhado para permitir comunicações entre clientes e
servidores e funciona como um protocolo de pedido-resposta entre eles.
Os dois métodos mais usados para um pedido-resposta entre um cliente
e um servidor são: GET e o POST.
•
GET - pede informação/dados de um recurso especifico
•
POST - Submete informação/dados para ser processada a um recurso
especifico
!
Mais informação sobre o tema em:
No PHP, é muito simples aceder à informação enviada por GET ou POST. As variáveis globais $_POST[] e $_GET[] contêm a informação do pedido.
Tenham em atenção o seguinte formulário em HTML:
<form action="foo.php" method="post">
" Name: <input type="text" name="username" /><br />
" Email: <input type="text" name="email" /><br />
" <input type="submit" name="submit" value="Submit me!" /> </form>
Ao clicar no botão de submissão do formulário, a página “foo.php” é chamada. Neste ficheiro teríamos algo como:
<?php
" echo $_POST[‘username’];
" // faz o output do valor introduzido no campo “username”
?>
Sempre que queremos criar um site que nos permita
armazenar e exibir informação sobre um utilizador,
determinar a que grupos pertence uma pessoa, utilizar
permissões no nosso website ou só queremos fazer algo
visualmente interessante no site, então as sessões do PHP
são vitais para cada uma destas funcionalidades.
Nos tempos que correm, depender de cookies para gerir
este tipo de situações é arriscado. Cada vez mais as
pessoas são adversas à utilização de cookies, porque estes
gravam localmente informação que as pessoas não querem
que seja gravada.
O PHP tem uma série de funções que fazem o papel dos
Cookies e mais, sem armazenar informação no computador
do utilizador.
As sessões de PHP guardam a informação no servidor web
em ficheiros especiais. Estes ficheiros são depois ligados ao
web browser do utilizador através do servidor usando um ID
especial a que se dá o nome de “ID de Sessão” (Session
ID).
Este método tem uma eficácia de 99% e é virtualmente
invisível para o utilizador.
As sessões guardam o seu identificador num cookie do browser do utilizador e todas as páginas que usam informação de sessão devem precedidas da função session_start().
A instrução session_start() deverá ser escrita antes de qualquer coisa ter sido impressa no ficheiro, caso contrário ser-nos-á devolvido um erro.
As variáveis de sessão são então criadas e devolvidas acedendo à variável global $_SESSION[] Escrevam o seguinte código e salvem o ficheiro como “session.php”:
<?php " session_start(); " if(!$_SESSION["count"]) " " $_SESSION["count"] = 0;" " if(!$_GET["count"]=="yes"){ " " $_SESSION["count"] +=1; " }" " echo "<h1>".$_SESSION["count"]."</h1>"; ?>
<a href="session.php?count=yes">Clique aqui para contar</a>
As sessões são destruídas quando o utilizador fecha o
browser. Sendo assim, porque é necessário ter um método
para destruir as sessões?
Imaginem que têm um site, e que têm uma sessão registada
chamada “access_granted” e estão a usá-la para
determinar se o utilizador está loggado no site depois de ter
inserido username e password.
Sempre que temos uma funcionalidade de login, para
deixarmos o utilizador confortável é de bom tom termos
também uma funcionalidade de logout.
É nessa altura que a função session_destroy() se torna útil. Esta função vai destruir
completamente a sessão do utilizador, limpando todos os ficheiros de sessão e eliminando qualquer rasto da mesma.
É assim que se usa o session_destroy():
<?php
" // start the session " session_start();
" $_SESSION = array (); " session_destroy();
" echo "<strong>Step 5 - Destroy This Session </strong><br />"; " if($_SESSION['name']){
" " echo "The session is still active"; " } else {
" " echo "Ok, the session is no longer active! <br />"; " " echo "<a href=“page1.php”><< Go Back Step 1</a>"; " }
?>
Por vezes precisamos de gerar datas, sejam inteiras ou parciais (o ano no footer de um site, por exemplo).
O PHP tem uma função, de nome date(), que é usada para formatar uma data e/ou um tempo. A sintaxe para a utilização da função é a seguinte:
date(format,timestamp)"
O parâmetro “format”, diz respeito ao formato que queremos que a nossa data tenha, por exemplo (“Y/m/d”) e é obrigatório.
O parâmetro “timestamp”, diz respeito a uma data especifica que queiramos formatar e é facultativo. A função assume a data de hoje como valor por
omissão deste parâmetro.
Mais informação sobre esta função aqui e aqui.
O PHP:!
• é uma linguagem fácil de aprender com uma sintaxe relativamente simples
• Tem uma grande “biblioteca” de funções
• É embebido directamente no HTML
• É uma linguagem interpretada que não necessita de ser compilada
• É uma linguagem de scripting open-source desenhada especificamente
para a web.
• Podemos usá-lo para gerar HTML, XML, imagens (JPG & PNG), PDFs e
até ficheiros de flash na hora e para salvar os mesmos no disco do servidor.
• Suporta uma grande variedade de bases de dados.