0% acharam este documento útil (0 voto)
28 visualizações58 páginas

Livro - Web II

Enviado por

andré Marchal
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
28 visualizações58 páginas

Livro - Web II

Enviado por

andré Marchal
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 58

Gestão Profissional

academy of art

WEB II
WEBII

INDICE

Capitulo 1- Introduções ao PHP...............................................01

Capitulo 2- Instalação de Servidores.......................................03

Capitulo 3- Variáveis e Constantes do PHP.............................24

Capitulo 4- Operadores............................................................32

Capitulo 5- Funções..................................................................39

Capitulo 6- Formulários.............................................................46

Capitulo 7- Introdução ao Msql.................................................51

Capitulo8- Criação de Banco de Dados....................................52


Capitulo 1- Introduções ao PHP WEB II

INTRODUÇÃO AO PHP

A linguagem PHP é uma linguagem de programação criada especialmente para o uso


em páginas Web. Mas nem por isso ela não pode deixar de ser usada em ambientes
desktop, aplicações servidoras, aplicações de rede, entre outros. Mas o principal
escopo da linguagem é justamente trabalhar com o ambiente Web. O site do PHP é
http://www.php.net, e lá você pode encontrar os arquivos necessários para a
instalação em vários sistemas, inclusive o Linux e o Windows.
Para quem não conhece linguagens de programação, PHP pode ser umpouco difícil
no começo, como toda linguagem, mas quem já está habituado à programar, vai
perceber que PHP é muito fácil. . O PHP se diferencia justamente pela rapidez e
agilidade que os programadores têm em fazer programas e sistemas, pois com o
PHP consegue-se desenvolver muito maisrapidamente do que outras linguagens de
programação para Web tais como ASP ou JSP.
E se já não bastasse, o uso do PHP já é muito difundido na Internet. Uma boa
quantidade de páginas dinâmicas por aí na Internet são feitas justamente com a
linguagem PHP. O PHP é software livre, ou seja, seu código-fonte está disponível
para todos.

O USO DO PHP COM BANCOS DE DADOS

Uma das melhores habilidades do PHP é lidar com bancos de dados de uma forma
fácil. Hoje em dia os sistemas para Web estão cada vez mais usufruindo das
capacidades magníficas que os bancos de dados podem oferecer.
O MySQL é um banco de dados simples, rápido e eficiente para se trabalhar com
sistemas Web. Nos capítulos adiantes estaremos estudando melhor o MSQL e
entendendosuas aplicações juntamente com o PHP.

SERVIDOR WEB APACHE

O QUE É O APACHE?

Toda vez que você acessa um site, uma requisição é enviada ao servidor em que o
site está rodando, este por sua vez realiza algum processamento baseado nestas
requisições e responde à solicitação com algum serviço. Um servidor é um computador
disponibilizado em uma rede com o objetivo de prover serviços para outros hosts. No
caso de sites estamos falando do servidor Web.
O servidor Apache ou Servidor HTTP Apache é o servidor web mais utilizado do mundo

pag.1
Capitulo 1- Introduções ao PHP WEB II

FUNCIONAMENTO DO SERVIDOR WEB APACHE

Funcionado na estrutura cliente-servidor, o servidor web Apache, recebe as requisições


do cliente (browser) e responde ao cliente em codificação HTML. O servidor web
interpreta a codificação HTML e não interpreta o código PHP.
Ao receber uma solicitação .php o servidor aciona o Interpretador PHP que processa
as solicitações do código PHP tais como, acessar banco de dados, sistema de arquivos,
acesso ao servidor de correio eletrônico etc e retorna para o Apache em formato
HTML e ele manda para o browser. O browser lê o código HTML e monta a página
web para o usuário.
O Apache é desenvolvido na plataforma de software livre e segue as quatro liberdades
da Free Software Foundation, e é fundamental para o funcionamento da web.

pag.2
O Apache é o servidor mais popular da web, foi criado em Abril de 1996 com o intuito de
ser um servidor HTTP gratuito para sistemas UNIX e Windows. O objetivo do projeto é de
fornecer um servidor seguro, eficiente e extensível que forneça serviços de HTTP em
sincronia com os padrões HTTP.
O intuito desse post é de tonar você capacitado a instalar o Apache, o PHP, o MySQL, e
o phpMyAdmin no Windows 7, Vista ou XP sem a utilização desses sistemas prontos,
como o WampServer, XAMPP, PHP Triad. A vantagem de instalar tudo separado é que
você não fica sujeito as configurações que os programas já impõem, ou muitas vezes
podem até não funcionar corretamente como deveriam.

INSTALAÇÃO DO APACHE

Crie uma pasta chamada Webserver,( você pode instalá-lo onde quiser, se quiser seguir
a minha lógica basta criar uma pasta chamada Webserver na raiz do seu HD), ficando da
seguinte forma: C:\Webserver. Após incie o instalador do Apache, a primeira tela de
instalação é semelhante a essa:
Capitulo 2- Instalação de Servidores WEB II

Basta seguir os passos, e você irá chegar a seguinte tela de configuração. Aqui é onde
iremos efetuar algumas configurações do servidor, basta preencher o primeiro campo
com o valor localdomain, o segundo campo com localhost e o terceiro um e-mail que
desejar.
É recomendável que você deixe o Apache rodando na porta 80, não que isso seja
obrigatório, você pode alterar caso queira. Basta após clicar em Next:

Chegamos no passo onde iremos escolher o tipo


de instalação, eu selecionei Custom pois quero
personalizar a pasta de instalação do Apache:

Por padrão, o Apache será instalado na pasta


Arquivos de Programas > Apache Software
Foundation > Apache 2.2.

pag.4
Capitulo 2- Instalação de Servidores WEB II

Basta agora clicar em Install e a instalação será


iniciada:
Após o término da instalação, você verá que
apareceu na sua System Tray (aqueles ícones
que ficam ao lado do relógio do Windows) um
novo ícone, o Apache Monitor:

Através dele temos acesso ao status do Apache,


onde podemos obter informações se ele está
rodando, podemos também parar o sevidor,
reiniciá-lo e iniciá-lo. Basta clicar com o botão
direito no ícone e escolher Open Apache Monitor:

Já que o Apache está rodando corretamente,


vamos testá-lo na prática, abra o seu browser e
digite o seguinte na barra de endereços:
http://localhost/. Você verá uma mensagem
semelhante a abaixo:

As versões mais antigas do Apache exibiam outras informações.


As páginas ficam por padrão dentro da pasta “htdocs”, no diretório onde o
Apache foi instalado.

pag.5
Capitulo 2- Instalação de Servidores WEB II

.
Se você ao acessar localhost em seu browser e ele ficar buscando o servidor, abrir uma
página de busca, ou até mesmo retornar Servidor não encontrado, atente-se se o Apache
está rodando corretamente e o mesmo foi iniciado. Se você efetuou esses passos e
mesmo assim ele não está funcionando, instale-o novamente seguindo os passos acima
que o problema pode ser resolvido.
Até agora nosso servidor lê somente HTML puro. Porém, é diferente a forma de acesso
do endereço “http://localhost/index.html” de “C:\Webserver\Apache2.2\htdocs\index.html”.
No primeiro caso, o navegador solicita a página ao servidor “localhost” (que é o seu
computador), recebe a página do servidor, armazena a mesma no cache, e só depois
então a exibe. Ele trata como se fosse um site que estivesse realmente hospedado em
algum servidor da Internet. Como o servidor do site está no seu próprio PC, trata-se então
de uma Intranet. No segundo caso, você está acessando o arquivo diretamente do seu
HD. O navegador pode até armazenar algum dado no cache, mas não há nenhuma
comunicação com qualquer servidor. Ele lê o arquivo como qualquer programa leria
qualquer arquivo.

CONFIGURAÇÕES EXTRAS PARA O APACHE

Após a instalação do Apache, vamos efetuar algumas configurações adicionais simples,


