Objetivos:
Este é o primeiro de uma série de tutoriais sobre PHP Básico. Nesta série você aprenderá como criar
aplicações simples em PHP, utilizando diversos recursos como sessões, conexão com banco de
dados MySQL, entre outros. Você também aprenderá como instalar o ambiente PHP no sistema
operacional Windows e algumas de suas configurações Básicas.
Pré-requisitos: Para acompanhar esta série de tutoriais é necessário ter conhecimento básico de
Html e noções de lógica de programação.
O que é PHP?
O PHP é uma linguagem de programação dinâmica para produção de websites. Diferentemente das
outras linguagens de produção de sites, o PHP é processado no servidor, retornando para o cliente
(pessoa que acessa o site) apenas Html. Desta forma o código fonte não é exposto, o que é muito
útil quando interagimos com banco de dados ou outros componentes que possuam senhas ou
informações que precisem ser especificadas no código.
Por exemplo, um usuário abre a página www.exemplo.com/about.php, o servidor onde está a página
“about.php” lerá este arquivo e processará as tags PHP, devolvendo apenas HTML para o usuário,
como vemos na figura abaixo:
O PHP tem suporte a praticamente todos os banco de dados existentes no mercado, o que torna
simples a tarefa de produzir aplicações que acessam banco. No decorrer do curso veremos como
construir aplicações com banco de dados MySQL.
A linguagem também suporta outros protocolos como SMTP, POP3, IMAP entre outros.
Como começar?
Antes de começarmos a estudar o PHP propriamente dito, vamos entender criar o ambiente para
programar e rodar scripts da linguagem.
Como vimos no item anterior os scripts são interpretados no servidor web, este deve
obrigatoriamente ter o pacote PHP instalado. Um host na internet para sites em PHP deve seguir
esta regra.
Você pode procurar um host na internet que rode PHP, mas estes geralmente são pagos. A melhor
opção é instalar um servidor web e o PHP na sua máquina ou em uma máquina local para efetuar
testes e desenvolvimento.
No próximo tópico veremos como criar um ambiente de teste local que será necessário para
efetuarmos os exercícios deste curso.
Instalando
• Baixar o PHPTriad (http://sourceforge.net/projects/phptriad)
No site você verá uma série de arquivos, faça o download apenas do “phptriad”.
• Executar o arquivo que acabou de ser baixado. Surgirá uma tela com a licença de uso.
Concorde e o programa de instalação começará a extrair arquivos diretamente na pasta
“c:\apache” (A instalação cria automaticamente esta pasta).
• Crie uma pasta na raiz chamada “tmp” ex.: “C:\tmp”. Esta pasta será necessária para guardar
os arquivos temporários de sessão.
• Os servidores (Apache com o PHP e MySQL) já estão instalados. Para inicia-los encontre no
menu iniciar o menu PHPTriad e então clique em Apache Console> Start Apache e em
MySQL> MySQL-D.
Quando entramos com o endereço http://localhost no browser, estamos apontando para o servidor
que está rodando no micro local, ou seja no mesmo micro onde o browser está rodando. Se o
servidor estiver rodando em outro micro da rede, então devemos entrar
http://ip_ou_nome_da_maquina, desta maneira estaremos acessando o apache que roda na
máquina apontada.
Neste ambiente de testes, para criarmos diferentes sites, criaremos sub-pastas na pasta htdocs. Por
exemplo cria-se uma sub-pasta em htdocs chamada “meusite” ex.: “C:\apache\htdocs\meusite”.
Quando quisermos acessar os documentos contidos nesta pasta entramos com o endereço:
http://localhost/meusite.
Entendendo o Código
Para criar e editar scripts em PHP podemos utilizar qualquer editor Html, ou até mesmo o bloco de
notas. O ideal é usar editores que diferenciem o código utilizando cores, como o Dreamweaver.
Você pode baixar o PHP editor, um ótimo editor de PHP freewere, no site
http://paginas.terra.com.br/informatica/php_editor/.
Um script php pode conter ou não tags Html, essas tags não são processadas pelo servidor, são
simplesmente passadas ao solicitante. Normalmente utiliza-se Html para fazer a estrutura e parte
estática da página e o php para a parte lógica, que exige processamento.
Para diferenciar as tags php das Html devemos utilizar os segintes sinalizadores:
<?
Código php...
?>
ou
<?php
código php...
?>
Separador de Instruções
Sempre após uma instrução deve-se utilizar ; (ponto e vírgula) para sinalizar que aquela instrução
foi encerrada.
Ex.:
echo (“teste”);
Variáveis
As variáveis em PHP não precisam ser declaradas mas devem sempre ter $ na frente do nome.
Os nomes devem sempre começar com letras ou com o caractere “_”.
Ex.:
$nome
$_cpf
Comentários
Para inserirmos comentários em PHP, temos duas opções: // , tudo que estiver na mesma linha e
depois das duas barras será tratado como comentário, ou /* e*/, tudo o que estiver entre o barra-
asterisco e o asterisco-barra será tratado como comentário, independente da linha.
Para revisar e verificar o conteúdo aprendido, faremos um script bem simples de saída de texto.
2 .Utilizando um editor html ou de texto crie um arquivo chamado de index.php (a primeira página
de um site deve sempre receber esta nomenclatura)
<html>
<head>
<title>Meu Primeiro Script</title>
</head>
<body>
</body>
</html>
<html>
<head>
<title>Meu Primeiro Script</title>
</head>
<body>
<?
echo (“Este é meu primeiro Script PHP”);
?>
</body>
</html>
O comando echo retorna uma string para o resultado em html, podemos passar esta string
diretamente(como no exemplo) ou uma variável contendo uma string.
Salve o arquivo.
No próprio browser clique em “Visualizar código-fonte” ou comando similar que mostre o fonte da
página que está sendo mostrada.
Veremos o seguinte:
<html>
<head>
<title>Meu Primeiro Script</title>
</head>
<body>
Este é meu primeiro Script PHP
</body>
</html>
Desta maneira fica claro como o PHP trabalha, entregando para o solicitante apenas o resultado do
código.
Faça outras experiência, como por exemplo, atribuir uma string a uma variável e passar esta
variável para o comando echo, como no código:
<html>
<head>
<title>Meu Primeiro Script</title>
</head>
<body>
<?
$frase = “Meu segundo script”;
echo ($frase);
?>
</body>
</html>
Conclusão:
Neste tutorial mostramos como instalar e configurar um ambiente PHP em máquinas Windows.
Mostramos também como funciona a “engine” do PHP, com suas características e particularidades,
assim como uma noção geral de sintaxe no PHP e como inserir fragmentos de código em uma
página HTML.
Lógica em PHP
Objetivos:
Neste tutorial veremos algumas particularidades da linguagem php. Veremos características dos
tipos de variáveis e suas estruturas de controle. Este tutorial também é uma boa revisão de lógica de
programação, pois os pontos tratados aqui podem ser usados na maioria das linguagens, bastando
apenas adequar a sintaxe específica.
Pré-requisitos: Ter acompanhado o primeiro tutorial da série. (“Introdução ao PHP”).
TIPOS SUPORTADOS
Em PHP uma variável pode conter diferentes tipos de dados em diferentes momentos da execução,
pois a linguagem utiliza checagem dinâmica de tipos, ou seja o interpretador decidirá qual o tipo
daquela variável, checando seu conteúdo durante o tempo de execução.
Em PHP não precisamos especificar Integer ou Long, pois o interpretador se encarrega desta tarefa.
Ponto Flutuante
Da mesma maneira que não precisamos especificar os inteiros, também não precisamos diferenciar
double de float.
Strings
Desta maneira será atribuído à variável exatamente o que se encontra entre os as aspas, com
exceção de caracteres especiais que estudaremos mais a frente.
Ou
$texto = “ Este tutorial é muito bom”; //Com aspas duplas
Assim podemos inserir variáveis dentro da string, que serão expandidas antes da atribuição.
Por exemplo:
$nome = ‘João’;
Arrays
Em PHP os arrays são vetores indexados onde podemos ou não nomear os índices.
Por padrão os arrays são criados com índices inteiros positivos começando do zero.
Ex.:
$alunos[0] = “João”;
$alunos[1] = “Maria”;
$alunos[2] = “José”;
$nome[“cachorro”]= “Rex”;
$nome[“gato”]= “Felix”;
$nome[“papagaio”]= “Louro”;
Estruturas de Controle
As estruturas vistas a seguir são comuns a maioria das linguagens, mudando somente a sintaxe,
vamos analisar como se comportam no PHP.
Condicionais
if
Este comando nos permite executar um teste e se a resposta for verdadeira executa o bloco ou
comando seguinte, da seguinte maneira:
if (condição)
comando;
ou
if (condição)
{
comando;
comando;
comando;
}
Exemplo
if ($num<0)
{
echo (“Número Negativo”);
}
if else
O comando else é um complemento do if, ele acontecerá caso a condição seja falsa.
if (condição)
{
comandos;
}
else
{
comandos;
}
Exemplo
if($nome == “”)
{
echo (“Nome não preenchido”);
}
else
{
echo($nome);
}
switch
Este comando compara uma variável com uma série de valores pré-definidos pelo programador e
dependendo do valor executa um comendo ou bloco.
switch($var)
{
case 0:
comando;
break;
case 1:
comando;
break;
case 2:
comando;
break;
Exemplo
switch($num)
{
case 0:
echo (“ZERO”);
break;
case 1:
echo (“UM”);
break;
case 2:
echo (“DOIS”);
break;
Note que sempre para encerrar cada um dos comandos case, devemos utilizar o comando break.
Logo após cada case deve seguir o valor a ser testado, por exemplo se a quiséssemos testar se a
variável é igual a palavra cão, usaríamos case “cão”:
Repetição
while
O comando while testa uma condição, e, enquanto ela não for verdadeira repete um bloco de
comandos:
while (condição)
{
comandos;
}
Exemplo
$num = 0;
while ($num<=10)
{
echo ($num);
$num++;
}
O comando acima vai imprimir na tel o valor de $num até que este alcance o valor 10, ou seja até
que a condição seja satisfeita. Note que o comando $num++, está incrementando o valor de $num
em 1 a cada execução do bloco (loop), pois se $num não fosse incrementado, a condição nunca
seria satisfeita.
do while
O comando do while funciona da mesma maneira que o while, com apenas uma diferença, no do
while a condição é testada no fim da execução do bloco.
Vamos reescrever o exemplo anterior:
$num = 0;
do
{
echo ($num);
$num++;
}
while ($num<=10)
Esta mudança de ordem pode ser muito útil na prática, mais a frente veremos exemplos das
mudanças implicadas por usar while ou do while.
for
O comando for é bastante utilizado em todas as linguagens, e também é o que tem a sintaxe mais
alterada de linguagem para linguagem.
Nele podemos iniciar a variável, testar a condição e incrementa-la, tudo na mesma linha.
for(<inicaliza>,<compara>,<incrementa>)
{
comandos;
}
for($num=0;$num<=10;$num++)
{
echo($num);
}
Conclusão:
Neste tutorial mostramos os comandos básicos para programar em PHP, assim como suas
respectivas sintaxes, particularidades e regras. Com estes comandos é possível realizar todo o tipo
de processamento, bastando saber utiliza-los e combina-los da melhor maneira.
Neste tutorial aprenderemos como utilizar forms HTML para capturar dados entrados por usuários
para utilização e tratamento no PHP.
Formulários HTML
Os formulários HTML são estruturas que permitem que usuários submetam dados a uma página.
Esses dados podem ser tratados e/ou armazenados dependendo da aplicação.
Obs.: Formulários são HTML, portanto não precisam estar entre <? e ?>.
Criando um Form
Os forms fazem parte do código html, portanto devem ser definidos como as tags desta linguagem.
Sempre com uma tag de abertura e outra de fechamento, inserindo o conteúdo entre estas duas.
Exemplo:
Parâmetros do Form
Action – É o script ou página para onde os dados serão submetidos. Neste script que normalmente
os dados são tratados.
GET = Passa os valores pela URL, ou seja, podemos ver as variáveis passadas na Url da página
destino definida no campo action. Não é muito aconselhável o uso do método GET, pois ele expõe
o nome e valor das variáveis, o que pode ser utilizado por pessoas com intenções maléficas.
POST = Passa as variáveis de maneira transparente para o usuário. É o método mais aconselhável.
Elementos do Form
Podemos inserir vários tipos de entrada de dados em um formulário, a maioria delas definida pela
tag input.
Todo elemento possui um parâmetro name que é utilizado para identificar a variável onde o dado
está contido no script destino.
Lembrando que estes elementos devem ser inseridos entre as tags <form> e </form>.
Campo Texto
Declaração:
Parâmetros
Size – O tamanho do elemento em caracteres na página Html (que será exibido na tela).
Value – É utilizado quando há necessidade de se pré-definir um valor para o elemento. Este valor
pode ser normalmente alterado pelo usuário.
Campo Senha
Tipo de campo idêntico ao anterior, mas quando o usuário digita, os caracteres são substituídos por
“*”.
Obs.: O campo senha não possui nenhum tipo de criptografia, apenas coloca uma mascar no texto
inserido.
Declaração:
Parâmetros
Size – O tamanho do elemento em caracteres na página Html (que será exibido na tela).
Value – É utilizado quando há necessidade de se pré-definir um valor para o elemento. Este valor
pode ser normalmente alterado pelo usuário.
Botão Rádio (Radio button)
Utilizado para entradas de múltipla escolha onde o usuário só pode escolher uma única opção.
Para que o interpretador saiba que as opções fazem parte do mesmo grupo, e permita que só uma
seja selecionada, basta colocar o mesmo nome no parâmetro name dos botões rádio.
Declaração:
Parâmetros
Checked – Se for declarado o elemento terá seu estado inicial como selecionado.
Value – É o valor que será passado à página destino quando o formulário é submetido se este
elemento estiver selecionado.
Utilizado para entradas de múltipla escolha onde o usuário pode escolher várias opções.
Cada opção deve ter um nome independente.
Declaração:
Parâmetros
Checked – Se for declarado o elemento terá seu estado inicial como marcado.
Value – É o valor que será passado à página destino quando o formulário é submetido se este
elemento estiver marcado.
Botão que submete o formulário a pagina destino especificada no parâmetro action do form.
Declaração:
Parâmetros
Botão Reset
Volta todos os campos do formulário para os valores iniciais, ou seja, os valores especificados nos
parâmetros value de cada um dos campos.
Declaração:
Parâmetros
Botão
Declaração:
Parâmetros
Select
Parâmetros
Multiple – Se existir, permite que sejam selecionadas múltiplas opções através das teclas Ctrl ou
Shift.
Size – Número de opções exibidas por vez na tela. Se o size estiver setado para “1” que é o default e
não existir o parâmetro multiple, o elemento é exibido como um Combo Box. Caso contrário é
exibido como um Select List.
Value – O value de cada option é o valor passado caso aquela opção seja selecionada.
Obs.: O texto da opção deve ser especificado entre as tags <option> e </option>
Área de Texto
Declaração:
Parâmetros
Obs.: não existe o parâmetro value, o texto inicial deve ser definido entre as tags <textarea> e
</textarea>.
Trabalhando com os dados enviados pelo Form
Por exemplo:
Quando este form for submetido, na página proc.php será criada uma variável com o nome $nome
contendo o texto que foi digitado no campo.
Colocando em Prática
Na primeira vamos criar uma estrutura Html normal, e dentro do body criar um form que submete
para a pagina resumo.php, da seguinte maneira:
Agora vamos colocar alguns elementos para entrada de dados.
Criar um campo texto para entrada do nome, um checkbox perguntando se o usuário leu o tutorial e
um campo select para entrada da nota dada ao tutorial. Assim:
Conclusão
Este tutorial mostrou como utilizar forms HTML, explicando detalhadamente seus elementos e
respectivos parâmetros e como capturar e utilizar os dados enviados pelos mesmos.
Neste tutorial aprenderemos como utilizar arquivos para armazenar dados, bem como edita-los e
exclui-los. Veremos um exemplo prático com a criação de uma aplicação simples de agenda de
contatos utilizando todos os recursos aprendidos até aqui.
Em PHP é possível acessar arquivos locais e remotos, neste tutorial vamos nos limitar a arquivos
que estão no nosso próprio servidor de teste.
Atenção! – Como nosso ambiente de teste é windows, não precisamos nos preocupar com
permissões, mas devemos considerar isto quando utilizamos um servidor Unix (o mais comum na
internet) e dar as permissões corretas para os arquivos que vamos utilizar (leitura, escrita ...)
Abrindo Arquivos
Para manipular arquivos utilizaremos diversas funções do PHP, a primeira delas é fopen, que abre
um “ponteiro” para o arquivo específico, ou seja cria um identificador para o arquivo que será
utilizado em outras funções.
Sintaxe:
O primeiro parâmetro passado é o caminho do arquivo. Mas lembre-se este caminho é em relação
ao script que está sendo executado, por exemplo, se o script está na raiz do site e o arquivo a ser
aberto está na pasta raiz\arquivos então devemos passar “arquivos\nome.txt”.
Podemos abrir os arquivos de acordo com a função executaremos, esta opção é selecionada no
modo de abertura, que passamos como segundo parâmetro, são eles:
O terceiro parâmetro (use_include_path), deve ser setado como 1 ou 0 para determinar se você quer
utilizar o path parametrizado no arquivo php.ini para procurar o arquivo.
Exemplo:
A variável $arquivo está apontando para o arquivo “cidades.txt” no modo somente leitura.
Medindo Arquivos
O tamanho do arquivo pode ser muito útil é um dado muito útil e necessário em outras funções,
podemos medi-lo utilizando a função filesize da seguinte maneira:
O parâmetro passado é o caminho do arquivo, exatamente como passamos para a função fopen.
Exemplo:
Atenção! Por serem mais pesadas o PHP guarda o resultado de algumas funções de manipulação de
arquivos, como filesize e file_exists, em um cache. Portanto se pretendemos utilizar arquivos que
são alterados constantemente devemos sempre limpar este cache utilizando a função clearstatcache
da seguinte forma:
void clearstatcache();
Para evitar erros ou tratá-los, em alguns casos é necessário saber se um determinado arquivo existe,
para isto utilizamos a função file_exists da seguinte maneira:
Esta função retorna true ou false, podendo ser utilizada em um comando IF, por exemplo:
Verifica se o arquivo existe, em caso positivo abre para leitura em caso negativo mostra a
mensagem de erro.
Lendo Arquivos
Para ler o conteúdo de um arquivo utilizamos a função fread com a seguinte sintaxe:
Exemplo:
Vamos abrir o arquivo “cidades.txt” para leitura e atribuir seu conteúdo a uma variável:
Uma função muito útil para leitura de arquivos de texto é a função file(), pois ela lê todo o conteúdo
do arquivo e retorna um array onde cada posição é uma linha do arquivo. Sua sintaxe é simple:
Exemplo:
Perceba que não é necessário abrir o arquivo, e cada linha do arquivo fica em uma posição do array
$texto, por exemplo:
Escrevendo em Arquivos
Para escrever em um arquivo devemos sempre lembrar de abri-lo em um modo que permita escrita
(w,w+,a,a+), e depois utilizar a função fwrite que escreve no arquivo a partir de onde o ponteiro
estiver. Sintaxe:
O primeiro parâmetro passado é o identificador do arquivo, o segundo é a string que será escrita, e o
terceiro o tamanho da string. Se o tamanho for menor que a string passada, só parte restante não
será escrita.
Exemplo:
Perceba que como terceiro parâmetro passamos a função strlen(), que retorna exatamente o tamanho
da string, garantindo a escrita por inteiro.
Obs.: Para escrever uma quebra de linha utilizamos “\n”.
Para movimentar o ponteiro pelo arquivo utilizamos a função fseek com a seguinte sintaxe:
Desta maneira mandamos o ponteiro para a posição 0 do arquivo, ou seja para o seu início.
Fechando Arquivos
Após manipularmos algum arquivo, devemos fecha-lo, ou seja fechar o seu identificador. Sintaxe:
Para implementação de um ScrapBook bem simples, vamos criar duas páginas, uma pricipal onde
serão exibidos os recados deixados e faremos a inserção de novos e uma onde ficará o script que
processa e escreve estes recados no arquivo. Criaremos também um arquivo txt vazio nomeado
“banco.txt”, onde escreveremos e armazenaremos os recados.
Construir uma estrutura html normal e um título para onde ficarão os recados:
Após este título colocaremos o conteúdo do arquivo. Para isso utilizaremos a função file() para
atribuir o conteúdo do arquivo a um array e depois utilizaremos um comando de repetição para que
possamos imprimir na tela cada uma das linhas do array:
Perceba que utilizamos a função sizeof() que mede o número de posições do array, portanto o
comando de repetição for vai incrementar a variável $i de 0 até o tamanho do array.
Desta forma vamos imprimir linha a linha do array.
Logo após podemos colocar um form para inserção de novos recados. Este form submeterá as
variáveis para a página processa.php, que criaremos a seguir.
Partindo para a página processa.php, não é necessário inserir nenhum tag html, já que esta página
não será exibida. Então criaremos o código que escreve as variáveis recebidas no arquivo
‘banco.txt”
Percebam que para concatenar as strings utilizamos “.”(ponto).
Este exemplo é bem simples mas pode se facilmente melhorado, pode-se adicionar tags html na
string escrita para melhorar o visual dos recados, adicionar mais campos ao form e etc.
Conclusão:
Neste tutorial mostramos como utilizar as principais funções de manipulação de arquivos, suas
particularidades e parâmetros. Vimos também um exemplo prático da utlização de forms e de
armazenagem de dados em arquivo texto.
Neste tutorial veremos como armazenar dados em um esquema simples com arquivos texto. Esta é
uma implementação boa para um volume bem pequeno de dados, mas serve como um bom
exercício de manipulação de arquivos e strings.
No tutorial anterior vimos que é possível acessar e editar arquivos através do PHP. Agora veremos
uma maneira de utilizar estes arquivos para agrupar dados de maneira uniforme para que possamos
consulá-los posteriormente.
A Função explode
Uma função muito útil no PHP e que necessitaremos para a nossa implementação é a função
explode. Esta função pega uma string e a divide através de separadores, colocando cada parte em
uma posição do array resultante. Por exemplo:
“Júlio;Adriana;Giulia”
Se utilizarmos a função explode com o caracter “;” como separador obteremos o seguinte
resultaddo:
Array[0]= Júlio
Array[1]= Adriana
Array[2]= Giulia
Vamos utilizar esta função e depois um loop para imprimir o array resultante:
No nosso exemplo armazenaremos dados simples de uma pessoa como nome, idade, estado civil e
cidade natal, nesta ordem e como caracter separador “:” (dois pontos)
nome:idade:estadocivil:cidadenatal:
Adicionando Registros
Para armazenar dados em nosso arquivo vamos utilizar duas páginas, como no exemplo em que
criamos o scrap book, uma primeira contendo um formulário chamada “inserir.php” que envia os
dados para uma outra nomeada “escreve.php” que insere os dados formatados para o layout no
arquivo.
Primeiramente criamos uma nova página nomeada “inserir.php” e colocamops a estrutura html
básica.
Depois inserimos um form que submeterá os dados para a página “escreve.php”, e neste form
inserimos os inputs para a entrada dos dados nome, idade, estado civil e cidade natal.
Partimos agora para a página escreve.php. Como esta página não será exibida, não há necessidade
de adicionar tags html.
Esta página deverá receber as variáveis do form, concatena-las, adicionando o separador e uma
quebra de linha no fim, para que desta forma consigamos manter o layout estipulado, ou seja, um
registro por linha separado por “:”.
Vamos agora construir a parte de consulta ao “banco”, criando uma pagina chamada “lista.php”,
onde listaremos todos os dados contidos no arquivo de forma amigável.
A primeira coisa a fazer é utilizar a função file() para abrirmos o arquivo de forma que cada linha
de texto corresponda a uma posição do array.
Depois devemos através de um loop tratar cada uma destas linhas, utilizando a função explode para
dividi-las em um array e depois tratar cada uma destas partes. É bom lembrar que esta página será
exibida, portanto devemos incluir os tags html básicos.
Observem como tudo isto é feito de maneira simples neste trecho de código:
Os registros do arquivo deverão ser listados.
Faça experiências, tente listar os registros de uma maneira mais bonita, colocando-os em uma
tabela, tente também adicionar mais campos ao banco, como endereço e etc.
É bom lembrar que o separador deve ser muito bem escolhido pois ele nunca deve estar contido no
conteúdo dos campos. Por exemplo o caractere “,” (vírgula) pode não ser um bom separador se
formos armazenar endereços, pois quase sempre este caractere está contido neste campo.
Conclusão
Neste tutorial mostramos como utilizar as funções de manipulação de arquivos e strings para criar
um banco de dados simples que armazena seus dados em um arquivo txt. Esta implementação é
muito útil para pequenas quantidades de dados e aplicações simples.
Nota:
Vou ensinar php de uma forma fácil e objetiva e através de desenvolvimento de projetos, para isso
você deve ter acompanhado os tutoriais anteriores a este sobre php, onde na primeira parte o mesmo
ensina como instalar no seu computador o php triad que instala o pacote todo, sql,php,apache.
Para começar vou explicar como será o fucionamento do aplicativo, o objetivo do mesmo é
podermos fazer a busca de preço de um determinado produto, por exemplo:
Você tem uma farmácia, seu cliente solicita um remédio X, você normalmente vai verificar o valor
do remédio, neste momento vai entrar o sistema que iremos desenvolver, com este sistema você vai
digitar o nome do remédio e vai pararecer o valor do mesmo, também será possível em caso do
cliente efetuar a compra do remédio, digitar o valor em dinheiro que o cliente lhe deu e o sistema
automáticamente irá mostrar o valor do troco.
Para que possamos desenvolver este sistema iremos dividir em partes para que você tenha uma
melhor compreensão, nesta primeira parte iremos criar a interface gráfica da tela principal do
sistema onde iremos fazer a pesquisa de preços é uma tela simples utilizando formulários.
Para desenvolver o sistema precisaremos utilizar um editor de php, sugiro utilizar o Php Editor,
para que você possa conseguir entre no site http://paginas.terra.com.br/informatica/php_editor.
Para a nossa tela principal vamos criar uma página e vamos dar o nome de entrada.php esta página
vai nos possibilitar fazer duas funções a busca de preços e o cadastramento dos produtos, vamos
montar o formulário utilizando os seguinte campo:
Nome do Produto
Cadastrar Produto
Também teremos que criar uma pasta dentro da pasta htdocs que esta localizada dentro da pasta
apache, vamos colocar o nome da mesma de sis e salvar todas as páginas que criarmos dentro da
mesma.
Abra o php editor para darmos inicío a criação da primeira página, todo o php editor é em português
então você não tera muitas dificuldades em se adaptar ao mesmo, irei ensinar durante a criação do
sistema a utilizar só as ferramentas necessárias.
Com o editor aberto a primeira coisa que iremos fazer e inserir um cabeçalho na página com o
seguinte nome
“Sistema de busca de preços” , tamanho H3, vamos deixar centralizado, colocar a cor azul e salvar a
página com o nome de entrada.php vamos ver como fazer:
O primeiro comando que vamos fazer é centralizar o cabeçalho para isso no editor inseria as
seguintes etiquetas abaixo:
<center></center>
Tela 001
Dentro destas etiquetas iremos inserir a cor do cabeçalho através do editor, clique com o cursor do
mouse entre as etiquetas <center>|</center> e no editor clique na seta ao lado do botão “cor da font
que é representado pela letra” vai abrir a jenela de cores , na mesma selecione a cor azul, veja como
é feito este procedimento.
Tela 002 (selecione a cor azul)
Tela 003
Note que o cursor fica posicionado para inserirmos o cabeçalho, clique na seta “estilo de texto
selecionado” e selecione a opção H3 para inserir o cabeçalho,veja o procedimento baixo:
Tela 004
Tela 005
Pronto agora iremos inserir o texto que tinhamos definido para cabeçalho:
Tela 006
Feito este procedimentos, vamos salvar a página dentro da basta sis que você deve ter criado,
conforme definimos logo acima, clique em arquivo salvar e coloque o nome definido, veja o
procedimento.
Tela 007
Agora vamos ver como vai ficar página, para isso inicie o servidor apache, abra o seu brauser e
digte o seguinte endereço:
http://localhost/sis/entrada
Tela 008
Vamos criar dois formulários dentro deste página o primeiro vai ter a função de fazer a busca de
produtos cadastrados e o outro vai ser para cadastrar os produtos.
Vamos começar inserindo uma quebra de linha, ou seja, vamos inserir dois <br><br> que tera a
função de colocar o fomulário na linha de baixo, e depois iremos centralizar o formulário através
das etiquetas <center></center> depois iremos inserir o formulário utilizando uma ferramenta do
editor, para inserir quebra de linha através do editor clique no botão BR, veja o procedimento
abaixo:
Tela 009 (Inserimos quebra de linha)
Tela 010
Agora para inserir o formulário clique no botão Form conforme é mostrado na tela abaixo:
Tela 011
Dentro das tags do formulário iremos inserir o nome do campo que será “Nome de Produto” com
cor azul, uma caixa de texto que vai servir para dar entrada com os dados que precisamos pesquisar,
esta caixa de texto iremos dar o nome de “produtos” através do atributo name e por último iremos
inseri um botão no qual daremos o nome de “pesquisar” usando o atributo value.
Primeiro vamos inserir a cor antes de escrevemos o nome do campo esta cor vai ser azul, para isso
no editor clique na seta ao lado da letra “A” e selecione a cor azul.
Tela 012
Tela 013
Ao lado da tag </font> iremos inserir uma caixa de texto, clique no botão caixa de texto do editor
conforma mostra a tela abaixo:
Tela 014
Dentro da tag <imput> iremos acrescentar o atributo name=”produtos” que é o nome da caixa de
texto.
Tela 015
Agora iremos inserir um botao e inserir o nome de pesquisar, para isso no editor clique no botão,
depois que o mesmo for inserido no atributo value=”botão” basta substituirmos a palavra botao por
pesquisar.
Tela 016
Agora vamos inserir mais um formulário abaixo deste, então insira uma quebra de linha após a tag
</center>, sendo que o procedimento é quase o mesmo, a diferença é que neste não usaremos a
etiquetas para centralizar, o nome do campo será “Cadastrar Produtos” e o nome da caixa de texto
será “cadastrar”, também vamos utilizar $nbsp; para forçar espaços e deixa-lo centralizado através
desta forma vou mostar na tela abaixo como deve ficar o formulário.
Tela 017
Terminamos de criar a página principal do aplicativo, na proxima parte iremos ainda mexer neste
formulários.
Conclusão
Ensinei a criar a página principal do aplicativo, a criar formulários, caixa de texto e botões, além
usar as etiquetas para centralizar e colocar cor nos campos através do editor de php, ná próxima
parte iremos continuar a mexer nesta página principal e a criar outra página de script para que vai
ter a função de cadastrar os produtos . Bons estudos e até a próxima parte.
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no
mínimo informática básica, ter acompanhado os tutoriais anteriores a este e a parte1.
Começarei explicando a primeira página que iremos desenvolver que será uma página que vai ter
um script que será responsável por conectar o banco de dados e buscar os produtos mostrando o
código, descrição e valor do mesmo, também nesta mesma página iremos disponibilizar um
formulário para filtar e cadastrar novos produtos, nesta página iremos colocar o nome de
resultado.php
Abra o editor de php, e insira uma nova página e salve com o nome que definimos dentro da pasta
sis. Feito este procedimento altere o cabeçalho da mesma para resultado da busca, veja como deve
fazer este procedimento acima:
Tela 001
Tela 002 (inserindo o cabeçalho)
Note que ainda não criamos o banco de dados, mas já iremos fazer a conexão com mesmo, isso é
possível porque eu já tenho este sistema todo desenvolvido, então não se preocupe, o script abaixo
vai fazer a função de conectar o banco de dados no qual o nome que iremos dar será preços e dentro
do banco o nome da tabela será produtos, vamos inserir o scrit logo abaixo da tag </head> o script
entre <? e ?>:
<?
$res1 = mysql_connect("localhost", "root");
$sql = ("select * from produtos where descricao = '$produtos'");
$res2 = mysql_db_query("precos", "$sql", $res1);
?>
Vou explicar a função linha do script a primeira estamos conectando o banco de dados através do
localhost que é a nossa máquina pessoal, do usuário root.
A segunda linha tem a função de selecionar todos os campos da tabela produtos onde descrição for
igual ao nome do produto.
Agora dentro do corpo da página iremos inserir três tabelas a primeira será inserido o cabeçalho
cujo o nome será “consulta de preços” a segunda tabela contendo o nome dos campos que ira
mostrar o resultado da pesquisa de produtos a terceira será inserido os dois formulários no qual a
descrição da sua função esta logo abaixo, os nomes dos campos que utilizaremos serão os
seguintes:
Os dos formulários o prmimeiro terá a função de filtrar o produto através do código e carregar as
informações em outra página que iremos desenvolver mais adiante e o segundo vai possibilitar de
acessarmos direto a página de cadastro de produtos, a qual iremos desenvolver logo adiante. Irei
digitar ó codigo da tabela abaixo:
Através do editor de php a primeira coisa que iremos fazer é excluir os sintaxe <? ?> que esta
dentro das tag <body></body>, feito isso , copie o código abaixo da tabela onde já esta pronto
Tela 004
<center>
<table border=0 width=60%>
<tr bgcolor="#0099cc">
<th width="10"><center><font color="#FFFFFF">Codigo</font></center></th>
<th ><center><font color="#FFFFFF">Descrição</font></center></th>
<th ><center><font color="#FFFFFF">Valor Unitário</font></center></th>
</tr>
<?
while($valor = mysql_fetch_array($res2)) { ?>
<tr>
<td ><font color="#0000FF" face="verdana" size="2"><?=$valor["seq_produto"]?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["descricao"]?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["valor_unitario"] ?></font></td>
</tr>
<?
}
mysql_close($res1);
?>
</table> <br>
Tela 005
</FORM>
</tr>
<tr widht="500">
<td WIDHT="500" COLSPAN="2">
<center><font color="#FFFFFF" face="verdana" size="2">Cadastrar
Produtos</font></center></TD>
<TD> </TD>
</TR>
<TR>
<TD WIDHT="400" colspan="2">
<form name="altCliente" action="cadastro.php" method="post">
<center><input type="submit" value="Cadastrar"> </center>
</TD>
<TD>
</td>
</FORM>
</tr>
</table>
Tela 006
Vamos ver como deve ficar o projeto rodando através do brauser, para isso inicie o apache e abra o
seu navegador e digite o seguinte endereço:
http://localhost/sis/resultado.php
Tela 007
Agora iremos interligar a página entrada.php com esta página da seguinte forma,abra a página
entrada.php, dentro do primeiro formulário que criamos, vamos inserir o atributo action e name
para chamar esta página toda vez que clicarmos no botão pesquisar.
Dentro do formulário iremos acrescentar action=”resultado.php” que vai fazer a função de chamar a
página e name=”produtos”, vai ser o nome do formulário.
Também iremos fazer um pequeno ajuste no botão pesquisar iremos trocar o nome de Button para
submit.
Tela 009
Conclusão
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no
mínimo informática básica, ter acompanhado os tutoriais anteriores a este, parte1, e parte2.
Vamos começar criando a página e salvando com o nome de cadastro.php, sempre dentro da pasta
sis, para isso utilize o editor de php, irei mostrar este procedimento logo abaixo:
Tela 001
Vou explicar como será esta página, iremos criar um formulário que vai conter os seguintes
campos:
Descrição;
Valor unitário;
Utilizaremos respectivamente duas caixas de texto e um botão submit, que vai chamar outra página
que iremos desenvolver, a qual será responsável por incluir no banco de dados os regitros digitados
neste formulário.
Começaremos incluindo um cabeçalho, onde o mesmo deve ser centralizado, a nossa página com o
titulo “Cadastrar Produtos”, vamos ver este procedimento:
Agora utilizaremos o cabeçalho clique na seta ao lado da letra H no editor e selecione H2,
acompanhe o procedimento abaixo.
Tela 004
Vamos ver como deve ficar a página até o momento, inicie o apache e na barra de endereço do seu
navegador didite o seguinte endereço:
http://localhost/sis/cadastro.php
Tela 005
Agora iremos criar o formulário, logo abaixo do titulo, para isso vamos começar inserindo um
<BR> depois iremos centralizar o formulário, veja estes dois procedimentos logo abaixo:
Tela 006
Agora iremos inserir o formulário, para isso clique no botão form do editor que esta em forma
quadrado pontilhado:
Tela 007
Iremos utilizar dentro do formulário o atributo action, o mesmo deve ficar assim
action="inserir.php", vai chamar a página inserir.php que iremos desenvolver mais adiante.
Tela 008
Agora iremos inserir os nomes dos campos e as caixas de texto e o botão submit:
Escreva o nome do primeiro campo que é “Descrição” e depois utilizaremos para justar as
caixas te texto e por último iremos inserir a mesma juntamente com um <BR>, sendo que a caixa de
texto do primeiro campo iremos inserir o nome “descrição” a mesma.
Tela 009
Agora iremos fazer o mesmo procedimento para o segundo campo apenas trocando o nome do
mesmo e na caixa de texto vamos inserir o nome de valor_unitario:
Tela 010
Vamos inserir ao lado do último o botão submit no qual iremos colocar o nome de
“cadastrar”.
Tela 011
Salve a página pelo editor e atualiza no brauser, a mesa deve ficar conforme a tela abaixo:
Tela 012
Conclusão
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no
mínimo informática básica, ter acompanhado os tutoriais anteriores a este, parte1, parte2 e parte 3.
Para começar abra o editor e crie uma página com o nome inserir.php que vai ser responsável por
cadastrar os dados no banco de dados veja o procedimento abaixo:
Tela 001
Agora iremos começar a inserir os script para efetuar o cadastro, esta página não será preciso ter tag
em html, pois a mesma não será visualizada, a primeira parte deste escript irá conectar o banco de
dados:
Agora iremos criar a segunda parte do script para inserir os dados no banco:
if ($res1) {
$sql = "insert into produtos"
." (descricao, Valor_unitario)"
." values ('$descricao','$valor_unitario')";
$res2 = mysql_db_query("precos", "$sql", $res1);
if ($res2) {
echo ("Novo registro adicionado");
} else {
echo("Erro de inclusão ".mysql_error()."\n");
}
} else {
echo("Erro de conexão ".mysql_error()."\n");
}
Note que logo abaixo da linha $sql = "insert into produtos" vamos inserir os nomes dos campos
que iserão os mesmo iguais aos do banco de dados.
Na linha ." values ('$descricao','$valor_unitario')"; inserimos os nome das caixas de textos que tinha
definido durante a criação da interface de cadastro de produtos.
Primeiro conectamos a tabela no qual o nome será precos, depois utilizando uma função “se”
mostraremos uma frase “Novo resgitro adicionado” caso os registros tenham sido adicionado e
outra para coso de erro na inclusão.
Tela 003
E por último criamos um script que libera o sql da memória e desconecta o banco de dados
fechando a inclusão dos dados.
Tela 004
Agora iremos criar o banco de dados, para isso vamos utilizar MYSQL, você deve ir até a pasta “C”
da sua máquina nela abra a pasta “Apache” e depois a pasta “Mysql” e dentro desta a pasta “Bin”,
iremos abrir a tela “mysql”, veja está última tela abaixo:
Tela 005
Abrindo a tela iremos digitar os comandos para a criação do banco de dados, sendo primeira coisa
é criar a base de dados, na qual iremos colocar o nome de “preços”, para isso digite os seguintes
comandos:
Tela 006
Depois iremos abrir o banco de dados para criarmos a tabela com o nome “preços” e que vai ter os
seguintes campos:
Descrição;
Valor_unitario;
Show databases;
Tela 007
Agora iremos utilizar o banco de dados precos usando o comando “use precos;” feito isso criaremos
a tabela com o nome “produtos” , digite a tabela abaixo dentro do mysql:
Tela 008
Tela 009
Pronto esta criado o nosso banco de dados pronto para ser utilizado.
Conclusão
Ensinei a criar a página de script para inserir os dados no banco e tambem a criação do banco de
dados através do mysql, mostrei através de telas para que você tenha uma melhor compreensão, na
próxima parte continuaremos o desnvolvimento do sistema. Bons estudos e até a próxima parte.
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no
mínimo informática básica, ter acompanhado os tutoriais anteriores a este, parte1, parte2, parte3 e
parte4.
Para começar abra o editor e crie uma página com o nome principal2.php que vai ser responsável
por filtrar um produto de cada vez, para que possamos calcular o valor do troco do cliente, veja o
procedimento abaixo:
Após criar esta página iremos começar a inserir o primeiro código logo abaixo “head” e retirar as
tag “body” veja o procedimento.
Tela 002
Agora vamos criar um formulário centralizado com os seguintes campos, e depois veja na tela baixo
o codigo:
Tela 004
Agora iremos criar uma página de script que vai calcular o valor do troco para nosso cliente, para
esta página vamos dar o nome “processa.php”, veja o procedimento baixo:
Tela 005 (Salve esta pagina com o nome que definimos)
Tela 006
Pronto com o termino desta página concluimos o aplicativo de sistema de busca de preços, agora
você deve cadastrar os produtos e fazer as buscas normais, vou mostrar como deve ficar a página
processa, logo após você ter efetuado uma consulta de produtos e no formulário resultado tiver
clicado em vender vai aparecer a tela abaixo:
Tela 007
Após ter feito isso, basta inserir quantidade, o valor do dinheiro que seu cliente lhe deu e clicar em
calcular, suponhamos no natela acima que seu cliente tenha solicitado uma quantidade de 2
produtos e o dinheiro que ele le deu seja R$ 20,00, veja como será mostrada a tela de troco.
Tela 008
Tela 009
Conclusão
Ensinei a criar a página que possibilita filtar os produtos e tambem a criação da página de script
que vai calcular o troco do cliente, mostrei através de telas para que você tenha uma melhor
compreensão, na próxima parte iremos desenvolver um novo sistema. Bons estudos e até a próxima
parte.
Primeiros scripts
Objetivos:
Mostrar como podem ser escritos pequenos scripts em PHP. Exemplificando o uso deles e o uso de
algumas características básicas.
Pré-requisitos:
Primeiros scripts
Você pode acompanhar estes exercícios utilizando o bloco de notas do Windows. Todos os código
podem ser digitados no bloco de notas e salvo com a extensão “.php”.
Lembre-se de ao salvar o arquivo utilizando o bloco de notas você deve digitar o nome do arquivo
entre aspas. Por exemplo, se você quer salvar o arquivo com o nome script1.php quando for
informar para o bloco de notas o nome do arquivo digite “script1.php”.
Qualquer dúvida entre em contato comigo pelo e-mail rivasalmir@gmail.com que terei prazer em
atende-lo.
Após instalar o PHP e o MySQL agora é hora de escrevermos os nossos programas em PHP.
Começaremos com um programa bem simples que envia para o navegador uma pequena mensagem
de boas vindas.
Fig. 1 - script1.php
Linha 1
A tag <?php indica que você irá a partir desta linha iniciar a digitação de um script em php.
Existem outras tags que também pode ser utilizadas em substituição a tag <?php, são elas: <?, <%
e <SCRIPT LANGUAGE=”PHP”>. Utilizaremos a <?php por ser a mais comum entre todos os
servidores de php que testamos.
Linha 3
Nesta linha utilizamos o compando print para enviar para o navegador o conteúdo da string “Bem-
vin a programação em PHP !”. Observe que esta linha é finalizada com um ;. Toda a linha de
comando do php é finalizada com um ;.
Linha 5
Nesta linha temos a tag ?> que indica que encerra-se nela a porção de código PHP iniciada na linha
1.
Veja que apenas a string passada ao comando print foi exibida no navegador. Agora vejamos o
código fonte da página enviada ao navegador.
O código fonte do script é exatamente a mesma coisa que vimos na janela do navegador, ou seja, a
string enviada ao comando print. Como o nosso script não possui nenhum outro código HTML
mesclado a ele e não envia nenhuma outra string para o navegador. O código fonte da página
enviada e a página mostrada pelo navegador são exatamente a mesma coisa.
Na tabela abaixo mostramos as tags que podem ser usadas para delimitar um código PHP.
Lembramos que a maioria dos servidores testados por nós sempre aceita a tag <?php e ?> por isso
este conjunto de tags serão utilizadas por todo nosso treinamento.
No nosso próximo script estaremos combinando de várias formas a o script PHP com o código
HTML.
Fig. 4 - script2.php
Neste script mesclamos diversas vezes PHP com HTML. Explicaremos abaixo linha a linha o
script:
Linha 1 contém tag <HTML> nesta linha indica o início de uma página HTML.
Linha 2 contém a ag <HEAD> nesta linha indica o início da seção de cabeçalho de um documento
HTML.
Linha 3 contém a tag <TITLE> indica que a partir dela tudo o que for digitado aparecerá na barra
de título do navegador conforme mostrado abaixo. A tag </TITLE> fecha o texto que será exibido
na barra de título do navegador.
Linha 7 contém a tag <H1> indica que todo o texto que vier depois dela até a tag </H1> será tratado
como título tamanho 1 da página HTML.
Linha 9 contém a tag <?php indica que o que estiver entre ela e a tag ?> deverá ser considerado
como código PHP.
Linha 11 contém o comando print que envia para o navegador a string contida a sua direita. Como
podemos ver esta string pode conter tags HTMLs para serem enviadas ao navegador. E como toda
linha de código PHP deve ser finalizada com ;.
A linha 15 contém um texto que faz parte do documento HTML a ser enviado para o navegador e
não mais parte do script PHP que já foi encerrado na linha 13.
Na linha 16 temos a tag <?php iniciando o código PHP, o comando print enviando para o
navegador a string “Aqui mostramos algumas.” E a tag ?> encerrando o código PHP da linha. Veja
que como colocas a tag de início do código PHP, <?php, e de fim, ?>, na mesma linha não foi
necessário digitarmos o ;. Porém mesmo assim recomendamos que sempre utilizemos o ;.
Nos próximos scripts iremos apenas explicar as linhas que contiverem entre as tags <?php e ?>
visto que não é escopo deste treinamento ensinar HTML.
Veja que após ser processado podemos ver que todos os comandos e referências ao script PHP
somem da página enviada ao navegador.
Endereços relacionados:
http://www7.brinkster.com/rivas/artigos/PHPBasico/index.asp
Nos próximos artigos estarei disponibilizando na web uma forma de vocês verem os scripts em
ação.
Abcs,
Almir Rivas
rivasalmir@gmail.com
Guardando dados em memória
Objetivos:
Mostrar como o PHP armazena dados na memória e como manipula estes dados.
Pré-requisitos:
Sempre que voltamos a trabalhar em um script que foi criado por nós mesmos a algum tempo,
temos uma certa dificuldade em entender aquelas linhas de código. Por isso é sempre útil fazer um
código o mais claro possível e além disso utilizar uma ferramenta simples mais muito importante: O
comentário.
O PHP tem algumas formas de permitir comentários no código do script digitado. Os símbolos que
podem ser usados são os seguintes:
» //
»#
» /* <comentário> */
O // permite que o interpretador do PHP ignore tudo que estiver a direita deste símbolo. O #
funciona da mesma forma. Ambos são chamados de comentários de uma única linha. Quando
desejamos comentar mais de uma linha utilizamos o /* e */.
Daqui em diante todas as vezes que você ver um código fonte nos nossos artigos eles estarão
comentados para que desta forma seja mais fácil o seu entendimento.
Uma forma que temos de armazenar informações em um computador e na memória dele. Fazemos
isso em PHP utilizando-nos de variáveis. Variáveis são locais onde as informações ficam
armazenadas para que possam ser acessadas posteriormente dentro de um script. Mas como
recuperamos os dados armazenados em uma variável?
Uma variável tem que ter um nome, o nome da variável é composto por letras, números e pelo
caractere _ (underscore). O nome da variável deve sempre ser precedido pelo símbolo $.
» $nome_do_aluno
» $codigo_do_produto
» $cpf
» $1234
Nomes de variáveis devem ser claros e objetivos. Iremos adotar a seguinte forma de escrever nome
de variáveis:
Veja exemplos:
» $nomeAluno
» $codigoProduto
» $cpf
Para utilizar uma variável em um programa basta que você a declare e atribua a ela um valor.
http://www.showy.com.br/~tutorial/artigos/phpbasico/4/script3.zip
Da linha 1 a 6 temos códigos HTML e linhas em branco que servem para dar maior clareza ao
código da página.
Na linha 7 temos a tag que indica que iniciaremos a partir daí a escrever o código PHP.
Na linha 9 abrimos um comentário de múltiplas linhas com os símbolos /* quer será fechado na
linha 17 com os símbolos */. A partir deste código utilizaremos este padrão para iniciar todo o
código digitado.
Da linha 29 a 34 misturamos código HTML com código em PHP, preste bastante atenção como
utilizamos esta mistura. Através dela imprimimos os valores das variáveis declaradas entre as linhas
20 e 23.
http://www.showy.com.br/~tutorial/artigos/phpbasico/4/script3.php
Veja o resultado do script verificando como ficou o código fonte da página enviada ao navegador:
A partir do próximo script estaremos mostrando apenas o código fonte dele e o resultado dele no
navegador.
Um nome de uma variável pode estar armazenado dentro de uma variável. E armazenado lá,
poderemos imprimir o centeúdo da variável “armazenador” ou o conteúdo da variável que tem o
nome armazenado.
Isto é muito útil. E iremos ver isto na prática em futuros artigos. Veja abaixo a aplicação desta
técnica de forma bem simples em um script.
Fig. 4 - Primeira parte do script4.php
Na linha 28 enviamos para o navegador o conteúdo da variável $carro, ou seja, a string “Ferrari”.
Até aqui não temos tido novidades. Tudo permanece nos exemplos anteriores.
Fig. 5 - Segunda parte do script4.php
Linhas semelhantes a linha 45 não será mais explicada para que evitemos perda de tempo. Já deve
estar claro para o estudante, neste momento, que esta linha envia a string “<P>”, ou seja, envia para
o navegador o que estiver entre as aspas duplas.
Na linha 57 vemos a repetição do que ocorreu na linha 44. O PHP envia para o navegador o
conteúdo da variável $veiculoAutomotor precedido de $, ou seja, a variável $moto que contém a
string “Amazonas”.
Neste último trecho de código podemos verificar outras formas de enviar para o navegador o
conteúdo de variáveis.
Para que tenhamos o mesmo efeito obtido nas linhas 44 e 57 devemos usar do artifício mostrado na
linha 65. Colocarmos entre colchetes a variável $veiculoAutomotor.
http://www.showy.com.br/~tutorial/artigos/phpbasico/4/script4.zip
http://www.showy.com.br/~tutorial/artigos/phpbasico/4/script4.php
No próximo artigo ainda iremos tratar mais sobre variáveis. Mas por enquanto ficamos por aqui.
Abraços,
Almir Rivas
rivasalmir@gmail.com
Neste artigo tratamos da forma de atribuir valores a variáveis. Explicamos como funciona a
atribuição de valores por valor e atribuição por referência.
Pré-requisitos:
Todas as vezes que atribuímos a uma variável o conteúdo de uma outra variável, por padrão,
passamos o valor da segunda variável “por valor” a outra variável. Isto significa que o valor que
existia na segunda variável e copiado para a primeira. Se o conteúdo da primeira variável for
alterado isto não será refletido na primeira. Vamos ver isto no código abaixo ?
Fig. 1 - Primeira parte do script5.php
Da linha 22 a linha 27 enviamos para o navegador algumas strings e os valores atuais das variáveis
$pessoa e $cantor.
Na linha 30 atribuimos o conteúdo da variável $pessoa a variável $cantor. Isto significa que
copiamos o valor da variável $pessoa para a variável $cantor. Quando se atribui o valor de uma
variável desta forma a outra variável, não existe vínculo entre uma variável e outra. Como
poderemos verificar mais abaixo no artigo.
Na terceira e última parte do script5.php podemos verificar que não existe vínculo entre uma e outra
variável.
Fig. 5 - Terceira parte do script5.php
Na linha 41 atribuímos novo valor a variável $pessoa. Quando imprimimos os valores das variáveis
$pessoa e $cantor entre as linhas 44 e 49, podemos verificar que o valor da variável $pessoa,
quando alterado, não reflete na variável $cantor. Isto acontece porque o valor de uma variável foi
atribuído a outra por valor.
http://www.showy.com.br/~tutorial/artigos/phpbasico/5/script5.zip
http://www.showy.com.br/~tutorial/artigos/phpbasico/5/script5.php
Podemos atribuir a uma variável o conteúdo de uma outra variável fazendo isso “por referência”.
Atribuir valores “por referência” da variável A a variável B significa que iremos passar para a
variável B o endereço de onde esta armazenado o valor da variável A. Isto significa que caso
venhamos a alterar a variável A alteraremos o valor da variável B.
Para evitar perda de tempo explicaremos apenas a parte do código que mudou em relação ao
script5.php.
Fig. 8 - Primeira parte do script6.php
Podemos ver na linha 30 que incluímos, no momento que atribuímos o valor da variável $pessoa a
variável $cantor, o símbolo &, isto indica que estamos atribuindo uma variável a outra por
referência.
http://www.showy.com.br/~tutorial/artigos/phpbasico/5/script6.zip
http://www.showy.com.br/~tutorial/artigos/phpbasico/5/script6.php
Manipulando variáveis
Objetivos:
Neste artigo iremos manipular os dados armazenados em variáveis e conhecer os seus tipos.
Pré-requisitos:
Tipos de dados
Em uma variável podemos armazenar os mais diversos tipos de dados. Iremos conhecer agora quais
os tipos de dados que podem ser utilizados na linguagem PHP.
Dados diferentes requerem tratamento diferente e também ocupam espaços diferentes na memória
ao contrário de umas linguagens o PHP não é fortemente tipado o que significa que de acordo com
o dado que se encontra na variável o PHP tenta concluir que tipo de dado é aquele.
O PHP fornece algumas funções que permitem identificar o tipo de dado de uma variável ou
manipular esta informação. São elas: gettype() e settype(). Além disso é possível converter tipos de
dados utilizando a operação de Casting.
Neste script simplesmente atribuímos valores de diversos tipos a diversas variáveis. A variável
$inteiro recebe o inteiro 10 (linha 13), a variável $pontoFlutuante recebe o valor 27.52 (linha14), a
variável $variavelString recebe a string “Aprendendo PHP” (linha 15) e a variável $booleano
recebe o valor true (linha16).
Em seguida são mostrados strings identificado as variáveis e seus valores conforme imagem abaixo.
Nas linhas 42, 46, 50 e 54 imprimimos o tipo de dados das seguintes variáveis $inteiro,
$pontoFlutuante, $variavelString e $booleano, respectivamente.
Podemos converter uma variável de um tipo para outro tipo. Para isso iremos utilizar a função
settype(). Vejamos o código a seguir:
Fig. 5 – Terceira parte do script7.php que muda o tipo da variável $inteiro
Nas linhas 66, 78 e 90 convertemos a variável $inteiro para double, string e boolean,
respectivamente. O PHP faz a conversão mudando o valor das variáveis de acordo com as suas
regras internas.
É importante deixar claro que o dado que existia antes da conversão se perde pra sempre quando
utilizamos a função settype(). Caso não queiramos perder esta informação poderemos utilizar a
conversão por Casting.
http://www.showy.com.br/~tutorial/artigos/phpbasico/6/script7.zip
http://www.showy.com.br/~tutorial/artigos/phpbasico/6/script7.php
No código abaixo convertermos as variáveis através de Casting, preservando desta forma o valor e
tipo da variável.
Fig. 7 - Parte do código do script8.php que difere do script7.php
Na listagem acima podemos ver que toda a conversão ocorre entre as linhas 70 e 72. A conversão
ocorre mantendo o valor da variável $inteiro.
http://www.showy.com.br/~tutorial/artigos/phpbasico/6/script8.zip
No servidor temos uma versão diferente do PHP. Por isso para esta seção não será possível ver o
resultado do script via browser. Mas basta seguir os nossos procedimentos de instação do artigo
Instalando o PHP no Windows XP.
Grande abraços,
Almir Rivas
rivasalmir@gmail.com
Estrutura de controles
Objetivos:
Pré-requisitos:
Estruturas de controle
Estrutura de seqüência
A estrutura de seqüência faz parte do PHP. Ela executa os comandos na seqüência em que eles estão
no código.
Entendamos o código acima:
Linha 1
A tag <?php indica que a partir deste momento será digitado código PHP
Linha 3
Linha 5
Linha 6
Linha 8
Incrementa o valor da variável $contador com +1, $contador passa ater o valor igual a 1.
Linha 10
Linha 11
Linha 13
Linha 15
Podemos verificar que os comandos são executados na ordem exata que são digitados.
A menos que seja instruído de outra forma os comandos do PHP são sempre executados em
seqüência. Para mudar a ordem em que estes comandos são executados poderemos utilizar as
estruturas de seleção e estruturas de repetição que veremos a seguir.
Estruturas de seleção
O comando if
O comando if avalia a expressão que esta entre parênteses, se ela for verdadeira executa ó bloco de
código dentro dos colchetes, caso contrário simplesmente ignora o código entre os colchetes.
No exemplo abaixo testamos se a nota é maior ou igual a 7, se isso ocorrer uma mensagem de
felicitação pela aprovação é emitida, caso contrário apenas o valor da nota final é mostrado. Para
isso utilizamos o comando if.
Fig. 1 - script code0802.php
Linha 10
Linha 12
Testa se o valor contido em $nota é maior ou igual a 7. Se for executa as linhas 14 e 15. Se não for
executa a linha imediatamente após o símbolo de fechamento do parêntese.
Linha 14
Linha 15
Linha 19
Envia ao navegador a string “Sua nota final foi : “.
Linha 20
Linha 21
Você pode verificar que a estrutura de seqüência do PHP é interrompida quando o comando if
detecta que a variável $nota não é maior ou igual a 7. Quando isso ocorre o fluxo de execução é
desviado para a linha 19. Primeiro comando após os parênteses que determina o fim do comando if.
A cláusula else
Você pode desejar que o PHP execute um código ou outro dependendo da avaliação feita da
expressão do if. Para isso utilizaremos a cláusula else. Veja o código abaixo:
Fig. 3 - Script code0803.php
O código acima se assemelha ao script code0802.php exceto pela inclusão de código entre as linhas
17 e 22.
Nestas linhas através da cláusula else permitimos que o comando if execute um ou outro bloco
dependendo da avaliação realizada na linha 12. Caso ela seja verdadeira será executado o bloco de
código compreendido entre as linhas 14 e 15. Caso ela seja falsa será executado o bloco entre as
linhas 19 e 20.
Mais uma vez o comando if foi utilizado para alterar a seqüência de comandos, porém desta vez a
cláusula eles foi utilizada para executar um bloco alternativo caso a avaliação da linha 12 seja falsa.
A cláusula elseif
É possível através da cláusula elseif definir vários blocos a serem executados dependendo do valor
resultante de várias expressões. Veja o código abaixo:
Através da linha 17 incluímos mais uma expressão de avaliação o que permite que o comando if
execute um dos três blocos de código da seguinte forma.
Se a nota for maior ou igual a 7 será executado o bloco entre as linhas 14 e 15.
Se a nota for maior ou igual a 4 e menor que 7 será executado o bloco de código entre as linhas 19 e
20, caso contrário será executado o bloco de código entre as linhas 24 e 25.
Desta forma o comando if e as cláusulas elseif e else permitem mudar a seqüência de comandos a
serem executados.
No próximo artigo estudaremos um outro comando que pertence a estruturas de seleção o comando
switch.
» code0801.php
» code0802.php
» code0803.php
» code0804.php
Até mais,
Almir Rivas
rivasalmir@gmail.com
Estrutura de controles
Objetivos:
Pré-requisitos:
Ter estudados os artigos anteriores ou ter alguma experiência com PHP.
Estruturas de controle
Estruturas de seleção
O comando switch
O comando switch pode ser usado como uma alternativa ao comando if com a cláusula elseif.
Existe uma diferença básica entre estes comandos. O comando switch avalia uma única expressão
executando diferentes blocos de código de acordo com a expressão avaliada. A expressão avaliada
precisa também ser de um tipo simples como um número, uma string ou valor booleano. No
comando switch o valor da expressão é testado a cada cláusula case.
Entendendo o código:
Linha 12
Linha 15
Linha 16
Se a expressão $carnaval contiver a string “carnaval” imprime a mensagem “feliz carnaval !”.
Linha 19
Linha 22
Se a expressão $feriado não contiver nenhum dos dois valores imprime a mensagem “tenha um bom
dia.”.
Observe que em todos os blocos de códigos imediatamente abaixo dos cases a última linha é um
comando break. Este comando é necessário para que os demais cases e o default não sejam
executados. Se não houver o comando case no código acima a mensagem “tenha um bom dia.”
sempre será executada. Pois ela é verdade em qualquer situação.
Usando o operador ?
O operador ? é semelhante ao comando if porém ele retorna um dos dois valores das expressões
seguintes a expressão avaliada.
Se a expressão avaliada for verdadeira a segunda expressão é retornada se for falso a terceira
expressão será retornada.
Linha 12
Linha 14
Caso a variável $sexo contenha a string “m” será enviado para o comando print a string “Sexo
feminino”, caso contrário será enviado para o comando print a string “Sexo masculino”.
A primeira expressão dele é ($sexo=”m”) que avalia se o valor contido na expressão $sexo equivale
a string “m”. Se isso for verdade o operador ? retorna a sua segunda expressão que é a string “Sexo
feminino” senão for verdade retorna a sua terceira expressão que é a string “Sexo masculino”.
No exemplo acima utilizamos todos os controles de seleção que estudamos até o momento. Eles
estão encadeados o que pode confundir um pouco você porém vamos para uma breve explicação de
como este código deverá ser processado pelo PHP.
A primeira estrutura de seleção que encontramos é o comando if (linha 10) com suas cláusulas
elseif (linha 14) e else (linha 34).
O bloco de código entre as linhas 11 e 13 só será executado se nota tiver uma valor inteiro menor
que 4.
Se o valor contido na variável $nota for maior ou igual a 4 ou menor que 7 será executado o bloco
de código entre as linhas 15 e 33.
Caso contrário o bloco de código entre as linhas 35 e 38 será executado.
Bom, acabamos de esclarecer como funcionará a estrutura de seleção if e suas cláusulas elseif e
else.
Entre as linhas 16 e 33 usamos a estrutura de seleção switch que examina a variável nota e faz toma
as seguintes decisões:
Se for um outro valor qualquer diferente de 4 e 5 executa o bloco de código entre as linhas 29 e 32.
Na linha 36 temos o comando print que imprime uma determinada mensagem de acordo com a
avaliação da expressão $nota==10.
Se a variável $nota contiver o valor inteiro 10 a string “Brilhante, você acertou tudo.” Será enviada
para o comando print enviar para o navegador. Caso contrário a expressão “Parabéns. Mas com um
pouco mais de estudo poderia ter acertado tudo.” é que será enviada ao comando print.
http://www.showy.com.br/~tutorial/artigos/phpbasico/9/code0901.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/9/code0902.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/9/code0903.php
Baixe os fontes dos arquivos em:
http://www.showy.com.br/~tutorial/artigos/phpbasico/9/code09.zip
Até lá,
Almir Rivas
rivasalmir@gmail.com
Estrutura de controles
Objetivos:
Pré-requisitos:
Estruturas de controle
Estruturas de repetição
Estruturas de repetição permitem que um bloco de código seja executado “n” vezes até que uma
determinada condição seja satisfeita.
O comando while
While (expressão){
Bloco de código
}
A “expressão” deve ser avaliada como verdadeira para que o “Bloco de código” seja executado.
Quando esta expressão for avaliada como falsa o “Bloco de código” não será mais executado.
Na linha 15 o comando print envia para o navegador a string “<H”, concatenada ao valor da
variável $contador, concatenada a string “>Hello World !</H”, concatenada ao valor da variável
$contador, cantenada a string “>\n”.
Na primeira vez que esta linha é executada a seguinte string é enviada ao navegador “<H1>Hello
World !</H1>\n”.
A string “\n” envia um salto de linha para o navegador. Evitando que todos os textos fiquem na
mesma linha.
Pela imagem acima você pode verificar que o loop só é executado enquanto o valor de contador
seja menor ou igual a 6.
O comando do...while
O comando do...while é semelhanteao comando while. A diferença básica é que o bloco de código é
executado ao menos uma vez antes mesmo que a expressão seja avaliada. Veja a forma genérica de
como utilizar o comando do...while.
do {
// bloco de código
} while (expressão);
O bloco de código entre as linhas 14 e 18 será executado ao menos uma vez, pois a expressão só é
avaliada pela primeira vez após ter passado por ele.
Esta é a diferença fundamental entre os comandos do..while e while. No comando while o bloco de
código só é executado se a expressão avaliada for verdadeira, no comando do...while ele vai ser
executado ao menos uma vez antes da expressão ser avaliada e só será executado novamente se ela
for verdadeira.
É muito importante que em algum momento dentro do loop valores possam ser alterados e tornem a
condição falsa. Isto porque se a condição nunca for avaliada como falsa o bloco de código dentro do
comando do...while ou while será repetido indefinidamente.
Veja um exemplo:
$contador = 10;
While ($contador > 1){
$contador++;
No código acima o contador sempre será maior que 1. Pois além de a variável ser inicializada com o
valor 10, que é maior que 1, o bloco de código apenas incrementa a variável e nunca a tornará
menor ou igual a 1 o que faria a expressão ser avaliada como falsa.
Tenha muito cuidado com este tipo de erro ele além de não realizar o que você deseja ainda
consome todo o recurso do seu servidor gerando problemas para todos que o utilizam.
No script acima podemos ver um loop com o comando while encadeado a um loop utilizando o
comando do...while.
Devemos ter cuidado quando usarmos o comando do...while para verificarmos se realmente
desejamos que o bloco de código seja executado ao menos uma vez.
http://www.showy.com.br/~tutorial/artigos/phpbasico/10/code1001.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/10/code1002.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/10/code1003.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/10/code10.zip
Até a próxima,
Almir Rivas
rivasalmir@gmail.com
Estrutura de controles
Objetivos:
Pré-requisitos:
Estruturas de controle
Estruturas de repetição
O comando for
O comando for permite que você faça loops da mesma forma como você consegue fazer loops com
while e do...while. Na verdade sempre que você desejar criar um loop que será controlado por
contadores o ideal é que use o comando for. Deixe o while e o do..while para os loops que não
exigem contador, incremento ou decremente de uma variável.
O comando for permite uma maior facilidade para controles destes tipos de loops, visto que, o valor
inicial, o incremento e a expressão a ser validada estão todas na mesma linha.
Agora veja a utilização de for para realizar ações semelhantes a que realizamos com o while e o
do...while no artigo anterior.
A segunda expressão $contador <=6 é a expressão que deve ser válida para que o bloco de códigos
entre as linhas 12 e 14 sejam executados.
A terceira expressão $contador++ é quem incrementa o contador após o bloco de código ser
executado.
Veja agora um exemplo da utilização do comando for criar um loop que decrementa uma variável.
Com o comando for você também deverá ter o cuidado de não criar loops infinitos, ou seja, você
deve ter certeza que a expressão que será avaliada, em algum momento, será falsa. A utilização do
comando for conforme o código abaixo gera um loop infinito.
print $contador;
O PHP irá imprimir o valor do contador até que todo o recurso do servidor se encerre ou até que
alguém para o script.
O comando break
Você pode desejar sair do loop que esta sendo executado antes que a expressão seja avaliada como
falsa. Para isso você poderá utilizar o comando break.
Fig. 5 - Listagem do script code1103.php
Na listagem acima quando a variável $contador tem o valor equivalente a 5 o comando break é
executado. Este comando força a saída do loop em que ele se encontra. No caso do código acima ele
sai imediatamente do loop da linha 11 indo para a linha 22.
O comando break pode também interromper loops criados com o comando while ou do...while.
Veja os exemplos a seguir:
Fig. 7 - Listagem do script code1104.php
No script acima antes que o contador seja maior ou igual a 100 (linha 13) o loop é interrompido
(linha 19). O comando if da linha 17 executa o comando break (linha 19) no momento em que ele
avalia que $contador é igual a 10 (linha 17). Neste momento o loop (linha 13 a 26) é interrompido.
Para ver os scripts deste artigo funcionando basta clicar nos links abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/11/code1101.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/11/code1102.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/11/code1103.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/11/code1104.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/11/code11.zip
Almir Rivas
rivasalmir@gmail.com
Estrutura de controles
Objetivos:
Pré-requisitos:
Estruturas de controle
Estruturas de repetição
O comando continue
O salto que permite não imprimir os números 5, 10 e 15 são determinados pelas linhas 17 a 21.
Todas as vezes que a variável $contador for equivalente a um desses valores o comando continue
(linha 19) é executado levando o fluxo de execução do programa para a linha 13 impedindo a
impressão do valor de contador (linha 23).
O comando continue não sai do loop apenas redireciona o fluxo uma nova validação (linha 13).
Conforme mostramos em artigos anteriores os loops podem ser encadeados um com os outros.
O comando foreach
O comando foreach é uma estrutura de loop especial e é usada no PHP 4 para varrer os elementos
de um array. Veja exemplo abaixo:
Na linha 11 cria atribui a variável $equipes um array contendo o nome das seguintes equipes de
fórmula 1: Ferrari, McLaren, Red Bull, Williams, Sauber BMW e BAR Honda.
Na linha 13 o comando foreach varre o array da variável $equipes atribuindo a cada iteração o valor
da string contida no elemento do array para a variável $nomeEquipe.
A linha 15 envia para o navegador uma string contendo o nome da equipe e a tag <BR>.
Esta não é a melhor forma de armazenar dados. Abaixo vemos apenas um exercício para treinarmos
o que aprendemos com estruturas de controle.
Fig. 5 - Primeira parte do script code1203.php
Fig. 6 - Segunda parte do script code1203.php
Você já deve compreender o script code1203.php. Tente estuda-lo e se tiver alguma dúvida sobre
ele não exite em me contactar. Na medida do possível estarei esclarecendo suas dúvidas.
http://www.showy.com.br/~tutorial/artigos/phpbasico/12/code1201.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/12/code1202.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/12/code1203.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/12/code12.zip
Até lá,
Almir Rivas
rivasalmir@gmail.com
Funções
Objetivos:
Neste artigo iremos tratar das diversas estruturas de controle.
Pré-requisitos:
Funções
Uma função pode ser definida como uma máquina que recebe um determinado material em sua
entrada processa ele e produz um resultado.
Existem funções que podem ser definidas por usuários. Estas funções permitem que possamos
utilizar forma mais inteligente os códigos criados. Evitando redundâncias e aproveitando códigos
escritos anteriormente.
// bloco de código
Na linha 12 a palavra reservada function declara a função imprimirBoasVindas e não define para
ela argumentos.
A linha 14 define o que a função imprimirBoasVindas faz. Ela envia para o navegador a mensagem
“Seja bem-vindo !”.
A linha 19 executa a função imprimirBoasVindas que envia para o navegador a string “Seja bem-
vindo !”.
A linha 12 possui a palavra reservada function que declara a função somarParcelas e declara que
ela receberá dois parâmetros o $parcela1 e o $parcela2.
Um grande número de funções retorna um valor após realizar uma determinada ação. Isso
possibilida uma utilização mais racional da função. Veja o código a seguir:
Este código se assemelha muito ao código anterior, porém a diferença básica é que ele retorna um
valor após executar a função.
Na linha 12 temos a palavra reservada function que declara a função somarParcelas que recebe dois
parâmetros.
Você deve ter percebido que o resultado do script code1302.php é muito semelhante ao resultado do
script code1303.php. A diferença básica é que podemos utilizar o resultado da função
somarParcelas do script code1303.php para executar outras operações, enquanto o resultado
produzido pela função somarParcelas no script code1302.php apenas envia para o navegador o
resultado da função.
A linha 24 imprime uma string que contém os valores das variáveis combinados com textos.
A linha 29 imprime uma string que contém os valores das variáveis combinados com textos.
http://www.showy.com.br/~tutorial/artigos/phpbasico/13/code1301.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/13/code1302.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/13/code1303.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/13/code1304.php
Baixe os fontes dos scripts utilizados neste artigo clicando no link abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/13/code13.zip
Almir Rivas
rivasalmir@gmail.com
Neste artigo estaremos estudando um pouco mais sobre os parâmetros das funções.
Pré-requisitos:
Vimos no artigo anterior que podemos definir uma função que recebe parâmetros ou uma função
que não recebe parâmetros. Podemos também definir funções com parâmetros contendo valores
padrões, ou seja, parâmetros que podem ou não ser fornecidos no momento da utilização da função.
Na linha 11 a palavra chave function define a função multiplicar com dois parâmetros. O parâmetro
$fator1 que deve sempre ser informado e o parâmetro opcional $fator2 que quando não for
informado assumirá o valor do inteiro 2.
A linha 13 multiplica o valor do parâmetro $fator1 pelo valor do $fator2 e devolve este valor como
retorno da função.
A linha 19 imprime o retorno da função multiplicar. Nesta linha passamos apenas um parâmetro
para a função multiplicar o outro parâmetro não é passado e como definido na linha 11 terá como
valor o inteiro 2.
Na linha 22 imprimimos o retorno da função, porém desta vez informamos os dois parâmetros,
sendo assim o valor padrão do segundo parâmetro $fator2 não será considerado e será assumido
como valor do segundo parâmetro o valor informado, o inteiro 3.
Veja o resultado desta função na figura abaixo:
Por padrão o PHP passa os parâmetros por valor. Isto significa que o PHP copia o valor enviado
como parâmetro para o valor da variável que recebe este valor, ou seja, você pode trabalhar com
este valor à vontade dentro da função que o seu valor original não será alterado.
Na linha 12 utilizamos a palavra chave function para definir a função multiplicar que possui dois
argumentos: $fator1 e $fator2. O $fator2 é um parâmetro que tem um valor padrão definido, no
caso 2.
Das linhas 27 a 30 imprimimos os valores das variáveis $para1 e $para2 antes de executar a função.
Veja que na linha 29 e 30 utilizamos o caractere \ para que o PHP não interpréte $ como o
identificador da variável. Desta forma podemos imprimir as strings “$para1” e “$para2”.
Entre a linha 32 e 35 executamos a função multiplicar passando os valores das variáveis $para1 e
$para2 por valor e imprimimos o resultado.
Nas linhas 37 a 40 imprimimos novamente os valores das variáveis $para1 e $para2. Como os
valores foram passados por valor os valores destas variáveis não foram alterados, pois apenas a
cópia de seus valores foram passadas para função.
Quando passamos um parâmetro por valor apenas a cópia do valor é passada para a função. Isto
permite que os valores possam ser alterados dentro da função e isto não reflita na variável que
passou o valor.
No script acima podemos ver que os valores recebidos como parâmetros são alterados dentro da
função, linhas 15 e 16.
E mesmo assim estas alterações não são refletidas nos valores das variáveis $para1 e $para2 que
tem seus valores mostrados logo após a execução da função.
Para ver os scripts deste artigo em funcionamento na Web clique nos links abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/14/code1401.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/14/code1402.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/14/code14.zip
Até lá,
Almir Rivas
rivasalmir@gmail.com
Pré-requisitos:
No artigo anterior explicamos a forma padrão do PHP para passar parâmetros. A passagem de
parâmetros por valor, agora iremos mostrar como funciona a passagem de parâmetros por
referência.
A linha 12 utilizamos a palavra chave function para definir a função multiplicar e definir os
parâmetros por ela utilizados. O primeiro parâmetro $fator1 não tem um valor padrão, já o segundo
parâmetro $fator2 tem um valor padrão que é o inteiro 2.
Veja que usamos o caractere \ no início das strings da linhas 29 e 30 para que o PHP interprete o
“$” como um caractere comum e não como parte do identificador da variável.
Entre a linha 33 e 35 executamos a função e passamos os valores de $para1 e $para2 por referência.
Para fazermos isso utilizamos o caractere & (e comercial) a esquerda do identificador de ambas as
variáveis.
Podemos ver que os valores das variáveis $para1 e $para2 foram alterados após a execução da
função. Isto ocorreu porque os parâmetros foram passados por referência, conforme podemos ver na
imagem abaixo:
Quando os parâmetros são passados por referências, ao contrário da passagem de parâmetros por
valor, os valores das variáveis não são copiados para os parâmetros e sim o endereço de onde esta
este valor armazenado na memória.
Lembre-mos que todo valor de uma variável fica armazenado em um determinado endereço da
memória do computador. Quando passamos os parâmetros por valor este valor armazenado na
memória e copiado para um outro endereço.
Quando este valor é passado por referência apenas é informado o endereço deste valor. Desta forma
qualquer alteração realizada nestes valores é realizada em seu endereço original e não em sua cópia.
O PHP permite que você passe um número de parâmetros diferente do definido no momento de
definição da função.
Veja que na definição da função, linha 12, não é determinado nenhum parâmetro para ela. Porém na
chamada da função, linha 51, são passados 4 parâmetros.
Estes parâmetros podem ser detectados e usados com o uso das seguintes funções.
Como não há nenhum comando novo exceto as funções citadas. Deixo você quebrar um pouco a
cabeça para entender o código do script code1502.php.
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code1501.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code1502.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code15.zip
Até o próximo artigo,
Almir Rivas
rivasalmir@gmail.com
Neste artigo iremos mostrar algumas outras operações possíveis de se fazer com funções que podem
ajudar você no desenvolvimento de aplicações
Pré-requisitos:
O PHP permite que você declare funções dentro de funções. Veja um exemplo no código abaixo:
Fig. 1 Listagem do script code1601.php
Na linha 13 a palavra chave function declara a função funcaoPai que não possui argumentos.
A linha 28 executa a função funcaoPai uma das ações desta função e declarar a função funcaoFilho.
Na linha 32 podemos executar a funcaoFilho pois a mesma já foi definida quando a funcaoPai foi
executada.
AS vezes precisamos que uma função retorne mais de um valor. Para isso podemos utilizar o
recurso de retornar um array pela função.
A linha 19 inicializa a variável $equipes com o array retornado pela função equipesFormula1.
Na linha 24 o comando foreach varre o array $equipes atribuindo a cada iteração o valor do registro
atual do array para a variável $equipe.
Uma variável declarada dentro de uma função só esta disponível dentro daquela função. Não pode
ser acesada fora daquela função nem em outra função.
Para entendermos um pouco mais sobre escopo de variáveis trabalhamos com duas variáveis dentro
do script acima. Um variável chamada $variavelFora e incializada e recebe um valor fora da função,
linha 12, e a outra variável chamda $variavelDentro é declarada e incializada dentro da função,
linha 20.
Podemos ver neste exemplo que nem a variável $variávelFora consegue ser “vista” dentro da
função e nem a variável $varialvelDentro consegue ser vista fora da função.
http://www.showy.com.br/~tutorial/artigos/phpbasico/16/code1601.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/16/code1602.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/16/code1603.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/16/code16.zip
Almir Rivas
rivasalmir@gmail.com
Neste artigo iremos mostrar algumas outras operações possíveis de se fazer com funções que podem
ajudar você no desenvolvimento de aplicações
Pré-requisitos:
Funções variáveis
O PHP permite que você coloque nome de funções dentro de uma variável e a execute da mesma
forma que executaria a função.
Entre as linhas 11 e 24 definimos três funções que recebem um parâmetro e os imprime entre as
<H1>, <H2> ou <H3>.
Na linha 28 iniciamos um loop que varre o bloco de código do for por 3 vezes. Na linha 33 cada
valor da variável $contador faz com que seja atribuído a variável $funcaoVariavel o nome da
função que será executada na linha 56 e ainda o valor atribuído a variável $msg que será passada
como parâmetro.
Na linha 56 a variável $funcaoVarial é executada de acordo com a função que ela representa.
Veremos de acordo com o resultado abaixo que as 3 funcoes são executadas.
Fig. 3 Resultado do script code1701.php
No último artigo mostramos como funciona o escopo das variáveis. Existem formas de burlar o
funcionamento padrão. Veja o código abaixo:
Fig. 4 Listagem do script code1702.php
No script acima foi definida uma função entre as linhas 14 e 18 que tenta imprimir a variável
$mensagem. Como já vimos isto anteriormente a função acaba por não imprimir nada.
Temos que ter cuidado. Pois se esta variável for alterada dentro da função as alterações se refletirão
fora dela.
Utilizando o comando static também é possível recuperar o valor anterior de uma variável.
Na linha 13 inicializamos a variável $contador atribuindo a ela o valor 0 e usando o comando static.
Com este comando iremos permitir que a variável lembre-se do valor armazenado cada vez que
chamarmos a função.
Nas linhas 23, 25, 27, 29 e 31 executamos a função e de acordo com o resultado mostrado abaixo
podemos verificar que o valor da variável $contador declarada com o comando static dentro da
função é lembrado a cada vez que a chamamos. Isto possibilita sabermos quantas vezes a função foi
executada/chamada.
http://www.showy.com.br/~tutorial/artigos/phpbasico/17/code1701.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/17/code1702.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/17/code1703.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/17/code17.zip
Até o próximo artigo,
Almir Rivas
rivasalmir@gmail.com
Pré-requisitos:
Nota:
O que é um array?
Um array é uma variável especial que armazena dentro dela um conjunto de valores que podem ser
acessados por um índice. No PHP é possível também atribuir chaves a este conjunto de valores.
Criando um array
A linha 12 inicializa a variável $equipes e atribui a ela o vetor criado pelo comando array e seus
parâmetros “Ferrari”, “McLaren”, “Sauber BMW” e “BAR Honda”.
Depois da execução desta linha a variável $equipes armazena uma referência ao conjunto de valores
mostrado na tabela abaixo.
Por isso que na linha 17 ao imprimir o primeiro elemento utilizamos índice 0 para mostrar seu
conteúdo e assim sucessivamente.
Novamente podemos na linha 20 que o primeiro elemento é referenciado pelo índice 0 e assim
sucessivamente.
Existe uma outra forma de se criar vetores. De fato não há mudança na forma como cria-los, mas
sim na forma como acessa-los. Podemos criar arrays associando a ele uma chave.
No código acima utilizamos o comando array para criar um novo array, porém utilizamos o
conceito de chaves. Para cada elemento do array é atribuído uma chave e podemos acessar o
elemento por esta chave.
Na linha 15 para resgatar o elemento que possui o valor “Pedro Bismark” utilizamos a chave
“nome”.
http://www.showy.com.br/~tutorial/artigos/phpbasico/18/code18.zip
Neste artigo iremos tratar um pouco mais sobre os detalhes de criação de arrays.
Pré-requisitos: Ter estudados os artigos anteriores ou ter alguma experiência com PHP.
É possível criar arrays com mais de uma dimensão como podemos verificar no código abaixo:
Fig. 1 Listagem do script code1901.php
No script acima, linhas 12 a 16, criamos um array multidimensional que pode ser representado pela
tabela a seguir:
Na linha 12 o primeiro comando array cria as linhas e os demais comandos array criam as colunas
da tabela acima.
Os elementos podem ser criados em ordem aleatória. Normalmente criamos elementos um após o
outro em seqüência. Porém o PHP permite que os elementos sejam intercalados como veremos no
código abaixo:
Fig. 3 Listagem do código code1902.php
Neste caso o PHP se encarrega de verificar qual o último índice do vetor $funcionario e a ele
adicionar +1 na criação de um novo índice.
Podemos utilizar o a função unset() para excluir elementos de um array ou todos os elementos de
um array. Veja o código abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/19/code1901.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/19/code1902.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/19/code1903.php
Para baixar os fontes clique no link abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/19/code19.zip