para isso, vamos alterar o arquivo httpd.conf que está localizado dentro da pasta conf no
diretório de instalação do Apache. Cuidado ao editar esse arquivo, pois qualquer erro e
seu servidor pode parar de funcionar. Para habilitar o uso de URL’s amigáveis no servidor,
você deve habilitar o módulo de mod_rewrite, bastando localizar a linha:

#LoadModule rewrite_module modules/mod_rewrite.so


E substituir a mesma por:

LoadModule rewrite_module modules/mod_rewrite.so


Vamos definir agora também quais arquivos o Apache irá servir quando um diretório for
requisitado. Procure a seguinte linha:

DirectoryIndex index.html
E substituir a mesma por:

pag.6
DirectoryIndex index.html index.php

INSTALAÇÃO E CONFIGURAÇÃO DO PHP

A partir de agora vamos proporcionar mais interatividade ao nosso servidor com a


instalação do PHP, é um módulo para o Apache. Ao processar uma página PHP, o
Apache envia a página ao módulo PHP, que a processa e devolve o resultado ao Apache,
que por sua vez, envia ao browser que fez a solicitação.
Para isso, a instalação do PHP consiste basicamente em colocar os arquivos numa pasta,
e configurar o Apache para que “enxergue” os módulos PHP e chame-os sempre que
encontrar um arquivo .php.
As telas de instalação poderão ser diferentes em outras versões, mas as idéias serão
basicamente as mesmas
Capitulo 2- Instalação de Servidores WEB II

Nesse próximo passo, ele irá solicitar o


local dos arquivos de configuração do
Apache. Localize a pasta “conf”, dentro
da pasta onde foi instalado o Apache,
senão a configuração não será
automatizada e você terá que efetuar a
mesma manualmente:

O próximo passo é onde você escolhe


quais extensões quer instalar junto com
o PHP, escolha as que julgar necessário
ou simplesmente deixe como está:

Ao final do processo, caso esteja tudo OK,


basta agora clicar no botão install:

Se tudo ocorreu bem até aí, nenhuma mensagem de erro será exibida.
Basta agora você reiniciar o Apache e as páginas .php serão
processadas e entregues
pag.8
Capitulo 2- Instalação de Servidores WEB II

corretamente ao browser. Ainda não foi configurado um servidor de banco de dados,


então apenas os recursos diretos do PHP funcionarão (e os dos outros módulos
pré-instalados do Apache). Um ótimo meio de testar o PHP e ver diversas informações
do servidor é criar uma página PHP, com o seguinte conteúdo:

Salve a mesma dentro da pasta htdocs com o


nome info.php e então acesse a página pela
seguinte URL: http://localhost/info.php.

Você terá acesso agora a uma página com


todas as informações do PHP e os
componentes instalados:

CONFIGURAÇÃO DO PHP

A configuração do PHP envolve a edição do arquivo php.ini, na pasta onde o PHP for
instalado, portanto, mãos a obra. Uma configuração útil é a ativar o uso de delimitadores
< ? ... ?>, muito usados por serem mais simples. No arquivo php.ini, localize a linha que
começa com short_open_tag e troque seu valor Off para On (Fique atento as letras
maiúsculas e minúsculas). Ela deve ficar dessa forma:
short_open_tag = On
Caso você deixe Off, scripts PHP que iniciem com <? não serão identificados, somente
os scripts que inciem com <?php funcionarão.
Permitir estilo ASP asp_tags = On
Ative este item apenas se você gostar de usar as tags no estilo ASP, como em <% … %>,
caso contrário, pode deixar desativado.
Habilitar a exibição de erros
display_errors = On
Por questões de segurança esse item vem com valor Off.
Sua função é a de imprimir erros de sintaxe ou
funcionamento do PHP na página. Por questões de
segurança, é bom deixá-lo em Off, pois entre as
mensagens de erros muitas vezes vêm nomes de
arquivos, caminhos locais, e até a senha do banco de
dados, se tiver algum erro de sintaxe justamente na
declaração da mesma.
Mas em contrapartida, para aprender PHP, é recomedável
deixá-lo em On.
pag.9
Capitulo 2- Instalação de Servidores WEB II

INSTALAÇÃO E CONFIGURAÇÃO DO MYSQL

O MySQL é um famoso gerenciador de Banco de Dados. Abaixo vamos ver passo a


passo a sua configuração

A interface de instalação é semelhante a


do Apache e a do PHP, não existe muito
segredo, basta ir seguindo os passos que
serão mostrados abaixo. Ao executar o
instalador, você terá acesso a uma tela
semelhante a essa:

O próximo passo é onde iremos selecionar o


tipo de instalação: Típica, Completa ou
Customizada. Eu optei pela instalação
customizada pois quero personalizar a pasta
de instalação do MySQL:

Localização da pasta de instalação do MySQL:

pag.10
Capitulo 2- Instalação de Servidores WEB II

Estando tudo Ok, basta clicar em Install:

Após o final da instalação, vamos efetuar as


configurações do MySQL, basta seguir os
passos que serão mostrados aqui:

A seguir escolha configuração detalhada:


Escolha Developer Machine:

pag.11
Capitulo 2- Instalação de Servidores WEB II

Escolha Multifunctional Database:

No passo ao que se refere a instalação


do InnoDB, deixe como o caminho
Installation Patch:

Deixe selecionado Decision Support


(DSS)/OLAP:

pag.12
Capitulo 2- Instalação de Servidores WEB II

Nesse passo, não se esqueça de deixar


selecionado a caixa “Adicionar excessão ao
Firewall”:

Selecione Best Support for Multilingualism:

A próxima opção é de incluir o caminho do


MySQL na variável de ambiente “Path” do
Windows. Deixe-a selecionada pois assim
você pode chamar os executáveis do MySQL
a partir de qualquer prompt, em qualquer pasta:

pag.13
Capitulo 2- Instalação de Servidores WEB II

No próximo passo deve-se definir a senha de


root, ele é o administrador do MySQL. Caso você
já programe em PHP já sabe que para acessar
um banco de dados é necessário fornecer um nome
de usuário e senha válidos para aquele banco.
Você poderá usar o “root” e a senha definida aqui,
ou outra conta. Mas tenha em mente que para
criar outras contas você precisará do root, e para
alterar as configurações ou criar novos bancos de
dados, também. Por isso é importante ter essa
senha guardada em um local seguro:

No próximo passo basta você clicar em execute


para que o MySQL dê início ao processo de
configuração:

Caso tudo tenha corrido OK, você verá uma tela


como essa, caso tenha algum problema, efetue
as configurações novamente:

pag.14
Capitulo 2- Instalação de Servidores WEB II

Caso queira checar se o serviço do MySQL


está rodando corretamente no Windows,
basta fazer o seguinte. Abra um prompt de
comando, e digite: mysql -u root – p, ele irá
pedir a senha de root que você havia
configurado anteriormente, basta então
digitar a mesma:

Após digite status e pronto, você terá


informações sobre o MySQL:

INSTALAÇÃO DO PHPMYADMIN

Após efetuar o download do PhpMyAdmin, descompacte o mesmo e renomeie a pasta


para phpmyadmin. Após, coloque a pasta dentro do diretório htdocs da pasta de
instalação do Apache. Para acessar agora o PhpMyAdmin basta você digitar o seguinte:
http://localhost/phpmyadmin/, entre com o usuário root e senha que você configurou
para o mesmo na instalação do MySQL e pronto, você já tem acesso ao PhpMyAdmin.

Se você quiser pular esse passo de toda vez ao acessar o PhpMyAdmin ter de se logar,
basta fazer o seguinte. Na pasta do mesmo abra o arquivo config.sample.inc.php e o
renomeie para config.inc.php. Agora basta substituir a linha $cfg['Servers'][$i]['auth_type']
= ‘cookie'; por:

$cfg['Servers'][$i]['user'] = ‘root';
$cfg['Servers'][$i]['password'] = ‘ ‘; // Digite aqui a senha de root
$cfg['Servers'][$i]['auth_type'] = ‘config';
Pronto, agora toda vez ao acessar o PhpMyAdmin ele irá pular a tela de autenticação
pois o usuário e senha já estão cadastrados no arquivo de configuração.

pag.15
INSTALANDO SERVIDOR NO LINUX

INSTALANDO APACHE E PHP

Para começar vamos abrir o nosso terminal e digitar o seguinte comando para instalar
o apache e o PHP
Abra o terminal: CTRL+ATL+T
Execute o comandos abaixo pra adicionar o ppa's do Apache e do PHP:

1.
sudo add-apt-repository ppa:ondrej/php5
2. sudo add-apt-repository ppa:ondrej/apache2

Após, execute:

sudo apt-get update


Instalando
Execute o comando abaixo para iniciar a instalação do Apache e do PHP.

1. sudo apt-get install apache2 php5

CONFIGURANDO O APACHE

Primeiro, vamos configurar o diretório onde nossos arquivos estão (diretório de


publicação / Document Root). Caso você esteja satisfeito com /var/www/, pule para
a próxima seção.

No terminal, abra o arquivo de configuração do apache:

sudo vim /etc/apache2/sites-enabled/000-default


Procure pela linha:

1. DocumentRoot /var/www

E altere para o diretório desejado, no meu caso:


1. DocumentRoot /home/polly/workspace

CONFIGURANDO O ACESSO AO DOCUMENTROOT

Agora, vamos setar algumas configurações para permitir o acesso a


esta pasta, e também a reescrita de URL que será explicada mais pag.16
pag.1
abaixo:
Capitulo 2- Instalação de Servidores WEB II

Ainda no mesmo arquivo - 000-default - adicione as seguintes linhas abaixo de


Docum
entRoot:

1. <Directory /seu/diretorio/aqui>
2. Options Indexes Includes FollowSymlinks ExecCGI
3. Require all granted
4. IndexOptions +FancyIndexing
5. Order allow,deny
6. Allow from all
7. DirectoryIndex index.html index.htm default.htm index.php
8.
</Directory>

As configurações acima estão habilitando e permitindo diversas coisas, mas não


acabe a esse post explicar isso, quem sabe em um outro, de maneira mais detalhada,
tudo bem?

Ao concluir, salve o arquivo e feche-o - no vim :wq.

Então, reinicie o apache:

1. sudo service apache2 restart

Pra testar se tudo está funcionando, navegue até a pasta que você escolheu para o
Apache, no meu caso:
1. cd ~/workspace

~/ que significa: "a partir da pasta do usuário logado", ou seja: /home/patrick


/workspace/.

Crie então o arquivo info.php...

1. touch info.php
2. vim info.php

e adicione as seguintes informações nele:


1. <?php phpinfo(); ?>
Salve e feche o arquivo.

pag.17
Capitulo 2- Instalação de Servidores WEB II

Abra o browser (seu navegador padrão), e digite na barra de endereços:

http://localhost
Aguarde carregar e então clique no arquivo info.php.

E deverá aparecer algo parecido com a imagem abaixo (pois sua versão pode ser
mais recente que a minha, etc):

pag.18
Capitulo 2- Instalação de Servidores WEB II

onfigurando o mod_rewrite
O mod_rewrite é o módulo responsável pela reescrita de URLs no Apache. Ele que
permite o usúario dizer que a url http://www.meusite.com.br deve carregar a url
http://www.meusite.com.br/novo_site.php. Então, vamos configurá-lo!

Abra o terminal: CTRL+ALT+T

E digite o seguinte:

1. sudo a2enmod rewrite

Executando o comando acima, você está habilitando o mod_rewrite, movendo a


extensão da pasta mods-available para a pasta mods-enabled. Simples não?

Agora reinicie o apache:


1. sudo service apache2 restart

Abra seu browser, e digite: http://localhost/info.php. Após carregar, procure por rewrite
e você deverá ver algo assim:

pag.19
Capitulo 2- Instalação de Servidores WEB II

Pronto! Agora a extensão está habilitada no seu Apache.

Lembrando que: para que o .htaccess funcione como esperado, ele deve estar
com a permissão 644:

1. chmod 644 .htaccess

Configurando o PHP

Habilitando a exibição de erros


Há duas opções para fazer isso:

Adicionando no seu .htaccess (local/por projeto)

1. php_value "display_errors" "on"

Alterando o php.ini (global)

Abra o php.ini executando o comando abaixo:

1. sudo vim /etc/php5/apache2/php.ini

Procure por display_errors, e altere o valor para On:

1. display_errors = On

Tamanho máximo do upload


Muitas vezes você publica seu projeto, o cliente tenta fazer o upload de um arquivo
com tamanho maior que 2mb e não consegue. A solução para isso, é alterar no
php.ini as seguintes opções:

Verifique se a opção file_uploads está com o valor On, caso contrário, altere
para On.

1. file_uploads = On

O valor padrão de upload é 2M (2mb), altere para o tamanho desejado

1. upload_max_filesize = 2M

Na opção abaixo, você define a quantidade máxima de arquivos que pode ser
enviado em uma única requisição
pag.20
1. max_file_uploads = 20
Capitulo 2- Instalação de Servidores WEB II

Instalando Extensões
Para instalar as extensões abaixo faça o seguinte:

1. sudo apt-get install nome_da_extensao

Após reinicie o Apache:

1. sudo service apache2 restart

Lista de Extensões
php5-gd: Responsável por manipular imagens (corte, redimensionamento, etc)
1. php5-intl: Internacionalização.

php5-mcrypt: Encriptação (necessária no Laravel 4 por exemplo).

Para ter uma lista completa das extensões disponíveis pra você, digite o seguinte no
seu terminal:

1. sudo apt-cache search php5-

E irá retornar algo como:

pag.21
Capitulo 2- Instalação de Servidores WEB II

Então, basta verificar qual você deseja, e instalar: sudo apt-get install php5-extensao-
que-eu-quero e pronto!

Bônus: Instalando e configurando o PHPMyAdmin


Instalando o MySQL Server 5.6
Execute o comando abaixo:
1.
sudo apt-get install mysql-server-5.6

O instalador irá te pedir a senha desejado para o MySQL, então digite a desejada e
prossiga com a instalação.
No final, o MySQL será iniciado automaticamente.

Instalando o PHPMyAdmin
Execute o comando abaixo:

1. sudo apt-get install phpmyadmin

Após alguns segundos, irá aparecer a seguinte tela:

Como nós instalamos acima o Apache, basta pressionar enter e prosseguir com a
instalação.

Configurando o PHPMyAdmin no Apache


Para que o PHPMyAdmin funcione em conjunto com o Apache, será necessário
adicionar uma linha em específico no arquivo 000-default.conf através do comando
abaixo:

1. sudo vim /etc/apache2/sites-enabled/000-default.conf

Abaixo de CustomLog $..., adicione a linha:


1. Include /etc/phpmyadmin/apache.conf pag.22
Capitulo 2- Instalação de Servidores WEB II

Como na imagem abaixo:

Salve, feche o arquivo e reincie o Apache:

1. sudo service apache2 restart

Abra o navegador e digite: http://localhost/phpmyadmin

Agora, digite o usuário e senha do MySQL e pressione o botão Go.


pag.23
Capitulo 3- Variáveis e Constantes do PHP WEB II

VARIÁVEIS NO PHP

Em termos práticos variáveis são estruturas de dados que podem ser modificadas em
tempo de execução do código. Ou seja, você pode iniciar a variável em uma parte do
código, e depois de atribuir outro valor a esta variável.
Confira um exemplo de como funciona a tipagem dinâmica de variáveis no PHP:

<?php
$var = 'texto';
echo gettype($var);
// Resultado: string

$var = 123;
echo gettype($var);
// Resultado: integer
?>

As variáveis no PHP são identificadas pelo simbolo do dólar($), seguido por um


nome identificador, este nome identificador deve seguir algumas regras, confira:

Deve conter apenas letras( a-z, A-Z ), números e underscore/sublinhado( _ )


Precisa iniciar com uma letra ou underscore/sublinhado
Case-sensitive, ou seja, $var é diferente de $VAR

<?php
$var = 'válido';
$_var = 'válido';
$1var = 'inválido'; // Erro de sintaxe
?>

Para toda regra, existe uma exceção, confira:

<?php
${'123'} = 456;
echo ${'123'};
// Resultado: 456
?>

pag.24
Capitulo 3- Variáveis e Constantes do PHP WEB II

Desta forma podemos utilizar qualquer nome identificador, passando uma string
envolvida por chaves { }, o que faz o PHP interpretar o identificador como uma
string, sem se preocupar com a real nomenclatura da variável.

Função isset($variavel)

Está função verifica se uma variável já foi inicializada, retonando true caso o valor
da variável seja diferente de null.

<?php
$foo = 'bar';
$baz;

isset($foo);
// Resultado: true
isset($baz);
// Resultado: false
?>

Utilizar uma variável que não foi inicializada gera um erro, “Undefined variable $var”,
mesmo que seu ambiente não esteja configurado para mostrar este tipo de erro é
recomendado verificar com a função isset($var) se a variável que será utilizada está
realmente inicializada.
Função empty($variavel)

Está função verifica se o conteúdo de uma variável está vazio.

<?php
$foo = 'bar';
$baz = null;

empty($foo);
// Resultado: false
empty($baz);
// Resultado: true
?>

pag.25
Capitulo 3- Variáveis e Constantes do PHP WEB II

Confira os valores que a função empty($variavel) considera vazio:

$var = “”; ( string vazia )


$var = 0; ( valor inteiro zero )
$var = “0″; ( string com valor zero )
$var = NULL; ( variável com valor null )
$var = FALSE; ( variável com valor boolean false )
$var = array(); ( array vazio )
var $var; ( variável declarada sem valor, dentro de uma classe )

VARIÁVEIS POR REFERÊNCIA

O recurso de variáveis por referência no PHP permite que duas ou mais variáveis se
refiram ao mesmo conteúdo armazenado em um bloco de memória, veja um
exemplo abaixo:

<?php
$a = 2;
$b = $a;
$c = &$a;
// ou $c =& $a;
$c = 4;

echo $a;
// Resultado: 4
?>
No exemplo acima iniciamos uma variável $a com o valor de tipo inteiro 2, logo em
seguida iniciamos a variável $b recebendo como valor uma cópia da variável $a,
depois iniciamos a variável $c recebendo a referência( & ) da variável $a, nesse
momento nós temos duas variáveis apontando para o mesmo espaço de memória,
ou seja, ambas variáveis($a e $c) fazem referência ao mesmo espaço de memória,
que nesse caso guarda o valor inteiro 2, em seguida definimos que a variável $c irá
receber o valor de tipo inteiro 4, ao realizar essa operação estamos alterando
indiretamente o valor da variável $a, que faz referência ao mesmo espaço de
memória, por isso que quando imprimirmos a variável $a o resultado será 4.

Confira a sequência realizada na ilustração abaixo:

Variável por referência


Variável por referência
Variáveis variáveis
pag.26
Capitulo 3- Variáveis e Constantes do PHP WEB II

No PHP é possível criar o que chamamos de variáveis variáveis, que nada mais é
do que uma variável utilizar o conteúdo de outra variável para formar seu identificador.

<?php
$var = 'escola';
$$var = 'polly';

echo $var;
// Resultado: polly

// Imprimindo variáveis variáveis


echo $hello;
// Resultado: escola
echo $$var;
// Resultado: escola
echo ${'hello'};
// Resultado: escola
echo ${$var};
// Resultado: escola
?>
Como podemos observar no exemplo acima, criamos uma variável $var com uma
string ‘hello’, em seguida utilizando o recurso de variáveis variáveis, iniciamos
outra variável utilizando duas vezes o símbolo do dólar($$), o que faz o PHP
identificar esse recurso, nesse momento o PHP interpreta o valor da variável $var
como sendo o identificador da nova variável.
Ao utilizar variáveis variáveis pode ocorrer casos em que o valor da variável que se
tornará um identificador não seja um identificador válido, limitando nossa maneira
de recuperar essa variável, confira:

<?php
$teste = 123;
$$teste = 456;

echo ${'teste'};
// Resultado: 123
echo $123; // Erro de sintaxe

// Para esses casos utilizamos a exceção da regra


echo ${$teste};
// Resultado: 456
echo ${'123'};
// Resultado: 456
echo $$teste;
// Resultado: 456 pag.27
?>
Capitulo 3- Variáveis e Constantes do PHP WEB II

Neste caso não podemos resgatar o valor chamando a variável $123, pois se trata
de uma variável com nome identificador inválido.

FUNÇÕES VARIÁVEIS

Um recurso parecido com variáveis variáveis, mas ao invés de gerar uma nova
variável a partir do conteúdo de outra, este permite que seja executado uma função
utilizando o conteúdo de uma variável, observe no exemplo abaixo.

<?php
function Escola(){
echo 'Estou Polly';
}
$var = 'escola';
$var();
// Resultado: Escola Polly
?>

Por mais que os recursos variáveis variáveis e funções variáveis aparetam ser legais,
tente limitar seu uso, pois além de deixar o código difícil de entender, pode causar
falhas na segurança do seu script dependendo da forma em que for utilizado.
Constantes
Ao contrário das variáveis, as constantes são definidas como valores imutáveis,
ou seja, uma vez definida, uma constante não pode mudar de valor. Constantes
podem ser acessadas de qualquer lugar do script, ou seja, são globais, entretanto
só podem conter valores escalares. Assim como as variáveis, são case-sensitive
e também seguem as mesmas regras para o nome de seus identificadores, com
exceção do símbolo do dólar($). É recomendado que sempre se declare constantes
com nomes identificadores em uppercase, letras maiúsculas, para facilitar sua
identificação.
Para criar uma constante no PHP, precisamos utilizar a função nativa define
($identificador, $valor), passando dois parâmetros, o nome identificador da
constante e seu valor.

<?php
define('ESCOLA', 'Escola Polly');

echo ESCOLA;
// Resultado: Escola Polly
?>

pag.28
Capitulo 3- Variáveis e Constantes do PHP WEB II

CONSTANTE PHP

Também podemos declarar uma constante utilizando const, que normalmente é


utilizada em escopo de classe, mas a partir da versão 5.3 pode ser utilizada em
escopo global.

<?php
class foo {
const BAR = 'BAZ';
}
echo foo::BAR;

// funciona na versão 5.3


const ESCOLA = 'Escola Polly';
echo ESCOLA;
?>

Para entender quais são as diferenças entre define e const e onde cada uma deve
ser aplicada, de uma olhada neste tópico define() vs const.
Função defined($identificador) – Verifica se uma constante já foi definida, retornando
true ou false, semelhante a função isset($variavel).

<?php
$var = 'USER';
$type = 'TYPE';
define($var, 'Francisco Luciano');

defined($var);
// Resultado: true
defined($type);
// Resultado: false
?>

Função constant($identificador) – Retorna o valor de uma constante caso a constante


já tenha sido definida, no contrário será emitido uma mensagem de warning,
informando que não foi possível encontrar a constante. É recomendado sempre
utilizar a função defined($identificador) antes de utilizar a função constant
($identificador), para verificar se a constante que será solicitada foi definida,
evitando causar mensagens de warning.

<?php
$var = 'USER';
define($var, 'Polly');

if(defined($var)){ pag.29
echo constant($var);
Capitulo 3- Variáveis e Constantes do PHP WEB II

}
else {
echo 'Visitante';
}
?>
O PHP oferece um grande número de constantes pré-definidas, a maioria dessas
constantes, entretanto, são criadas por várias extensões e somente estarão
presentes quando essas extensões estiverem disponíveis, por carregamento
dinâmico ou por compilação direta.

CONSTANTES MÁGICAS NO PHP

Além das constantes pré-definidas, o PHP oferece algumas constantes falsas, que
são denominadas constantes mágicas, eu digo falsa, porque seu valor não será
sempre o mesmo, seu valor dependerá de onde ela está sendo utilizada, parece
um pouco confuso mas depois de conferir o exemplo abaixo isso ficará um pouco
mais claro.

<?php
echo __LINE__ . PHP_EOL;
// comentário simples
echo __LINE__ . PHP_EOL;

// Resultado:
// 2
// 4
?>
Conseguiu entender? simplesmente a constante mágica __LINE__ retorna um valor
inteiro representando a linha do script onde a constante está inserida.

LISTA DE CONSTANTES MÁGICAS

__LINE__ ( linha atual do script )


__FILE__ ( caminho completo e nome do arquivo )
__DIR__ ( diretório do arquivo )
__FUNCTION__ ( nome da função )
__CLASS__ ( nome da classe )
__METHOD__ ( nome do método de classe )
__NAMESPACE__ ( nome do atual namespace )

pag.30
Capitulo 3- Variáveis e Constantes do PHP WEB II

EXERCÍCIO

Abra oPHPeditor e crie um novo arquivo e salve-o como atividade.php e na


parte de PHP insira o seguintecódigo:

<?
//Anuncio
echo "Minha primeira pagina!";
echo "<br>";

//Informativo
//Data
$datahoje = date("d") . '-' . date("m") . '-' . date("Y");
echo "Hoje, dia '$datahoje' estamos inaugurando nossa primeira página !";
echo "<br>";

//Boas vindas com o IP


echo "Você está concectado ao nosso sistema através do seguinte IP:";
echo $_SERVER['REMOTE_ADDR'];
echo "<br>";

//Calculadora Polly
//Variaveis
$num1= 5;
$num2= 10;
echo "Veja as funcionalidades de nossa calculadora!";
echo "<br>";

echo "Com apenas dois números: '$num1' e '$num2' ela é capaz de fazer:";
$soma= $num1+$num2;
$subtrai= $num1-$num2;
$divide= $num2/$num1;
$multiplica= $num1*$num2;

echo "Somar: '$soma' <br>";


echo "Subtrair: $subtrai <br>";
echo "Dividir: $divide <br>";
echo "Multiplicar: $multiplica <br>";
echo "Isto é uma revolução,<br>Tecnologia,<br>Polly Academy of Art!";
?>

Salve este arquivo e abra seu browser digitando o seguinte endereço:


http://localhost/atividade.php pag.31
Capitulo 4- Operadores WEB II

INTRODUÇÃO AOS OPERADORES NO PHP

Um operador é utilizado para realizar operações entre um ou mais valores


(ou expressões, no jargão de programação) e retornar apenas um valor final.
Vamos agora aos operadores.

OPERADORES ARITMÉTICOS NO PHP

Neste grupo de operadores estão os operadores de operações matemáticas básicas


como adição, subtração, multiplicação e divisão. Veja a tabela com os operadores:

OperadorFunçãoExemplo

+Adição$a + $b
-Subtração$a - $b
*Multiplicação$a * $b
/Divisão$a / $b
%Módulo (resto da divisão)$a % $b
Veja um exemplo com os operadores aritméticos.

A partir deste ponto não irei incluir todos os elementos necessários para uma
página HTML bem formatada de acordo com o W3C, apenas incluirei os códigos
PHP, por ser o foco de nosso estudo, caso ainda tenha alguma duvida sobre a
integração PHP e HTML visite a página Começando a programar em PHP.

<?php
// Declarando os valores das variáveis
$a = 4;
$b = 2;

?>
<h2>Adição</h2>
<p>
<?php

echo $a + $b;

?>
</p>
<h2>Subtração</h2>
<p>
<?phpecho $a - $b;
?>
</p> pag.32
Capitulo 4- Operadores WEB II

<h2>Multiplicação</h2>
<p>
<?php
echo $a * $b;
?>
</p>
<h2>Divisão</h2>
<p>
<?php
echo $a / $b;
?>
</p>
<h2>Módulo(resto da divisão)</h2>
<p>
<?php
echo $a % $b;
?>
</p>

Observe que o módulo deu zero, pois utilizamos uma operação em que a divisão
em que não tinha resto. Veja agora um exemplo em que nossa divisão gera resto.

<?php
// Declarando os valores das variáveis
$a = 5;
$b = 2;
?>
<h1>Valores</h1>
<p>$a possui o valor de <strong><?php echo $a; ?></strong> e $b possui o valor
de <strong><?php echo $b; ?></strong></p>
<h2>Módulo(resto da divisão)</h2>
<p>
<?php
echo $a % $b;
14
?>
</p>

OPERADORES DE ATRIBUIÇÃO NO PHP


O operador de atribuição é utilizado quando queremos atribuir o valor da expressão
que esta a direita ao operando (normalmente uma variável) que esta a
sua esquerda(quase como se fosse um “igual a”, como por exemplo
x é igual a 1 e y igual a 2).
pag.33
Capitulo 4- Operadores WEB II

O operador mais básico de atribuição você já deve estar imaginando é o sinal de


igual (=) em que usamos para atribuir todas as nossas variáveis anteriormente.
Veja a seguir o uso do operador de atribuição igual e um truque que podemos
fazer utilizando operadores aritméticos e expressões.

<?php
// Declarando o valor de a com uma simples expressão
$a = 5 + 3;
echo $a; //imprime 8
?>
<br />
<?php
// Atribuimos o valor de 2 a variavel $c e somamos com
// 5 para ser o valor de b
$b = ( $c = 2 ) + 5;
echo $b; //imprime 7
?>
<br />
<?php
echo $c; //imprime 2
?>

Observe que conseguimos declarar o valor de $a uma simples expressão aritmética,


lembrando que você pode utilizar todos os operadores aritméticos que aprendemos
anteriormente em sua expressão.
Em seguida criamos a variável $b e $c, sendo $c criada dentro da atribuição de $b
sendo assim $b equivale a $c, que equivale a 2, mais 5.
Além do formato de atribuição que aprendemos podemos combinar o operador de
atribuição a todos os operadores aritméticos e de string observe a tabela a seguir:

OPERADOR FUNÇÃO EXEMPLO EQUIVALENTE A

+=Atribuição e adição$a += $b$a = $a + $b


-=Atribuição e Subtração$a -= $b$a = $a - $b
*=Atribuição e Multiplicação$a *= $b$a = $a * $b
/=Atribuição e Divisão$a /= $b$a = $a / $b
%=Atribuição e Módulo$a %= $b$a = $a % $b
.=Atribuição e concatenação$a .= $b$a = $a . $b

Você ainda provavelmente não conhece o operador de concatenação mais não se


preocupe, eles serão explicados detalhadamente a seguir.
Veja agora um exemplo utilizando operadores de atribuição em conjunto
com os operadores aritméticos.
pag.34
Capitulo 4- Operadores WEB II

<?php
// Declarando o valor de a
$a = 5;
// Atribuindo e somando 3 em $a
// ou seja $a = 5 + 3;
$a += 3;
echo $a //imprime 8
?>
Definimos o valor de $a com utilizando o operador de atribuição e adição em
conjunto. No entanto observe o exemplo a seguir:

<?php
// Declarando o valor de a
$a = 5;
// Redeclarando o valor de a
$a = 3;
echo $a //imprime 3
// Caso quisessemos somar 3 a $a poderiamos utilizar
// $a = 3
// $a += 5;
//
// Ou ainda
// $a = 5 + 3;
?>
Neste exemplo declaramos $a e em seguida a redeclaramos, não confundir este
comportamento ao tentar utilizar os operadores de atribuição em conjunto com os
operadores aritméticos. Pois como vimos podemos atribuir valores utilizando os
operadores aritméticos ou com operadores de atribuição em conjunto com os
operadores aritméticos.

OPERADORES DE STRING NO PHP

O único operador de string que possuímos no PHP é o operador de concatenação,


além do que falamos anteriormente que é o de atribuição e concatenação, que é
representado pelo . (ponto). O operador de concatenação tem por finalidade unir
o conteúdo de duas strings, veja o exemplo:
<?php
// Declaro a variável $titulo
$titulo = 'Operadores de string no PHP';
// Concateno $titulo a $texto
$texto = 'Estou aprendendo sobre ' . $titulo;
echo $texto;
echo '<br>' . PHP_EOL;
// Mesmo exemplo anterior porém utilizando atribuição e concatenação pag.35
$texto = 'Estou aprendendo sobre ';
Capitulo 4- Operadores WEB II

$texto .= $titulo;
echo $texto;
?>

OPERADOR DE INCREMENTO/DECREMENTO NO PHP

Os operadores de incremento e decremento são muito parecidos com os operadores


aritméticos. Eles permitem que sejam feitas adições (incremento) e subtrações
(decremento) direto na variável informada, mas sempre operações unitárias, isto é,
soma se 1 ou subtrai se 1 da variável. Os operadores de incremento e decremento
são respectivamente ++ e --.
Existem duas formas de incremento/decremento: Pós e Pré.
Pós incremento/decremento no PHP
No pós incremento/decremento o PHP retorna o valor da variável para só depois
então a incrementá-la/decrementá-la. Veja o exemplo:

<?php
$a = 10;
$b = $a++; // Primeiro $a é atribuido a $b para só então ser incrementada
$a++;
echo '$a = ' . $a . ' | $b = ' . $b;
?>

Atribuímos o valor de $a++ a variável $b, no entanto como no pós incremento/


decremento primeiro retorna o valor para só depois ocorrer o incremento/decremento
$b ficou com o valor de $a inicial, ou seja 10, e $a foi incrementado 2 vezes ficando
com o valor de 12.

PRÉ INCREMENTO/DECREMENTO NO PHP

No pré incremento/decremento o PHP primeiro incrementa/decrementa a variável e


depois retorna o seu valor. Observe alterando o exemplo anterior:

<?php
$a = 10;
$b = ++$a; // Primeiro $a é incrementada e só depois é atribuido a $b
++$a;
echo '$a = ' . $a . ' | $b = ' . $b;
?>
Atribuímos o valor de ++$a a variável $b, no entanto como no pré incremento/
decremento primeiro ocorre o incremento/decremento em seguida retorna o
valor para $b, que ficou com o valor de $a inicial incrementado, ou seja 11
, e $a foi incrementada novamente ficando com o valor de 12.
pag.36
Capitulo 4- Operadores WEB II

Inverter o sinal no PHP


Além de incremento/decremento podemos inverter o sinal de um operador com o
sinal de –(menos) veja a seguir:

<?php
$a = 10;
4
$b = -$a; // Inverte o sinal de $a e atribui a $b
echo '$a = ' . $a . ' | $b = ' . $b;
?>

Como você pode observar apenas alterou o sinal de positivo para negativo, o
inverso também é possível.
Fique agora com uma tabela para uma consulta caso tenha duvida nos operadores
de incremento e decremento.

OPERADOR NOME FUNÇÃO

++$aPré-incrementoIncrementa $a em um, e então retorna $a.


$a++Pós-incrementoRetorna $a, e então incrementa $a em um.
--$aPré-decrementoDecrementa $a em um, e então retorna $a.
$a--Pós-decrementoRetorna $a, e então decrementa $a em um.
-$aInverter o sinalInverte o sinal de $a e retorna $a.
Atribuição por referência
Outro meio de atribuir valores a variáveis que o PHP nos fornece é a atribuição por
referência. Ou seja, a nova variável será uma referência, um apelido, a variável
original sendo assim qualquer alteração na variável original alterará a variável de
referencia como qualquer alteração na variável de referência alterara a variável
original. Observe:

<?php
// Criamos a variável $
$b = 'Estamos aprendendo sobre';
// Atribuimos por referência o valor de $b a $a,
// ou seja, ambas agora possuem o mesmo valor
$a = &$b;
// Altero o valor de $a concatenando o com uma string
// caso não tenha entendido a concatenação volte a operadores de string
$a .= ' Atribuição por referência no PHP';
// Exibo $a e $b pulando linhas para melhor vizualização

pag.37
Capitulo 4- Operadores WEB II

echo $a;
echo '<br />' . PHP_EOL;
echo $b;
echo '<br />' . PHP_EOL;
// Alterei o valor de $b e como $b foi atribuido por referência a $a
// agora quando altero $b o valor de $a muda também
$b = 'Alterei o valor de $b e sabia que o de $a muda também?';
echo $a;
echo '<br />' . PHP_EOL;
echo $b;
?>

Exercício

!-Crie um arquivo em PHP que receba o nome, preço e quantidade de um


produto, calcule o total a ser pago de acordo com preço unitário e a quantidade
comprada.
Exiba a seguinte mensagem:
Produto (nome do produto)
Quantidade (quantidade a ser comprada)
Total (total a ser pago)

2-Crie um arquivo em PHP que receba o nome do usuário, ano atual e o ano de seu
nascimento faça o cálculo para descobrir sua idade e exiba a seguinte mensagem:
Olá (nome do usuário) você nasceu em (ano de nascimento) e tem (idade) anos.

3-Crie um arquivo em PHP que calcule a média de um aluno de acordo com 4 notas
recebidas.

pag.38
Capitulo 5- Funções WEB II

FUNÇÕES

Funções podem ser definidas blocos de código com um objetivo específico,


identificados por um nome através do qual pode ser referenciado á partir de várias
partes do código. Essa é uma das principais técnicas utilizadas para garantir a
reutilização de código, tornando a programação mais prática e o código mais “limpo”
e organizado.

A declaração de funções no PHP é feita a partir da palavra reservada function


seguida do nome da função e de sua lista de argumentos, enquanto o corpo da
função é delimitado por chaves ({ e }), entre as quais deve ficar todo o conjunto
de instruções a ser executado quando a função for invocada.
A Listagem 1 apresenta a estrutura básica de uma função teórica, para facilitar a
compreensão das regras citadas.
Listagem 1: Estrutura básica de uma função

function nome_funcao($par1, $par2, $par3...$parN)


{
//instruções
}

Algumas considerações sobre o código acima:


A palavra reservada function é imutável e obrigatória, é ela que define o bloco de
código como uma função.
O “nome_funcao” deve ser um valor significativo, pelo qual os comandos sejam
facilmente identificados. Assim como as variáveis, não pode ser iniciado com
números ou caracteres especiais, exceto o underline (_). Geralmente inicia-se o
nome da função com letra minúscula, mas esta não é uma convenção, cabe a cada
um decidir que notação utilizar.
Os valores entre parênteses são chamados de parâmetros ou argumentos e são
valores dos quais a função depende para ser executada corretamente. Nem sempre
os argumentos são necessários, então pode-se omiti-los na definição da função,
mantendo apenas os parênteses.

pag.39
Capitulo 5- Funções WEB II

As funções podem ser classificadas quanto ao seu retorno como vazias (void) ou
com retorno. As funções void ou sem retorno apenas executam uma série de
comandos sem a obrigação de devolver um valor específico como resultado. Já as
funções com retorno, ao serem executadas, resultam diretamente em um dado
valor que, no PHP, não tem tipo definido.
A seguir são apresentados alguns exemplos que demonstram a utilização desses
conceitos, além de mostrar como utilizar as funções após sua definição.

FUNÇÃO SEM PARÂMETRO E SEM RETORNO

function exibir_mensagem()
{
echo "Olá\n";
echo "Seja Bem Vindo(a)!"
}
Listagem 3: Função com parâmetro e sem retorno
function exibir_mensagem($nome)
{
echo "Olá\n";
echo $nome
}
Listagem 4: Invocando uma função sem retorno
<?php
//definição da função
function exibir_mensagem($nome)
{
echo "Olá\n";
echo $nome;
}

//chamando a função
exibir_mensagem("Joel Rodrigues");
?>

A chamada à função sem parâmetro é ainda mais simples, bastaria não informar
nenhum valor entre parênteses.

FUNÇÃO SEM PARÂMETRO E COM RETORNO

pag.40
Capitulo 5- Funções WEB II

<?php
//definição da função
function dia_atual()
{
$hoje = getdate();
switch($hoje["wday"])
{
case 0:
return "Domingo";
break;
case 1:
return "Segunda";
break;
case 2:
return "Terça";
break;
case 3:
return "Quarta";
break;
case 4:
return "Quinta";
break;
case 5:
return "Sexta";
break;
case 6:
return "Sábado";
break;
}
}
//chamada à fução
$dia = dia_atual();
echo $dia;
?>

A função “dia_atual” verifica o dia da semana e de acordo com seu valor


(inteiro entre 0 e 6), retorna o nome dia em português. A palavra reservada
return é utilizada para definir o resultado da função e sinaliza também o fim da
execução desta. Qualquer código que venha a ser posto após o return
(o que não deve ocorrer) será desconsiderado.

FUNÇÃO COM PARÂMETRO E COM RETORNO


pag.41
Capitulo 5- Funções WEB II

<?php
//definição da função
function somar($numA, $numB)
{
return $numA + $numB;
}

$resultado = somar(1,2);
echo $resultado;
?>

Como vimos, o resultado das funções pode ser utilizado facilmente atribuindo-se
seu valor a uma variável. Pode-se ainda utilizar o retorno diretamente, por exemplo,
como argumento de outra função como somar(somar(1,2), somar(3,4)).
Acesso a variáveis
Um ponto cujo entendimento é fundamental quando se trabalha com funções é o
acesso e manipulação de variáveis nesse tipo de estrutura de código. É importante
ter em mente duas definições ou classificações de variáveis: GLOBAL e LOCAL.
As variáveis locais são aquelas declaradas no corpo da função e só podem ser
acessadas dentro desta. Este tipo de variável é utilizado para realizar cálculos e
outros processamentos internos da função, sendo alocadas e liberadas durante
sua execução.
A seguir é mostrado um exemplo de utilização de variável local em uma função.

FUNÇÃO COM VARIÁVEL LOCAL

<?php
function par_ou_impar($num)
{
$resto = $num % 2;
if($resto == 0)
return "PAR";
else
return "IMPAR";
}
//fora da função não é possível acessar a variável $resto
?>

pag.42
Capitulo 5- Funções WEB II

A função “par_ou_impar” usa uma variável local “$resto” para armazenar o resto da
divisão do número recebido como parâmetro por dois. Se o resto da divisão for
igual a zero, isso indica que o número é par, caso contrário, é impar.
As variáveis globais, por sua vez, podem ser acessadas a partir de qualquer ponto
do código e são usadas para armazenar informações que precisam ser utilizadas
por várias funções distintas ou acessadas diretamente.
No exemplo da Listagem 8, existe uma variável “$saldo” que é acessada por duas
funções: “depositar” e “sacar”. Se a qualquer momento for preciso obter o valor
dessa variável (ou alterá-lo), bastaria acessá-la diretamente
.
UTILIZAÇÃO DE VARIÁVEL GLOBAL

Por fim, é preciso citar um tipo especial de variável local, as variáveis ESTÁTICAS.
Esse tipo de variável, apesar de ser declarado dentro do corpo da função, não é
descartado após a execução desta. Para definir uma variável como estática é
utilizada a palavra reservada static antes do nome da mesma no momento de sua
declaração.
O funcionamento dessas variáveis é semelhante ao das globais, com a diferença
que as estáticas são acessíveis apenas dentro da função, mesmo tendo seu valor
mantido entre as execuções.

<?php
function depositar($valor)
{
static $total_depositos;
$total_depositos++;
$saldo += $valor;
echo "Foram feitos ".$total_depositos." depósitos.";
}

function sacar($valor)
{
static $total_saques;
$total_saques++;
$saldo -= $valor;
echo "Foram feitos ".$total_saques." saques.";
}
?>

pag.43
Capitulo 5- Funções WEB II

PASSAGEM DE PARÂMETROS
Um dos principais conceitos relacionados aos de parâmetros para funções está na
forma como os argumentos são passados. A passagem de parâmetros pode ser feita
de duas formas: POR VALOR e POR REFERÊNCIA.
Estas informações são realmente relevantes quando passamos variáveis como
argumentos para funções, pois definem a forma como essas variáveis são tratada
no corpo do método.
Na passagem por valor (que é a forma padrão), quando se passa uma variável
como argumento para uma função, é feita uma cópia interna dessa variável, a
qual é acessada e modificada durante a execução. Após o término da função, a
variável original não tem sofrido nenhuma alteração.
Já quando as variáveis são passadas por referência para uma função, seu valor é
acessado diretamente e pode sofrer alterações durante a execução. Para indicar
que um argumento deve ser recebido por referência, deve-se adicionar o operador
& antes do nome do parâmetro, na declaração da função.
A Listagem, a seguir, mostra duas versões de uma mesma função. A primeira
recebe argumentos por valor e retorna apenas o resultado da soma dos dois valores
informados. Na segunda, o primeiro parâmetro é recebido por referência e, nesse
caso, a função não tem retorno, pois a variável informada sofre diretamente a
alteração (soma do segundo argumento).

UTILIZAÇÃO DE VARIÁVEIS ESTÁTICAS

<?php
function somar($numA, $numB)
{
return $numA + $numB
}

function somar(&$numA, $numB)


{
$numA += $numB;
}
?>
Observação: quando é definido que um parâmetro deve ser passado por referência,
na chamada da função deve ser informada uma variável obrigatoriamente e não um
valor qualquer.

pag.44
Capitulo 5- Funções WEB II

QUANTIDADE DE PARÂMETROS VARIÁVEL

A linguagem PHP possui uma funcionalidade bastante útil que permite definir
funções que recebam um número indefinido de argumentos, com isso, pode-se
acessar vários parâmetros dinamicamente, mesmo sem que seja previamente
definida a quantidade e nome dos mesmos. Dentro da função, utiliza-se
as funções
func_get_args() e func_num_args() que retornam um array contendo os argumentos
e a quantidade destes, respectivamente.
A seguir é apresentado um exemplo, retomando a função “somar”, que define uma
função para a qual se pode passar vários números como parâmetro e ela retornará
a soma deles.

UTILIZAÇÃO DE VARIÁVEIS ESTÁTICAS

<?php
function somar()
{
$numeros = func_get_args();
$qtd_nums = func_num_args();
$soma = 0;
for($i = 0; $i < $qtd_nums;$i++)
{
$soma += $numeros[$i];
}
return $soma;
}
//testando a função
echo somar(1, 2, 3, 4, 5);
?>

Exercício:

Montar uma função que recebe um numero como parâmetro e retorna o nome
do mês correspondente, validar a entrada para um número de mês valido.

pag.45
Capitulo 6- Formulários WEB II

CRIAÇÃO DO FORMULÁRIO

Os formulários são criados através da linguagem HTML, a qual você já deve conhecer. Para
que esses formulários se tornem úteis devemos informar ao navegador para onde vai as
informações. Vamos utilizar os formulários para enviar os dados para os programas em
PHP.
Fazemos isso utilizando a opção action, dentro da tag <form> do HTML.

Exemplo:
<form action="prog_recebe_dados.php">
itens do formulário
</form>

ENVIANDO INFORMAÇÕES PARA O PROGRAMA PHP

Já vimos então como especificar qual programa irá receber os dados. Agora precisamos
entender como os dados são passados ao programa.
Existem dois métodos de passagem de parâmetros: GET e POST.
O tipo de método utilizado é informado na opção method da tag <form> do HTML.
Exemplo:

<form action="prog_recebe_dados.php" method="GET">

ENTENDENDO CADA UM DESSES MÉTODOS:


GET - É o método padrão, ou seja, se na criação do formulário se nada for especificado,
automaticamente será utilizado este método para envio dos dados.
Seu funcionamento ocorre da seguinte forma, dado o preenchimento do formulário e após
clicarmos no botão Enviar, os campos do formulário serão passados como parâmetro após
o endereço de destino. Ex:
www.poly.com.br/prog_recebe_dados.php?nome=maria&cidade=saopaulo e
assim por diante....

pag.46
Existem algumas desvantagens com esse método, primeiro seria o limite de caracteres que
podem ser enviados, o que gira em torno de 2000, outra desvantagem é que o usuário
visualiza através da barra de endereço todos os parâmetros.
A vantagem desse método seria a passagem de parâmetros por links, por exemplo em um
comércio virtual poderia se utilizar desse método para se obter um link específico para um
produto, uma categoria.
POST - Seus dados são enviados por meio do corpo da mensagem encaminhada ao
servidor, não alterando assim o endereço, mostrando apenas:

www.polly.com.br/prog_recebe_dados.php

Uma das vantagens é que não existe limitação de tamanho dados a serem enviados.
Também através desse método podemos enviar outros tipos de dados, como imagens, para
isso basta utilizar o valor file na opção type da tag <input> do HTML.

COMO TRATAR AS INFORMAÇÕES

Podemos tratar as informações de 2 formas:


*Como se fossem variáveis, colocando o simbolo $ seguido do nome do campo definido
no fomulário. PS: Isso só funciona se a opção REGISTER_GLOBALS estiver habilitada no
arquivo php.ini.
*Utilizar arrays superglobais do PHP. Esses arrays são$_GET e $_POST.
Exemplo:
$_GET["nome"] ou $_POST["nome"]

É recomendado por segurança utilizarmos a segunda opção.


Para colocarmos em prática essas informações citadas acima vamos efetuar um exercício,
nele criamos um formulário de cadastro de usuários de um site qualquer e verificamos o se
o preenchimento dos dados estão corretos.
Capitulo 6- Formulários WEB II

Visualizando o formulário no navegador ele deverá ficar como segue na imagem a seguir:

pag.48
Capitulo 6- Formulários WEB II

Agora basta na mesma pasta em que você salvou o formulário html, criar o programa em
PHP que irá verificar se o preenchimento está correto.
Salve o código que será exibido na imagem a seguir com o nome verifica.php

Pronto, feito isso você já pode testar, caso acesse o formulário e deixe algum campo em
branco, visualizará mensagens de erro.
É claro que esse exemplo é simples, você pode incrementar muito mais as opções de
validação dos dados.

ENTENDENDO O PROGRAMA VERIFICA.PHP


Dentro deste programa foram executadas algumas funções que provavelmente sejam
desconhecidas. Veremos então uma rápida explicação sobre cada uma delas:

Função Descrição

empty Verifica se determinada string está vazia (nula).

strlen Retorna o número de caracteres de uma string.

strstr Acha a primeira ocorrência de uma string. Se não encontrar retorna falso
(FALSE).

pag.49
Capitulo 6- Formulários WEB II

Agora entendendo cada umas das funções citadas acima vamos procurar entender o
funcionamento do programa.
Na primeira parte do programa as variáveis recebem o conteúdo do formulário, através
da array superglobal $_POST.
É definida a variável $erro a qual irá verificar ao final de todos os testes se houve ou não
algum erro no preenchimento do formulário, por isso ela recebe o valor 0, pois caso no
final de todas as verificações seu valor permaneça o mesmo, é informado que todos os
dados foram preenchidos corretamente.
Na segunda parte é realizado testes utilizando o comando condicional IF, que serve para
avaliar uma expressão e indicar instruções:
*Verificamos se o campo nome não está vazio e também se o nome possui o caractere
espaço(se não houver , indica que não foi digitado o nome completo).
*Testamos se o email tem no mínimo 8 caracteres e possui o simbolo @.
*Constatamos se realmente o campo cidade não está em branco e em seguida se o
campo estado não possui dois caracteres.
*Verificamos se o campo comentários não está vazio.
*E por último se a variável $erro permanece com o valor igual á 0, o que significa que
no preenchimento não ocorreram erros, e nos retorna um resultado.

Exercício:

Montar um formulário HTML para entrada de alguns dados, e criar uma


pagina para receber, tratar e exibir esses dados.

pag.1 pag.50
Capitulo8- Criação de Banco de Dados WEB II

Bem, e simples, para nível de exemplo vamos pensar num LOCALHOST usando o
XAMPP,
Passo 1 : "Startamos" o MySQL pelo XAMPP.
Passo 2: Acesse pelo navegador o endereço "localhost/phpmyadmin"
Passo 3: Na Pagina que se abre vá na guia "MySQL localhost" e crie um novo banco de
dados.

Pronto, a nossa base de dados está criada e pode ser vista na guia ao lado do
navegador
Note que não a nenhum numero ao lado da nossa base de dados, o que quer dizer que
não tenho nenhuma tabela associada ao banco de dados, o nosso passo seguinte e
criar a nossa tabela, que para exemplo irá se chamar "tb_alunos".

Aqui temos o nome da tabela, a sua quantidade de colunas (3),no caso nossas colunas
iram se chamar id,nome,idade.

pag.52
Capitulo8- Criação de Banco de Dados WEB II

Depois disso nossa tabela estará criada no banco de


dados, agora nos falta é associarmos a nossa tabela, a nossa aplicação PHP.
Agora seguiremos os seguintes passo:
Criação de um arquivo para conexão com o PHP/MySQL.
Criação de um arquivo para adicionar dados na tabela.
Criação de um arquivo que faça a ponte entre o formulário e o arquivo que contem a
nossa função de inserção.
Criação de um formulário simples para adicionarmos um aluno.
Esse é o nosso arquivo de configuração da conexão, que tem o nome de "config.php"

Comentário 1 : a variável $db["server"] irá receber o endereço do nosso servidor, nesse


caso é "localhost".
Comentário 2 : a variável $db["user"] irá receber o nome do usuário que tem acesso ao
phpMyAdmin,caso você não tenha setado nenhum usuário deixe esse campo como na
figura
Comentário 3 : a variável $db["password"] irá receber a senha usuário que tem acesso
ao phpMyAdmin,caso você não tenha setado nenhuma senha deixe esse campo como
na figura.
Comentário 4 : a variável $db["dbname"] irá receber o nome da nossa BASE DE DAD
OS, que foi criada na primeira figura.
Comentário 5 : variável $conn irá receber a função mysql_connect(), função essa que
estabelece a conexão com o SERVIDOR do banco de dados.
Comentário 6 : mysql_select_db(), irá selecionar o banco de dados na qual está a nossa
tabela.
Agora vamos criar o nosso arquivo "funcoes.php" que irá conter a nossa função de
inserção no banco da dados

pag.53
Capitulo8- Criação de Banco de Dados WEB II

submetidos, quem irá atender essa requisição é o nosso arquivo adiciona.php, que já
foi explicado aqui.
E também vejam os nomes dos campos input, eles devem ser o mesmo nome é que
passado para a variável $_REQUEST[].
Pronto, tudo feito, agora é só acessar esse formulário via browser, inserir o dados e
enviar,
se tudo der certo, o browser irá ficar em branco e o endereço irá ficar "localhost/...
./adiciona.php",
agora basta procurar a nossa tabela, no nosso banco de dados, e ver se o registro
foi adicionado.

pag.55

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy