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

Programacao para Web I - Uni 1

http java

Enviado por

Emerson Castagna
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)
8 visualizações78 páginas

Programacao para Web I - Uni 1

http java

Enviado por

Emerson Castagna
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/ 78

UNIDADE 1

CONCEITUAÇÃO, PRIMEIROS PASSOS E


HELLO WORLD

Objetivos de aprendizagem

Após estudar esta unidade, você será capaz de:

 desenvolver páginas Web com HTML, CSS e PHP;

 instalar o XAMPP;

 descrever a função dos principais métodos do HTTP.

PLANO DE ESTUDOS

Esta unidade está dividida em três tópicos, sendo que, ao final


de cada um deles, você encontrará atividades que o(a) auxiliarão a
fixar os conhecimentos desenvolvidos.

TÓPICO 1 – PROTOCOLO HTTP E LINGUAGEM


DE MARCAÇÃO HTML

TÓPICO 2 – SERVIDORES WEB


P
R
TÓPICO 3 – DESTRINCHANDO O PHP, DESDE O
SUA HISTÓRIA ATÉ SEUS MÉTODOS G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1

TÓPICO 1

PROTOCOLO HTTP E LINGUAGEM DE


MARCAÇÃO HTML

1 INTRODUÇÃO

Caro(a) Acadêmico! Neste tópico, você poderá entender mais sobre os conceitos
básicos da Web e de como ela foi desenvolvida. Visando colaborar ainda mais com sua
formação acadêmica, este tópico abre uma visão rápida sobre as principais concepções e de
como desenvolvê-las, pois você será levado a pensar em como a Web permitiu tal evolução,
desde o aparecimento do HTML até o HTML5, que é o mais usado hoje em dia. Observando
sempre, que a linguagem presente desde o início do HTML, está ainda presente no HTML5.

Ainda neste tópico, você verá também o desenvolvimento do CSS, e a forma correta
de utilizá-lo para os desenvolvimentos de uma página Web. Você já deve saber que é uma
linguagem utilizada para dar estilo e formatação a uma página Web. Veremos mais nas páginas
a seguir. Bons estudos!

2 UM POUCO DE HISTÓRIA
P
R
O
O conceito de Web foi concebido em 1980, por Tim Berners-Lee, e não se tratava da G
R
internet como a conhecemos hoje. Tratava-se de um projeto denominado ENQUIRE, o qual era A
M
muito embrionário, mas o grande passo para o início da internet foi dado, pois neste projeto A
Ç
surgiu o primeiro processador de hipertexto. Ã
O

P
Hipertexto é um conceito muito simples no qual, o usuário que está lendo o conteúdo A
R
de uma página tem a possibilidade de navegar por diferentes páginas através de hiperlinks. A A
navegação Web de hoje em dia baseia-se nisto, você faz assim no cotidiano certamente sem W
E
perceber. Por exemplo: você acessa o Youtube e clica sobre o título de um vídeo que possui B
um hiperlink para o vídeo a que você deseja assistir. I
4 TÓPICO 1 UNIDADE 1

Em 1989, Tim Berners-Lee dava continuidade ao seu projeto quando conseguiu,


juntamente com Robert Cailliau, estabelecer a primeira conexão bem-sucedida entre um cliente
e um servidor HTTP. O protocolo HTTP (Hypertext Transfer Protocol) é o protocolo utilizado na
transferência de arquivos de hipertexto.


!
ROS
SFUTU
EST UDO

Mais adiante você aprenderá mais sobre HTTP. E na Unidade 3,


você terá exemplos de como utilizar o protocolo HTTP na prática.

Em 1990, uma linguagem de marcação para a criação de arquivos de hipertexto foi


criada, o HTML (Hypertext Markup Language), que está em constante evolução até os dias
atuais. Tal evolução deu origem a diversas versões da linguagem, como HTML, HTML 2.0,
HTML 3.0, HTML 3.2, HTML 4.0, XHTML, e recentemente o HTML5. Desde 1994, há um órgão
responsável por determinar as características para as versões do HTML e coordenar o processo
evolutivo da linguagem, o W3C (World Wide Web Consortium).

A evolução da Web ainda conta com a presença de seu criador, Tim Berners-Lee,
conforme Silva (2011, p. 21):

Atualmente Tim é diretor do World Wide Web Consortium (W3C), pesquisador


sênior do Laboratório da Ciência da Computação e Inteligência Artificial (CSAIL)
do Instituto de Tecnologia de Massachusetts (MIT) e professor de Ciência da
Computação na Universidade de Southampton, na Inglaterra.

FIGURA 1 - TIM BERNERS-LEE

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B FONTE: Disponível em: <http://pt.wikipedia.org/wiki/Tim_Berners-
Lee#mediaviewer/File:Tim_Berners-Lee_CP.jpg>. Acesso
I em: 23 dez. 2014.
UNIDADE 1 TÓPICO 1 5

3 PARTIMOS DO HTML E CHEGAMOS AO HTML5

Após várias versões de HTML, o que temos em evidência hoje é o HTML5. Mas afinal,
o que o HTML5 tem a nos oferecer, e por que ele é considerado uma evolução do HTML?

NOT
A!

Esta unidade pretende introduzi-lo ao HTML5. Caso você não
tenha conhecimento básico de HTML, recomendamos que você
revise o Caderno de Estudos da disciplina de Introdução ao
Desenvolvimento de Sistemas Web.

A grande diferença está no fato de que anteriormente o HTML era o ‘faz tudo’. Era no HTML
que se dizia se um texto deveria ser pintado de determinada cor, qual o tamanho da fonte, qual a
cor de fundo para determinada área da página etc. No entanto, o HTML5 vem com uma proposta
mais enxuta. Ele se propõe a cuidar somente da semântica da página. A formatação, como já
vinha ocorrendo na versão 4 do HTML, foi delegada completamente para o CSS (Cascade Style
Sheet). É complicado perceber de início esta diferença, pois em muitos casos, os navegadores
acabam interpretando HTML e HTML5 quando se encontram juntos em uma página.

UNI

Semântica: No contexto do HTML, a semântica compreende os


cuidados necessários para inserir os recursos das páginas (textos,
imagens, vídeos), dentro das tags corretas. Do ponto de vista
da semântica é errado inserir um texto que representa um título
entre uma tag <p></p>, pois esta tag representa um parágrafo.
P
R
O
G
R
A


!
ROS M
SF UTU A
ESTUDO
Ç
Ã
O

Você aprenderá mais sobre CSS ainda neste tópico. P


A
R
A

W
Além de ganhar uma responsabilidade mais específica, ou seja, cuidar somente da E
B
semântica, o HTML5 veio com novos atributos para controle de multimídia (áudio e vídeo, por
I
6 TÓPICO 1 UNIDADE 1

exemplo) e novos controles para formulários. Iremos estudá-los mais adiante.

Caro(a) acadêmico(a)! Neste momento, você deve querer começar seus desenvolvimentos
em HTML5. Reza uma antiga lenda, que sempre que conhecemos uma nova tecnologia, o
primeiro programa que devemos implementar é o Hello World, senão ficamos amaldiçoados e
não alcançamos sucesso em tal tecnologia. Então, é hora de erguer as mangas fazer nosso
Hello World em HTML5 para evitar a maldição!

Em seu computador, abra o editor de texto e crie um arquivo chamado ‘helloworld.html’


(sem aspas). Em seguida, abra o arquivo e insira o conteúdo da listagem 1:

LISTAGEM 1 - CONTEÚDO DO ARQUIVO helloworld.html.


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<p>
Hello World
</p>
</body>
</html>

NOT
A!

EDITOR DE TEXTO
Você pode usar o editor de texto de sua preferência. No caso do
sistema operacional Windows, o padrão é o Notepad. No caso do
P sistema operacional Ubuntu, o padrão o Gedit. Há editores de
R textos com mais funcionalidades disponíveis no mercado (pagos e
O
G gratuitos, são inúmeras opções), fique à vontade para escolher o que
R for mais conveniente. Exemplo: Notepad++, Sublime, TextPad etc.
A
M
A
Ç
Ã
O Após digitar todo o código-fonte da listagem 1 no seu arquivo helloworld.html, salve-o,
P feche o editor de texto e abra novamente o arquivo. Ele deverá abrir no seu browser (navegador
A
R de internet), e deve estar parecido com o da imagem a seguir:
A

W
E
B

I
UNIDADE 1 TÓPICO 1 7

FIGURA 2 - PÁGINA WEB HELLO WORLD EXIBIDA NO BROWSER GOOGLE


CHROME

FONTE: O autor

ÇÃO!
ATEN

SEU ARQUIVO HELLOWORLD.HTML NÃO ESTÁ ABRINDO NO BROWSER?


Se você abriu o arquivo e em vez de aparecer o browser o
arquivo foi aberto novamente no editor de texto, verifique se
o nome do arquivo está correto, pois é possível que o arquivo
esteja com o nome ‘helloworld.html.txt’ (sem aspas). O nome
correto do arquivo é ‘helloworld.html’ que representa o nome
do arquivo ‘helloworld’ e sua extensão ‘html’ separados por um
ponto. Caso isto esteja acontecendo com você em um computador
com o sistema operacional Windows, acesse as configurações do
Windows Explorer e altere a configuração “Ocultar as extensões
dos tipos de arquivo conhecidos”, conforme a seguir:
• No Windows Explorer, pressione a tecla alt, acesse o menu
Ferramentas e clique sobre Opções de Pasta:

FIGURA 3 - MENU OPÇÕES DE PASTA DO WINDOWS EXPLORER

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

FONTE: O autor I
8 TÓPICO 1 UNIDADE 1

Na janela de Opções de Pasta, acesse a guia Modo de Exibição, encontre a configuração


“Ocultar as extensões dos tipos de arquivo conhecidos”, desmarque-a e clique em OK:

FIGURA 4 - JANELA OPÇÕES DE PASTA COM A CONFIGURAÇÃO OCULTAR


AS EXTENSÕES DOS TIPOS DE ARQUIVO CONHECIDOS
DESMARCADA

FONTE: O autor

Agora, vamos analisar o que cada linha do nosso Hello World representa:
P
R
O • <!DOCTYPE html>: Declaração de que é um documento de hipertexto escrito em HTML5.
G
R
A
M
• <html lang="en"></html>: A tag <html> é sempre a tag raiz (a mais externa) de uma página.
A
Ç
O atributo lang indica o idioma da página, no caso inglês. Tudo que estiver entre a tag <html>
Ã
O
e seu fechamento </html> faz parte da página.

P
A • <head> e </head>: A tag <head> continua sendo a mesma do HTML, ela traz informações
R
A sobre página. Neste exemplo estamos incluindo somente o charset e o título, mas ela poderia
W trazer metatags com informações adicionais como autor, descrição, palavras-chave etc.
E
B

I • <meta charset="utf-8">: Indica que a codificação de caracteres usada na página é utf-8. O


UNIDADE 1 TÓPICO 1 9

utf-8 é um padrão universalmente conhecido e bem recomendado. O charset utf-8 possibilita


a utilização de caracteres acentuados (á, é ê, ã etc.) em nossas páginas HTML5.

• <title>Hello World</title>: Indica o título da página. Normalmente, os browsers exibem esta


informação na tab (ou guia) que contém a página aberta.

• <body> e </body>: Tudo o que estiver entre a tag <body> e seu fechamento </body> será
renderizado pelo browser.

• <p>Hello World</p>: Um simples parágrafo com o texto Hello World.

Como podemos perceber, o HTML5 possui uma estrutura muito semelhante a do HTML,
você reaproveita boa parte do seu conhecimento de HTML para escrever páginas em HTML5.
A tabela a seguir apresenta os principais elementos do HTML5, não se preocupe se você não
os entender imediatamente, iremos abordar os principais elementos ao longo do caderno.

TABELA 1 - TAGS HTML5 PARA ESTUDOS DESTA DISCIPLINA


Tag Descrição
Todo conteúdo HTML, exceto o DOCTYPE ou comentários, deve estar entre esta
<html>
tag e seu fechamento.
Cabeçalho da página. Abriga informações como título da página, charset,
<head>
palavras-chave, entre outros.
Corpo da página. Tudo que estiver entre esta tag e seu fechamento será
<body>
renderizado pelo browser.
Comentário, o conteúdo que estiver entre a abertura ‘<!--’ e o fechamento ‘-->’ não
<!--...-->
será renderizado pelo browser.
<a> Hyperlink.
<abbr> Abreviação.
<address> Endereço do autor do documento.
<article> Artigo.
<audio> Streaming de áudio. P
R
<base> URL base para todos os links da página. O
G
<bdo> Direção na qual o texto será mostrado. R
A
<blockquote> Citação longa. M
A
<br> Quebra de linha. Ç
Ã
<button> Botão (ação do usuário). O

<canvas> Cria na página uma área criação de gráficos em uma página Web. P
A
<caption> Legendas para tabelas. R
A
<cite> Citação curta.
W
E
<code> Trecho de código. B
<col> Coluna em tabela. I
10 TÓPICO 1 UNIDADE 1

<colgroup> Grupo de colunas em tabelas.


<datalist> Autocomplete para formulários.
Informações adicionais que podem ser ocultadas ou exibidas conforme preferência
<details>
do usurário.
<div> Seção no documento, agindo como um agrupador de elementos HTML.
<fieldset> Grupo de elementos relacionados ao formulário.
<footer> Especifica um rodapé para a seção de uma página.
<form> Formulário.
<h1> .. <h6> Cabeçalho de nível 1 até 6.
<header> Cabeçalho para seção de página.
<hgroup> Agrupador para elementos de título do nível h1 ao h6.
<hr> Linha horizontal.
<iframe> Sub janela no documento.
<img> Imagem.
<input> Campo de texto.
<label> Rótulo para elementos em um formulário.
<legend> Título para um fieldset.
<li> Item de uma lista.
<mark> Texto destacado para fins de referência.
<map> Mapa de imagem.
<menu> Menu.
Meta informações para o cabeçalho da página, por exemplo, autor, palavras-chave
<meta>
etc.
<nav> Links de navegação.
<object> Objeto. Ex.: vídeo do YouTube.
<ol> Lista ordenada.
<p> Parágrafo.
<param> Especifica um parâmetro para um objeto incorporado no documento HTML.
<progress> Barra de progresso para tarefas.
P
R <q> Breve citação.
O
G Scripts em um documento HTML, geralmente implementados na linguagem
R <script>
A JavaScript.
M
A <section> Seção dentro de artigo.
Ç
à <select> Lista de itens selecionáveis.
O
<small> Texto em tamanho pequeno.
P
A <source> Origem de recursos multimídia em uma página.
R
A Elementos in-line. Muitas vezes usado para mostrar o resultado de ações do
<span>
W usuário.
E
B <strong> Texto de maior importância.

I <style> Declaração de folhas de estilo.


UNIDADE 1 TÓPICO 1 11

<sub> Texto subscrito.


<sup> Texto sobrescrito.
<table> Tabela.
<tbody> Corpo da tabela.
<td> Célula da tabela.
<textarea> Área para entrada de texto multilinha.
<tfoot> Rodapé da tabela.
<th> Célula de cabeçalho da tabela.
<thead> Cabeçalho de uma tabela.
<time> Data e hora.
<title> Título.
<tr> Linha de uma tabela.
<ul> Lista não ordenada.
<video> Streaming de vídeo.
FONTE: O autor

S!
DICA

Note que vários elementos do HTML5 existem no HTML. Isto se


deve à coordenação da evolução da linguagem pelo W3C (World
Wide Web Consortium). Além do mais, nem todas as tags do
HTML5 estão na tabela acima, se você quiser conferir todas as
tags do HTML5 a documentação da Mozzila é uma excelente
fonte de informação: <https://developer.mozilla.org/en/docs/
Web/Guide/HTML/HTML5/HTML5_element_list>.

Então, gostou de se envolver com HTML e HTML5? Tem domínio básico de inglês? Ou
tem um dicionário de inglês? Então, você já está apto a dominar o HTML! Acesse <http://www.
w3schools.com/> e comece a aprofundar seus conhecimentos!
P
R
O
G
R
A
M
4 CSS: ADICIONANDO PERFUMARIAS A SUAS PÁGINAS HTML A
Ç
Ã
O
Já pensou se as páginas Web não tivessem cores, elementos gráficos e fontes P
diferentes? Certamente a Web seria um espaço monótono. Para criar uma página Web viva A
R
é necessário dar uma identidade visual a ela. Já imaginou tudo o que poderíamos fazer para A

embelezar nosso Hello World? W


E
B

I
12 TÓPICO 1 UNIDADE 1

NOT
A!

Você já conhece o CSS do Caderno de Estudos de Introdução
ao Desenvolvimento de Sistemas Web, por este motivo, vamos
apenas recapitular.

Quando falamos em CSS (Cascade Style Sheets) estamos falando da linguagem


utilizada para dar estilo e formatação a uma página Web. Mas você deve pensar, mesmo
antigamente, as páginas Web já tinham cores e eram atrativas. Lembra que falamos que no
início o HTML era o ‘faz tudo’? Vamos ver como ficaria a versão retrô do nosso Hello World:

LISTAGEM 2 - PÁGINA HELLO WORLD ESTILIZADA UTILIZANDO OS ATRIBUTOS HTML.

<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body bgcolor="yellow">
<p align="center">
Hello World
</p>
</body>
</html>

FIGURA 5 - PÁGINA WEB HELLO WORLD ESTILIZADA UTILIZANDO OS ATRIBUTOS DE


FORMATAÇÃO DO HTML

P
R
O
G
R
A
M
A
Ç
Ã
O
FONTE: O autor
P
A
R
A Note que nossa página retrô não conta mais com o DOCTYPE no topo, pois não é
W
E
HTML5. Mas se você não o retirou, não há problema, pois os browsers interpretam HTML
B misturado ao HTML5 sem problemas (mas é considerado uma má prática).
I
UNIDADE 1 TÓPICO 1 13

Veja que há um atributo na tag body, o bgcolor (background color), responsável por colorir
o corpo da página. Há também um atributo no parágrafo, o align, responsável por centralizar
o texto. Estes atributos para formatação no HTML estão obsoletos desde o HTML 4.0, quando
o CSS entrou em cena.

A principal função do CSS é separar o código-fonte referente à formatação da página


do código-fonte que contém o conteúdo (e trata a semântica) da página, e assim aumentar as
possibilidades de reaproveitamento do mesmo. Então, vamos refatorar nosso Hello World para
que fique coerente com as boas práticas de programação utilizadas atualmente:

1. No mesmo diretório em que se encontra seu arquivo helloworld.html, crie um arquivo chamado
styles.css com o seguinte conteúdo:

LISTAGEM 3 - CONTEÚDO DO ARQUIVO styles.css

body {
background-color: yellow;
}
p {
text-align: center;
}

2. Sobrescreva o conteúdo do seu arquivo helloworld.html com o conteúdo a seguir:

LISTAGEM 4 - helloworld.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head> P
R
<body> O
G
<p> R
A
Hello World M
A
</p> Ç
Ã
</body> O

</html> P
A
R
A
3. Abra no navegador seu arquivo helloworld.html, deve estar conforme a figura a seguir:
W
E
B

I
14 TÓPICO 1 UNIDADE 1

FIGURA 6 - PÁGINA WEB HELLO WORLD ESTILIZADA UTILIZANDO CSS

FONTE: O autor

Talvez você esteja indignado, pois desta forma foi necessário escrever mais código-fonte.
Porém, como é possível perceber, o código-fonte referente ao estilo e formatação (arquivo
.css) fica completamente isolado da página (arquivo .html). O arquivo styles.css é referenciado
dentro do cabeçalho da página helloworld.html, através da tag <link rel="stylesheet" type="text/
css" href="styles.css">. O mesmo arquivo CSS pode ser referenciado em diversas páginas
diferentes. Isto potencializa muito a reutilização de estilos.

ÇÃO!
ATEN

MAS POR QUE DECLARAR O CSS SEPARADO?


Declarar o CSS dentro do arquivo da página HTML é considerado
uma má prática, pois prejudica a principal vantagem do CSS no
desenvolvimento Web, o reaproveitamento. Mesmo que seja
possível, através da tag style e dos estilos in-line, é considerado
poluição de código, pois mistura o código referente à formatação
com o conteúdo da página, fazendo com que a utilização de CSS
perca o sentido. Caso você tenha ficado em dúvida ao ouvir falar
da tag style ou de estilos in-line, revise o conteúdo do Caderno
de Estudos da disciplina de Introdução ao Desenvolvimento de
Sistemas Web.

P
R
O
G
R
A
M
A
5 O PROTOCOLO HTTP
Ç
Ã
O
Caro(a) acadêmico(a)! Neste ponto, você já tem conhecimento de como as páginas Web
P
A são escritas, pois já conhece alguns elementos do HTML. Vamos ver então, o que acontece
R
A por baixo dos panos quando você digita a URL de um site no seu browser e pressiona a tecla
W Enter para visualizar a página Web que você deseja.
E
B

I Quando você tem um computador conectado à internet, abre o seu browser e digita o
UNIDADE 1 TÓPICO 1 15

site que você deseja visualizar (por exemplo, <http://www.grupouniasselvi.com.br/>) seu browser
irá efetuar uma requisição get através do protocolo HTTP e irá obter a página Web como
resposta, conforme a figura abaixo.

FIGURA 7 - PÁGINA WEB OBTIDA COMO RESPOSTA À URL <http://www.


grupouniasselvi.com.br/>

FONTE: O autor

NOT
A!

VÁRIOS CONCEITOS NOVOS? VAMOS RELEMBRAR ALGUMAS
COISAS!
Você lembra que HTTP (Hypertext Transfer Protocol) é o protocolo
para transferência de arquivos de hipertexto. O get, é um método
do HTTP utilizado para buscar um arquivo em um servidor Web.
URL (Unified Resource Locator) é um endereço na Web. O exemplo
acima ilustra o acesso à URL <http://www.grupouniasselvi.com.
br/>. O browser automaticamente precede a URL com a descrição P
R
do protocolo a ser utilizado, o HTTP. A URL completa da requisição O
fica <http://www.grupounisselvi.com.br>. G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
16 TÓPICO 1 UNIDADE 1

ÇÃO!
ATEN

PERCEBEU O INDEX.ASPX NA URL?


É um comportamento comum a vários servidores Web que quando
você faz uma requisição informando uma URL sem especificar o
nome do arquivo desejado, ele retorne o arquivo index. Foi o que
aconteceu no nosso exemplo, requisitamos a URL <http://www.
grupouniasselvi.com.br/> e recebemos como resposta o arquivo
index.aspx. Neste caso, a extensão do arquivo (.aspx) nos indica
que a página foi implementada na plataforma da Microsoft ASP.NET.

Além do método get utilizado pelo browser, o HTTP possui outros métodos. A seguir,
apresentamos os principais deles:

• GET: como você já sabe, busca um arquivo em um servidor Web, pode receber parâmetros
e os parâmetros ficam visíveis na URL.

• POST: Busca um arquivo em um servidor Web, pode receber parâmetros, porém os


parâmetros não ficam visíveis na URL, eles trafegam ocultos no corpo da requisição.

• PUT: Armazena o conteúdo da requisição na URL solicitada, ou seja, pede para adicionar/
alterar um arquivo no servidor Web.

• DELETE: Deleta o arquivo da URL solicitada, ou seja, pede para excluir um arquivo no
servidor Web.


OS!
FU TUR
DOS
ESTU

Esta unidade forneceu a parte teórica do HTTP. Não se preocupe


P
R em saber como funcionam os métodos, apenas certifique-se de
O que entendeu o que cada um dos métodos acima faz. Até aqui,
G o conceito é o que realmente importa. Na Unidade 3, iremos
R
A apresentar o conceito de API REST e você irá utilizar os diferentes
M métodos do HTTP na prática.
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 1 17

RESUMO DO TÓPICO 1

Neste tópico, você aprendeu que:

• A Web tem suas origens na década de 90, e não para de evoluir até os dias atuais.

• Tim Berners-Lee, criador da Web, ainda hoje participa do seu processo evolutivo.

• Atualmente, a evolução da Web é coordenada por consórcio chamado W3C (World Wide
Web Consortium).

• A versão do HTML em evidência hoje em dia é o HTML5.

• Você teve um overview das tags HTML.

• Você viu que não se deve usar o HTML para estilizar suas páginas, em vez disto, utilizar o CSS.

• Viu os principais métodos do protocolo HTTP (Hypertext Trasfer Protocol).

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
18 TÓPICO 1 UNIDADE 1


IDADE
ATIV
AUTO

Explore as tags HTML.

1 Implemente uma página Web para exibir uma lista de compras. Utilize uma lista não
ordenada.
Arquivo listacompras.html:

2 Implemente uma página Web para exibir uma lista de atividades a cumprir (to do list).
Utilize uma lista ordenada.
Arquivo todolist.html:

3 Em seu Hello World, implemente um link denominado ‘Lista de Compras’, direcionando


para a página que você implementou na questão 1.
Arquivo helloworld.html:

4 Utilizando CSS, faça com que a cor do texto do link criado na questão 3 seja verde, e
que o mesmo apareça alinhado à direita (crie um arquivo de CSS separado da página).
Arquivo styles.css

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1

TÓPICO 2

SERVIDORES WEB

1 INTRODUÇÃO

Caro(a) acadêmico(a)! Você já deve saber escrever e formatar as suas páginas Web,
utilizando HTML e CSS. Você também já conhece os conceitos básicos do Protocolo HTTP,
o qual é utilizado pelo browser para obter páginas Web na internet. Mas quem responde às
requisições do browser? Você conhecerá neste tópico. Iremos abordar as principais funções
de um servidor Web, seus componentes e a forma que ele funciona. Tudo isto utilizando uma
plataforma muito bem conceituada no mercado, o XAMPP.

2 O QUE É UM SERVIDOR WEB

No tópico anterior, enquanto estudava o protocolo HTTP, viu que durante seu processo
natural de navegar na internet, você digita uma URL no seu browser e ele faz uma requisição
get a um servidor Web. Mas o que é exatamente um servidor Web e qual é seu papel?

P
O servidor Web é um programa cuja função é responder a requisições. Em sua forma R
O
mais básica, as requisições são pedidas para o servidor Web devolver um determinado arquivo. G
R
Por exemplo, na URL <www.apachefriends.org/pt_br/index.html/> o texto ‘www.apachefriends. A
M
org/’ representa o caminho para alcançar o servidor Web na internet, enquanto o texto ‘pt_br/ A
Ç
index.html’ representa o caminho para alcançar o arquivo index.html dentro do servidor Web. Ã
O

P
O primeiro software de servidor Web foi concebido em 1990 e como você talvez já deve A
R
pensar, contou com a participação de Tim Berners-Lee na equipe do projeto. Este software foi A
denominado CERN httpd. W
E
B

I
20 TÓPICO 2 UNIDADE 1

3 XAMPP, SEU SERVIDOR WEB

Vamos agora conhecer o servidor Web para esta disciplina, o XAMPP. Na verdade, o
XAMPP é mais do que um servidor Web. Ele é constituído principalmente de um servidor Web,
um banco de dados e um servidor FTP (File Transfer Protocol).

O termo XAMPP é um acrônimo, o significado diz praticamente tudo sobre ele:

• X: A letra X tem por objetivo apresentar a característica de que ele é genérico em relação
ao sistema operacional no qual deve ser instalado. Há instalações para Linux, Windows e
Mac OS.

• A: Apache, o servidor Web do XAMPP.

• M: MySQL, o banco de dados.

• P: PHP, a linguagem.

• P: Perl, mais uma linguagem.

Conseguiu perceber como o XAMPP é poderoso? Ele possui um servidor Web, um


Banco de dados, duas linguagens de programação, um servidor FTP e ainda por cima roda
em diversos sistemas operacionais. Querendo ter um XAMPP rodando em seu computador?
Os próximos tópicos guiarão você.

ÇÃO!
ATEN

P
R Nesta disciplina não iremos utilizar o FTP nem o Perl. Mas é
O
G importante você saber que eles existem no XAMPP.
R
A
M
A
Ç
Ã
O

P
A
4 INSTALANDO XAMPP NO SISTEMA OPERACIONAL UBUNTU
R
A

W O Ubuntu é um sistema operacional muito encontrado em empresas de desenvolvimento


E
B Web. Devido ao fato de ser um sistema operacional maduro, de código-fonte aberto e gratuito
I (opcionalmente você pode fazer doações à empresa mantenedora, a Canonical, após efetuar
UNIDADE 1 TÓPICO 2 21

o download), é comumente utilizado para ambientes de desenvolvimento.

Geralmente, instalar programas no Linux é uma tarefa que exige bastante conhecimento
e capacidade de pesquisar, mas isto não acontece com o Ubuntu. Ele é uma distribuição de
Linux que cresceu com o objetivo de ser amigável ao usuário.

UNI

Grande parte dos sistemas Web roda em ambiente Linux. Se


você não conhece o Linux, conhecer o Ubuntu é um bom início.
É muito interessante conhecê-lo. Acesse: <http://www.ubuntu.
com/> e obtenha informações.

1. Acesse o site <https://www.apachefriends.org/> e acesse o menu download:

FIGURA 8 - HOME PAGE DA APACHE FRIENDS, ONDE É POSSÍVEL FAZER DOWNLOAD DO XAMPP

P
R
O
FONTE: O autor G
R
A
M
2. Identifique a versão mais recente do XAMPP para Linux disponível para a arquitetura de sua A
Ç
máquina (32 ou 64 bits) e clique em download para baixar o instalador: Ã
O

P
A
R
A

W
E
B

I
22 TÓPICO 2 UNIDADE 1

FIGURA 9 - ÁREA DE DOWNLOAD PARA LINUX DA PÁGINA DE DOWNLOADS DA APACHE FRIENDS

FONTE: O autor

3. Uma nova aba no seu navegador irá abrir e o download irá iniciar:

FIGURA 10 - DOWNLOAD DO XAMPP EM ANDAMENTO

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A
FONTE: O autor
W
E
B
4. Quando o download estiver concluído, encontre o instalador na sua pasta de downloads e
I
clique sobre ele com o botão direito e depois sobre propriedades:
UNIDADE 1 TÓPICO 2 23

FIGURA 11 - INSTALADOR DO XAMPP NA PASTA DE DOWNLOADS

FONTE: O autor

5. Na janela propriedades, acesse a guia Permissões e marque a opção Executar arquivo como
programa:

FIGURA 12 - PROPRIEDADES DO INSTALADOR

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

FONTE: O autor I
24 TÓPICO 2 UNIDADE 1

6. Agora feche todas as janelas e abra um terminal. Nele, execute o comando ‘sudo nautilus’
e digite sua senha de administrador, conforme a seguir:

ÇÃO!
ATEN

O comando sudo nautilus irá iniciar uma seção do file explorer


com privilégios de acesso de administrador (Root user).

FIGURA 13 - COMANDO SUDO NAUTILUS

FONTE: O autor

P 7. No file explorer que foi aberto após a execução do comando, encontre o arquivo de instalação
R
O do XAMPP (neste caso, a pasta de downloads), selecione-o e tecle Enter:
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 2 25

FIGURA 14 - INSTALADOR DO XAMPP NO FILE EXPLORER COM PERMISSÃO DE


ADMINISTRADOR

FONTE: O autor

8. O instalador será iniciado, clique em Next:

FIGURA 15 - INSTALADOR DO XAMPP NA PRIMEIRA ETAPA

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

FONTE: O autor W
E
B

I
9. Na página seguinte, mantenha as opções marcadas e clique em Next:
26 TÓPICO 2 UNIDADE 1

FIGURA 16 - INSTALADOR DO XAMPP NA SEGUNDA ETAPA

FONTE: O autor

FIGURA 17 - INSTALADOR DO XAMPP NA TERCEIRA ETAPA

P
R
O
G
R
A
M
A
Ç
Ã
O
FONTE: O autor
P
A
R
A 11. Para exemplos deste Caderno de Estudos não será necessário instalar o Bitnami, mas
W caso você tenha interesse de aprender sobre WordPress, Moodle e/ou outros softwares
E
B open source em PHP, mantenha a opção “Aprender mais sobre Bitnami” marcada. Para
I fins deste tutorial, vamos desmarcá-la e clicar em Next:
UNIDADE 1 TÓPICO 2 27

FIGURA 18 - INSTALADOR DO XAMPP NA QUARTA ETAPA

FONTE: O autor

12. A etapa a seguir é muito importante, pois é a sua última chance de cancelar a instalação
sem que nenhuma mudança seja feita no seu computador. Mas no nosso caso, queremos
sim instalar o XAMPP, portanto, vamos clicar em Next:

FIGURA 19 - INSTALADOR DO XAMPP NA QUINTA ETAPA

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B
FONTE: O autor I
28 TÓPICO 2 UNIDADE 1

13. A instalação será iniciada, acompanhe o progresso da operação, conforme a etapa a seguir:

FIGURA 20 - INSTALADOR DO XAMPP NA SEXTA ETAPA

FONTE: O autor

14. Se tudo ocorrer normalmente (sem erros), você visualizará a última etapa do Instalador,
desmarque a opção “Iniciar o XAMPP” e clique em Finish:

FIGURA 21 - INSTALADOR DO XAMPP NA SÉTIMA E ÚLTIMA ETAPA

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I FONTE: O autor
UNIDADE 1 TÓPICO 2 29

15. Agora, é necessário dar permissões de administrador à pasta de Projetos. Abra um terminal,
digite o comando ‘sudo chmod 777 /opt/lampp/htdocs’ e digite sua senha de administrador
quando solicitada, conforme segue:

NOT
A!

No comando acima ‘/opt/lampp/htdocs’ é o diretório de instalação
do XAMPP indicado na etapa 10.

FIGURA 22 - ATRIBUINDO PERMISSÕES AO DIRETÓRIO HTDOCS

FONTE: O autor
P
R
O
16. Agora é só testar! Feche todas as janelas e abra um novo terminal. Execute o comando G
‘sudo /opt/lampp/lampp start’, digite sua senha de administrador e verifique se não ocorreu R
A
nenhum erro (se tudo ocorreu sem erros, deve estar como segue: M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
30 TÓPICO 2 UNIDADE 1

FIGURA 23 - INICIANDO O XAMPP

FONTE: O autor

17. Abra seu browser e acesse a URL <http://localhost:80> e veja se o XAMPP está respondendo,
conforme segue:

FIGURA 24 - PÁGINA INICIAL DO XAMPP RODANDO NO HOST LOCAL

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A
FONTE: O autor
W
E
B
18. Agora vamos parar o servidor, feche todas as janelas e abra um novo terminal. Nele digite o
I
UNIDADE 1 TÓPICO 2 31

comando ‘sudo /opt/lampp/lampp stop’, digite sua senha de administrador quando solicitado
e se tudo ocorrer bem, o resultado deve ser conforme segue:

FIGURA 25 - FINALIZANDO O XAMPP

FONTE: O autor

19. Abra seu browser e acesse a URL <http://localhost:80/> e veja se o XAMPP está
respondendo, certamente ele parou de responder, conforme segue:

FIGURA 26 - XAMPP FINALIZADO, A PÁGINA INICIAL NÃO RESPONDENDO MAIS

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B
FONTE: O autor
I
32 TÓPICO 2 UNIDADE 1

Instalando XAMPP no sistema Operacional Windows

Instalar o XAMPP no Windows leva algumas etapas a menos em relação ao Ubuntu.


Então não iremos fazer um tutorial inteiro novamente, pois seria redundante. Em vez disto,
iremos guiá-lo pelas etapas do tutorial anterior e focar nas que sofrem alteração. Mãos à obra:

1. Acesse o site <https://www.apachefriends.org> e acesse o menu download (da mesma forma


como descrito na primeira etapa do tutorial do Ubuntu).

2. Identifique a versão mais recente do XAMPP para Windows disponível e clique em download
para baixar o instalador (No momento de escrita deste Caderno de Estudos, não havia
distinção entre as arquiteturas 32 e 64 bits dos instaladores XAMPP para Windows, sendo
que o de 32 bits funciona também em máquinas de arquitetura 64 bits):

FIGURA 27 - ÁREA DE DOWNLOAD PARA WINDOWS DA PÁGINA DE DOWNLOADS DA APACHE


FRIENDS

P FONTE: O autor
R
O
G
R 3. Uma nova aba no seu navegador irá abrir e o download irá iniciar (da mesma forma como
A
M ocorre na terceira etapa do tutorial para Ubuntu).
A
Ç
Ã
O 4. Quando o download estiver concluído, encontre o instalador na sua pasta de downloads
P e clique sobre ele com o botão direito e selecione a opção Executar como administrador
A
R (ainda antes, desative seu software antivírus, caso tenha, e não se esqueça de reativá-lo
A
ao término da instalação):
W
E
B

I
UNIDADE 1 TÓPICO 2 33

FIGURA 28 - EXECUTANDO O INSTALADOR COMO ADMINISTRADOR

FONTE: O autor

5. Siga as etapas de 8 a 14 do tutorial de instalação do XAMPP para Ubuntu (tutorial anterior).

6. Na barra de tarefas, acesse o menu Iniciar, Todos os Programas, XAMPP, XAMPP Control Panel:

FIGURA 29 - ACESSANDO O XAMPP CONTROL PANEL

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

FONTE: O autor I
34 TÓPICO 2 UNIDADE 1

7. O XAMPP Control Panel irá abrir. Encontre os serviços Apache e MySQL e pressione o
botão Start ao lado de cada um. Quando os serviços estiverem iniciados corretamente, eles
aparecerão com a cor de fundo verde:

FIGURA 30 - XAMPP CONTROL PANEL COM OS SERVIÇOS APACHE E MYSQL EM


EXECUÇÃO

FONTE: O autor

8. Abra seu browser e acesse <http://localhost:80> e verifique se o XAMPP está respondendo


conforme a imagem a seguir:

FIGURA 31 - PÁGINA INICIAL DO XAMPP

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B
FONTE: O autor
I
UNIDADE 1 TÓPICO 2 35

9. No XAMPP Control Panel, localize os serviços Apache e MySQL e pressione o botão Stop
ao lado de cada serviço. Note que feito isto, os serviços não aparecem mais destacados
com a cor de fundo verde:

FIGURA 32 - XAMPP CONTOL PANEL COM OS SERVIÇOS APACHE E MYSQL


FINALIZADOS

FONTE: O autor

10. No seu browser acesse novamente a URL <http://localhost:80> e verifique, obviamente, o


XAMPP não está mais respondendo, pois finalizamos seus serviços.

FIGURA 33 - XAMPP FINALIZADO, A PÁGINA INICIAL NÃO RESPONDENDO MAIS

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
FONTE: O autor B

I
36 TÓPICO 2 UNIDADE 1

ÇÃO!
ATEN

A partir deste momento, precisamos que você entenda algumas


ações comuns que serão mencionadas ao longo de seu Caderno
de Estudos. Consideraremos que as ações a seguir estejam
subentendidas.
• Daqui em diante, quando falarmos em iniciar o XAMPP, significa
que se você estiver utilizando o sistema operacional Windows,
você deve abrir o XAMPP Control Pannel, e iniciar o MySQL e
o Apache (da mesma forma que você fez na sexta e sétima
etapa do tutorial de instalação para Windows). Caso você esteja
utilizando o sistema operacional Ubuntu, você deve abrir um
terminal e executar o comando ‘sudo /opt/lampp/lampp start’
(de forma idêntica à décima sexta etapa do tutorial de instalação
do XAMPP para Ubuntu).
• Quando falarmos em finalizar o XAMPP, significa que se você
estiver utilizando o sistema operacional Windows, você deve
abrir o XAMPP Control Pannel, e finalizar o MySQL e o Apache (da
mesma forma que você fez na nona etapa do tutorial de instalação
para Windows). Caso você esteja utilizando o sistema operacional
Ubuntu, você deve abrir um terminal e executar o comando ‘sudo
/opt/lampp/lampp stop’ (de forma idêntica à décima oitava etapa
do tutorial de instalação do XAMPP para Ubuntu).
• Da mesma forma, daqui em diante, quando mencionarmos
o ‘Diretório de Projetos’ ou o ‘Diretório htdocs’, estaremos
mencionando o diretório <C:\xampp\htdocs> (no caso do
Windows) ou </opt/lampp/htdocs> (no caso do Ubuntu)

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 2 37

RESUMO DO TÓPICO 2

Neste tópico, você aprendeu:

• Instalar o XAMPP no Windows e no Linux Ubuntu.

• Para criar um projeto Web no XAMPP, os arquivos do projeto devem estar dentro do diretório
de projetos (htdocs).

• Para acessar seus projetos Web, deve-se iniciar o XAMPP e acessar a URL <http://
localhost:80/nome-do-projeto/>.

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
38 TÓPICO 2 UNIDADE 1


IDADE
ATIV
AUTO

Agora que temos o XAMPP instalado, é hora de explorá-lo:

1 Crie um novo diretório chamado ‘helloworld’ (sem aspas) abaixo do diretório htdocs.

2 Dentro do diretório helloworld cole o arquivo helloworld.html que você criou durante
seus estudos no Tópico 1.

3 Inicie o XAMPP.

4 Abra seu Browser e acesse a URL <http://localhost:80/helloworld/helloworld.html>.

5 Edite a página helloworld.html que você copiou para dentro do diretório htdocs com
o editor de texto e implemente algo novo nela.

6 Para visualizar as alterações é necessário somente atualizar a guia do seu navegador


na qual você acessou a URL <http://localhost:80/helloworld/helloworld.html> (pressionar
a tecla F5).

7 Não se esqueça de, quando terminar, finalizar o XAMPP.

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 2 39

A figura mostra alterações sendo feitas no arquivo helloworld.html e a página


Hello World já atualizada.

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
40 TÓPICO 2 UNIDADE 1

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1

TÓPICO 3

DESTRINCHANDO O PHP, DESDE SUA


HISTÓRIA ATÉ SEUS MÉTODOS

1 INTRODUÇÃO

Caro(a) acadêmico(a)! O PHP é uma linguagem de programação, muito utilizada e


especialmente adequada para o desenvolvimento Web e que pode ser inserida dentro do HTML.
Ótimo, mas o que isso realmente significa? O HTML por si só não nos proporciona formas de
dinamizar os conteúdos de uma página, por se tratar de uma linguagem de marcação. O PHP
age como linguagem de programação unida ao HTML, fazendo como que as páginas Web
sejam mais dinâmicas. Prepare-se para explorar o PHP!

2 UM POUCO DE HISTÓRIA

O surgimento do PHP é uma história um tanto quanto inusitada. Você possui um site
pessoal? Ou conhece alguém que tenha um site pessoal? Ou por acaso, você conhece alguém
que tenha criado uma linguagem de programação para desenvolver seu site pessoal?

P
Pois bem, em meados de 1995, um cidadão canadense chamado Rasmus Lerdorf R
O
desenvolvia seu site pessoal. Ele então começou a perceber que boa parte do código que estava G
R
criando poderia ser abstraído, e começou a criar scripts em Perl (linguagem que estava utilizando A
M
para desenvolver seu site) para utilizar como bibliotecas, otimizando o reaproveitamento. O A
Ç
código foi aprimorado com o tempo, e certo dia, Rasmus decidiu portá-lo para a linguagem C. Ã
O
Foi assim que surgiu o embrião do PHP, o PHP/FI (Personal Home Page/Forms Interpreter).
P
A
R
O PHP/FI foi ganhando muitos usuários, e foi necessário efetuar algumas manutenções A
e correções no core da plataforma. Estas alterações deram origem à versão 2.0. Dois anos W
E
depois, em 1997, os projetos Web demandavam mais do que o PHP tinha a oferecer, ao perceber B
isto, dois desenvolvedores, Andi Gutmans e Zeev Suraski, contando com o apoio do criador I
42 TÓPICO 3 UNIDADE 1

do PHP, reescreveram completamente a linguagem. Então, o PHP definitivamente decolou,


devido as suas características extremamente convenientes para projetos Web. Atualmente, o
que temos em evidência é o PHP 5.

NOT
A!

Core: Núcleo, parte mais importante de uma plataforma de
desenvolvimento.

O termo PHP é um acrônimo, que resume toda esta história, pois traduzido quer dizer
‘Página Pessoal’:

• P: Personal.

• H: Home.

• P: Page.

FIGURA 34 - RASMUS LERDORF

P
R
O
G
R
A
M
A FONTE: Disponível em: <http://en.wikipedia.org/wiki/Rasmus_Lerdorf#mediaviewer/
Ç
à File:Rasmus_Lerdorf_August_2014_(cropped).JPG>. Acesso em: 3 de. 2014.
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 3 43

3 DESTRINCHANDO O PHP

Podemos citar duas características principais, primeiro, o PHP é uma linguagem Case
Sensitive, ou seja, onde letras maiúsculas diferem de letras minúsculas no que diz respeito
a palavras reservadas, comandos e nomes de variáveis. Segundo, PHP é uma linguagem
de tipagem dinâmica (também conhecida como tipagem fraca), o que significa que o tipo da
variável não necessita ser declarado e pode alterar em tempo de execução.


!
ROS
OS FUTU
ESTUD

Se você não compreendeu como funciona a tipagem dinâmica,


iremos explorar esta característica do PHP mais adiante. Não se
preocupe.

3.1 HELLO WORLD

Por onde começar a estudar uma tecnologia? Você já sabe! Vamos fazer nosso Hello
World em PHP:

1. Logo abaixo do diretório htdocs crie um diretório chamado helloworldphp.


2. Dentro do diretório helloworldphp crie um arquivo index.php.
3. No arquivo incex.php, insira o conteúdo da listagem a seguir e salve o arquivo:

LISTAGEM 5 – PÁGINA WEB HELLO WORLD IMPLEMENTADA EM PHP


<!DOCTYPE html> P
R
<html lang="en"> O
G
<head> R
A
<meta charset="utf-8"> M
A
<title>Hello World</title> Ç
</head> Ã
O
<body> P
<?PHP A
R
echo "<p>Hello World!</p>"; A

?> W
E
</body> B

</html> I
44 TÓPICO 3 UNIDADE 1

4. Inicie o XAMPP

5. Em seu browser, acesse a URL <http://localhost:80/helloworldphp/>, a página obtida deve


estar conforme segue:

FIGURA 35 - PÁGINA WEB HELLO WORLD IMPLEMENTADA EM PHP

FONTE: O autor

6. Obs.: Ao término, não esqueça de finalizar o XAMPP.

Pois bem, quanta coisa que certamente você já conhece! Mas para consolidar os
conhecimentos, vamos explorar a fundo nosso Hello World:

1. Criamos um diretório dentro do diretório de projetos (htdocs) chamado helloworldphp e criamos


neste diretório o arquivo index.php. O arquivo index.php é encontrado em praticamente
todos os projetos PHP, pois é a página inicial quando o usuário acessa o nosso site. Você
deve lembrar que quando estudávamos o protocolo HTTP, no Tópico 1, acessamos a URL
P
R <http://www.grupouniasselvi.com.br/> e recebemos a página index.aspx como retorno. Isto
O
G também acontece no caso do PHP, o Apache (servidor Web do XAMPP) retorna a página
R
A chamada index.php caso não tenha sido especificado nenhuma página na URL. Desta forma
M
A podemos acessar a URL do nosso site <http://localhost:80/helloworldphp/> e receberemos
Ç
à como resposta o arquivo index.php.
O

P
A
2. O conteúdo do arquivo index.php possui, em grande parte, código HTML5 (que dispensa
R
A
explicações). Arquivos com extensão .php são páginas Web que contêm código-fonte em

W
HTML juntamente com código-fonte PHP. A novidade no conteúdo do arquivo index.php fica
E na tag <?php .. ?> e no comando echo, vamos ver por partes:
B

I
UNIDADE 1 TÓPICO 3 45

• Em uma página PHP, todo o código-fonte que se encontrar entre a tag de abertura do PHP
(<?php) e seu fechamento (?>) é código-fonte PHP, enquanto o que estiver fora destas tags
é código-fonte HTML. Ou seja, a tag de abertura e fechamento do PHP (respectivamente
‘<?php’ e ‘?>’) tem por finalidade separar o código de marcação (HTML) do código de
programação (PHP). Uma página PHP pode conter quantos trechos de código em PHP
forem necessários, a única regra é que eles devem se encontrar entre uma tag de abertura
e uma tag de fechamento PHP.

• O comando echo do PHP tem por finalidade imprimir conteúdo na página Web. A string que o
comando echo recebe como parâmetro será impressa na página, ou seja, será concatenada ao
HTML exatamente no ponto onde reside a tag de abertura PHP que contém o comando echo.
No caso do comando echo, o uso de parênteses para passagem de parâmetros é opcional.

ÇÃO!
ATEN

O COMANDO ECHO IRÁ IMPRIMIR ALGO?


Quando mencionamos que o conteúdo do parâmetro do comando
echo será impresso na página, não quer dizer que será impresso
em papel através de uma impressora. O que queremos dizer,
é que o conteúdo será adicionado a página Web, exatamente
onde o comando echo estiver. É um conceito análogo ao Console.
writeLine() do C#, System.out.println() do Java, porém, em vez de
escrever no Terminal, o PHP escreve diretamente na página HTML.

Caro(a) acadêmico(a)! Você deve ter percebido que a versão PHP da nossa página
Hello World é bem simples. É o mesmo Hello World que implementamos quando estudávamos
HTML, porém o parágrafo com a mensagem ‘Hello World!’, no corpo da página é impresso
através do comando echo do PHP.

P
R
O
3.2 Variáveis e tipos de dados G
R
A
M
O PHP suporta os tipos de dados integer, double, string, boolean, array e object. Você A
Ç
provavelmente já conhece estes tipos de dados de alguma outra disciplina (Algoritmos ou Ã
O
Linguagem de Programação), pois geralmente eles são bem semelhantes em outras linguagens.
P
De qualquer forma, vamos descrevê-los a seguir: A
R
A

• Integer: Valores inteiros (positivos e negativos). Exemplo: 24; -36; 0; etc. W


E
B

• Double: Valores com ponto flutuante, ou seja, frações (positivas ou negativas). Exemplo: I
46 TÓPICO 3 UNIDADE 1

16,71; 0,00; -0,24; etc.

• String: Textos. Exemplo: “<br>Hello World!</br>”, “UNIASSELVI - NEAD” etc.

• Boolean: Verdadeiro ou Falso.

• Object: Objetos são estruturas de dados definidos através de uma classe, que armazenam
informações e encapsulam métodos durante a execução do programa.

NOT
A!

OBJECT?
Caso você não teve contato com a Programação Orientada a
Objetos (POO), certamente deve se perguntar: ‘Object? Como
assim?’ Se for o seu caso, não se preocupe, pois não iremos focar
em orientação a objetos nesta disciplina. Inclusive, o suporte a
Programação Orientada a Objetos no PHP deixa a desejar, pois
o PHP não suporta polimorfismo de métodos. Caso você seja um
entusiasta da Orientação a Objetos, pesquise sobre o assunto.
Se você já domina alguma linguagem orientada a objetos, reflita
sobre a seguinte questão: Você pensa que vale a pena abrir mão
do Polimorfismo de Métodos para usufruir da Tipagem dinâmica?
A conclusão é subjetiva.

Para declarar uma variável em PHP é necessário utilizar o símbolo $ (dólar) seguido
do nome da variável, que não deve conter espaços em branco nem caracteres especiais e
também não deve iniciar com números. Opcionalmente, a variável pode ser inicializada, caso
contrário será nula. Vamos ver na prática?

1. Em seu diretório de projetos (htdocs) crie um diretório chamado ‘variaveis’.

P 2. Dentro do diretório ‘variaveis’ crie um arquivo chamado index.php.


R
O
G
R 3. Insira o conteúdo da listagem a seguir em seu arquivo index.php.
A
M
A LISTAGEM 6 - PÁGINA WEB HELLO PARA ESTUDOS SOBRE VARIÁVEIS EM PHP
Ç
Ã
O
<!DOCTYPE html>
P
A <html>
R
A
<head>
W
<meta charset="utf-8">
E
B
<title>Variáveis</title>

I
UNIDADE 1 TÓPICO 3 47
</head>
<body>
<h1>Vamos estudar as variáveis!</h1>
<h2>Variável nula:</h2>
<?php
/* Declara uma variável e deixa ela nula */
$variavelnula;
echo "<p>".$variavelnula."</p>"; // aqui vai dar erro ;-)
?>
<br />
<h2>Variável String:</h2>
<?
/* Declara uma variável String */
$variavelString123 = "um, dois, três";
echo "<p>".$variavelString123."</p>";
?>
<br />
<h2>Variável Integer:</h2>
<?
/* Declara uma variável Intger */
$variavelInteger = 123;
echo "<p>".$variavelInteger."</p>";
?>
<br />
<h2>Variável Double:</h2>
<?
/* Declara uma variável Double */
$variaveldouble = 0.24;
echo "<p>".$variaveldouble."</p>";
?>
</body>
P
</html> R
O
G
R
4. Inicie o XAMPP. A
M
A
Ç
5. Em seu browser acesse a URL <http://localhost:80/variaveis/> e visualize sua página. Ã
O

P
6. Ao terminar, não esqueça de finalizar o XAMPP. A
R
A

W
E
B

I
48 TÓPICO 3 UNIDADE 1

IMPO
RTAN
TE!

NOSSA, QUANTA COISA!
Inevitavelmente, nosso estudo sobre variáveis acabou revelando
outros aspectos importantes da linguagem de programação PHP:
• Os comandos são finalizados com ponto e vírgula (;)
• O operador de atribuição é o igual (=)
• O operador para concatenação é o ponto (.)
• A primeira tag de abertura de código PHP precisa ser escrita
completamente (‘<?php’), as demais podem ser abreviadas (‘<?’)
• Para abertura e fechamento de comentários multilinhas utiliza-
se respectivamente os caracteres ‘/*’ e ‘*/’ (sem aspas)
• Para comentário somente de uma linha, utiliza-se ‘//’ (sem aspas)

3.3 DECLARAÇÃO DE CONSTANTES

Constantes e PHP podem ser consideradas variáveis globais cujo valor não pode ser
alterado, apenas inicializado. A declaração de constantes no PHP é feita pela função define,
o primeiro parâmetro é o nome da constante, o segundo parâmetro é o valor da constante, e
o terceiro é opcional, é um booleano que indica se a variável deve ou não ser case sensitive.
A função define ainda devolve um booleano indicando sucesso ou não na criação da variável.
A sintaxe é apresentada a seguir:

(boolean) define (<nome_da_constante>, <valor_da_constante>, [<não_é_case_


sensitive>]);

O trecho de código PHP da listagem a seguir exemplifica a criação de constantes, você


pode inserir este trecho de código em qualquer arquivo PHP (por exemplo, seu Hello World)
para fins de teste:
P
R
O LISTAGEM 7 - DECLARAÇÃO DE CONSTANTES EM PHP
G
R <?php
A
M // Declara uma constante Case Sensitive
A
Ç define("constanteCaseSensitive", "CASE_SENSITIVE");
Ã
O echo constanteCaseSensitive;
P echo "<br />";
A
R // Declara uma constante não Case Sensitive
A
define("constanteNaoCaseSensitive", "NAO_CASE_SENSITIVE",
W
E true);
B
echo ConsTanTeNaoCaseSensiTive;
I
?>
UNIDADE 1 TÓPICO 3 49

S!
DICA

PARA APRENDER DE VERDADE


A partir de agora, não iremos mais indicar quando você deve criar
um projeto novo no PHP (diretório htdocs). Mas alertamos, para
aprender de verdade, teste todos os trechos de códigos deste
tópico. Você pode utilizar o seu arquivo index.php da versão PHP
do projeto Hello World, que criamos no início do tópico. Basta
transcrever o código-fonte dos exemplos no corpo da página
(entre a tag body e seu fechamento).

3.4 OPERADOTES LÓGICOS, MATEMÁTICOS E CONDICIONAIS

Como ocorre em toda e qualquer linguagem de programação, o PHP possui operadores


lógicos, matemáticos e condicionais. Veja a seguir os operadores que o PHP nos oferece.

TABELA 2 - OPERADORES MATEMÁTICOS DO PHP

Operador Descrição
= Atribui o valor de sua direita à variável em seu lado esquerdo.
. Concatena dois valores de formato de texto (string).
+ Soma dois valores numéricos.
- Subtrai dois valores numéricos.
++ Incrementa em 1 o valor da variável numérica à sua esquerda.
-- Decrementa em 1 o valor da variável numérica à sua esquerda.
* Multiplica dois valores numéricos.
/ Divide dois valores numéricos.
% Obtém o resto da divisão entre dois valores numéricos.
P
.= Concatena a variável à sua esquerda o valor apresentado em sua direita. R
O
+= Soma à variável à sua esquerda o valor apresentado em sua direita. G
R
-= Subtrai da variável à sua esquerda o valor apresentado em sua direita. A
M
*= Multiplica a variável à sua esquerda o valor apresentado em sua direita. A
Ç
/= Divide à variável à sua esquerda pelo valor apresentado em sua direita. Ã
O
%= Atribui à variável da esquerda o resto de sua divisão pelo valor apresentado em sua direita.
P
FONTE: MILANI (2010, p. 40) A
R
A

W
E
B

I
50 TÓPICO 3 UNIDADE 1

TABELA 3 - OPEERADORES CONDICIONAIS DO PHP


Operador Descrição
== Compara se dois valores têm o mesmo valor.
=== Compara se dois valores são idênticos.
!= Compara se dois valores são diferentes.
<> Equivalente a !=.
< Compara se o valor da direita é menor que o da esquerda.
> Compara se o valor da direita é maior que o da esquerda.
<= Compara se o valor da direita é menor ou igual ao da esquerda.
>= Compara se o valor da direita é maior ou igual ao da esquerda.
FONTE: MILANI (2010, p. 41)

TABELA 4 - OPERADORES LÓGICOS DO PHP


Operador Descrição
! Nega a condição informada (inverte o resultado lógico).
&& Retorna verdadeiro se ambas as condições da esquerda e direita forem satisfeitas.
Retorna verdadeiro se pelo menos uma das condições (da esquerda ou da direita) for
||
satisfeita.
FONTE: MILANI (2010, p. 41)

3.5 CONTROLANDO O FLUXO DO CÓDIGO COM


IF, ELSE, SWITCH, WHILE E FOR

Todas as linguagens de programação oferecem comandos para controlar o fluxo de


código. Você provavelmente teve seu primeiro contato com tais comandos quando estudava
algoritmos. O PHP fornece todos os operadores de controle de fluxo de execução comuns às
demais linguagens. Iremos em seguida apresentá-los e exemplificá-los a você.


R
O A!
G NOT
R
A
M
A
Ç O propósito deste tópico é demonstrar e exemplificar quais
à e como são os comandos para controle de fluxo de execução
O
em PHP. Pressupõe-se que você já conta com vivência com
P estes comandos, de disciplinas anteriores, como Algoritmos ou
A Linguagens de Programação.
R
A

W
E
B • ‘Se meu saldo bancário for maior ou igual a R$ 42.390,00, irei comprar um carro 0km,
I senão, comprarei um carro usado’. O condicional if é sem dúvida o mais tradicional de todas
UNIDADE 1 TÓPICO 3 51

as linguagens. Em PHP, o comando if recebe como parâmetro uma expressão booleana


(obrigatoriamente entre parênteses) e um bloco de código para ser executado caso a
expressão booleana a ser examinada seja verdadeira. Opcionalmente, pode-se adicionar a
cláusula else, com um bloco de código a ser executado caso a expressão booleana analisada
seja falsa. A proposição anterior seria escrita conforme a listagem a seguir:

LISTAGEM 8 - CONTROLE DE FLUXO DE EXECUÇÃO COM IF..ELSE EM PHP

<?php
/* Demonstração de if em PHP
* De acordo com o valor da variável $saldoBancario
* o resultado do programa pode variar.
*/

$saldoBancario = 42389.50;
if ($saldoBancario >= 42390){
echo "Vou comprar um carro 0km :-D";
} else { // o else é opcional
echo "Vou comprar um carro usado :-|";
}
?>

• ‘Nenhum erro encontrado‘, ‘Um erro encontrado’, Dois erros encontrados’, ‘Mais de dois erros
encontrados’. Fazer uma mensagem bonita para validação de um formulário de cadastro não
é tarefa fácil! No PHP, contamos com o comando condicional switch para facilitar. O comando
switch recebe como parâmetro (entre parênteses) um valor a ser analisado, e dependendo
do valor fornecido, ações distintas poderão ser implementadas. Veja o exemplo a seguir:

LISTAGEM 9 - CONTROLE DE FLUXO DE EXECUÇÃO COM SWITCH EM PHP

<?php
/* Demonstração de switch em PHP
P
* Mensagem de erro/sucesso para validação de formulários. R
O
* O algoritmo monta a mensagem de erro de acordo com G
R
* a quantidade de erros encontrada. A
M
*/ A
Ç
Ã
O
$quantidadeErros = 3; // tem que ser maior ou igual a 0
switch ($quantidadeErros){ P
A
case 0: R
A
$mensagemDeErro = "Nenhum"; W
break; E
B
case 1:
I
52 TÓPICO 3 UNIDADE 1

$mensagemDeErro = "Um";
break;
case 2:
$mensagemDeErro = "Dois";
break;
default:
$mensagemDeErro = "Mais de dois";
}
$mensagemDeErro .= " erro(s) encontrado(s)";
echo $mensagemDeErro;
?>

• ‘Liste os algarismos de um a dez’. O controle de execução através de loopings é uma prática


muito comum no desenvolvimento Web, e você certamente já possui conhecimentos dos
looping de disciplinas anteriores. Vamos exemplificar a utilização dos loopings for e while
em PHP. Acompanhe na listagem a seguir:

LISTAGEM 10 - CONTROLE DE FLUXO DE EXECUÇÃO COM LOOPINGS EM PHP

<H1>While</h1>
<? Php
/* Demonstração de while em PHP
* O while recebe como parâmetro (entre parênteses)
* um valor booleano e permanece em looping até quanto
* a condição for verdadeira.
*/
$contador = 0;
While ($contador++ < 10) {
Eco $contador."<br />";
}
P
?>
R
O
<h1>For</h1>
G
R
<?
A
M
/* Demonstração de for em PHP
A * O for recebe três parâmetros (entre parênteses
Ç
à *, separados por ponto e vírgula (;))
O
* O primeiro é a inicialização do contador
P
A * O segundo é um booleano que define até quando o looping
R
A será executado
W * O terceiro é um incremento para o contador
E
B */
I For ($contador = 1; $contador <= 10; $contador++) {
UNIDADE 1 TÓPICO 3 53
Eco $contador."<br />";
}
?>

3.6 FUNÇÃO ISSET()

Em códigos-fonte muito extensos e complexos, muitas vezes perdemos a noção de se já


criamos ou não uma variável. Em PHP, esta verificação pode ser feita utilizando a função isset(),
que recebe como parâmetro a variável a ser verificada e retorna um booleano, informando se
esta variável está ou não declarada na execução do programa. A listagem a seguir exemplifica a
situação na qual uma variável é verificada e não está declarada e em seguida, ela é declarada
e então verificada novamente.

LISTAGEM 11 - CONTROLE DE FLUXO DE EXECUÇÃO COM LOOPINGS EM PHP

<h1>A variável não está declarada:</h1>


<?php
// Declara uma variável porém deixa-a nula:
$variavel;
if (isset($variavel)){
echo "A variável está declarada!";
} else {
echo "A variável não está declarada!"; // aqui :-)
}
?>
<h1>A variável está declarada:</h1>
<?
// Declara uma variável e a inicializa:
$variavel = "variável"; P
R
if (isset($variavel)){ O
G
echo "A variável está declarada!"; // aqui :-) R
A
} else { M
A
echo "A variável não está declarada!"; Ç
Ã
} O

?> P
A
R
A

W
E
B

I
54 TÓPICO 3 UNIDADE 1

3.7 STRINGS

Você aprendeu no início do tópico como declarar uma variável string. Da mesma forma,
já sabe que para imprimir uma string é possível utilizar a função echo. Mas há mais formas de
imprimir uma string e há muitas outras manipulações possíveis além de simplesmente inicializar
uma string e concatená-la a outro valor.

A primeira grande novidade é a diferença que há entre a utilização de aspas simples e


aspas duplas em PHP. Quando você utiliza aspas simples, o valor da string é exatamente o que
é, enquanto quando você utiliza aspas duplas, o valor da string passa por uma formatação (o PHP
encontra nomes de variáveis e substitui por seus valores, por exemplo). Para seus estudos com
strings criaremos um arquivo separado, então acompanhe em seu computador as etapas a seguir:

1. Em seu diretório de projetos (htdocs), crie um diretório chamado ‘strings’ (sem aspas).

2. Dentro do diretório strings, crie um arquivo chamado index.php.

3. Insira no arquivo index.php o código-fonte da seguinte listagem:

LISTAGEM 12 - TESTE DE STRINGS NO PHP

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Strings</title>
</head>
<body>
<h1>Estudando strings no PHP!</h1>
P
R <?php
O
G // Declaramos uma variável string para armazenar
R
A // o nome de uma linguagem de programação.
M
A $linguagemDeProgramacao = "PHP";
Ç
à ?>
O
<h2>echo com aspas simples:</h2>
P
A
<?
R
A
echo '<p>Estudar $linguagemDeProgramacao é muito Legal

W
!! :-)</p>';
E ?>
B
<h2>echo com aspas duplas:</h2>
I
UNIDADE 1 TÓPICO 3 55
<?
echo "<p>Estudar $linguagemDeProgramacao é muito Legal
!! :-)</p>";
?>
</body>
</html>

4. Inicie o XAMPP

5. Em seu browser, acesse a URL <http://localhost:80/strings/> e verifique se está de acordo


com a figura a seguir:

FIGURA 36 - PROJETO STRINGS RODANDO LOCALMENTE NO XAMPP

FONTE: O autor

6. Quando pronto, não se esqueça de finalizar o XAMPP


P
R
A!
NOT O
G
R
A
M
Para testar os demais exemplos de seus estudos sobre strings em A
Ç
PHP, você poderá utilizar o projeto strings criado nas etapas acima. Ã
O

P
A
Agora vamos apresentar outro método para impressão de strings, que possui a mesma R
A
função do echo, o print, teste o trecho de código a seguir no projeto da listagem anterior:
W
E
B

I
56 TÓPICO 3 UNIDADE 1

LISTAGEM 13 - EXEMPLOS COM O COMANDO PRINT DO PHP

<h1>Vamos estudar o método print</h1>


<?php
// Declaramos uma variável string para armazenar
// o nome de uma instituição de ensino.
$instituicaoDeEnsino = "UNIASSELVI";
?>
<h2>print com aspas simples:</h2>
<?
print '<p>Estudar na $instituicaoDeEnsino é muito Legal !!
:-)</p>';
?>
<h2>print com aspas duplas:</h2>
<?
print "<p>Estudar na $instituicaoDeEnsino é muito Legal !!
:-)</p>";
?>

Agora, vamos partir para as funções de manipulação de strings. O PHP oferece várias,
vamos focar nas mais usadas por enquanto:

• trim(): remove os espaços em branco em volta da string.

• ltrim(): remove os espaços em branco à esquerda da string.

• rtrim(): remove os espaços em branco à direita da string.

LISTAGEM 14 - REMOVENDO ESPAÇOS EM BRANCO EM VOLTA DA STRING COM PHP

<h1>Estudando as funções trim()</h1>

P
<h2>Removendo espaços em branco em volta da string</h2>
R
O
<?php
G $stringComEspacosEmVolta = " Três espaços em cada lado ";
R
A echo "{".$stringComEspacosEmVolta."}<br />";
M
A
Ç
à // Remove os espaços em branco em volta da string
O
$stringSemEspacosEmVolta = trim($stringComEspacosEmVolta);
P
A echo "{".$stringSemEspacosEmVolta."}<br />";
R
A ?>
W <h2>Removendo espaços em branco à esquerda da string</h2>
E
B <?php
I $stringComEspacosAesquerda = " Três espaços à esquerda";
UNIDADE 1 TÓPICO 3 57
echo "{".$stringComEspacosAesquerda."}<br />";

// Remove os espaços em branco em volta da string


$stringSemEspacosAesquerda = trim($stringComEspacosAesquerda);
echo "{".$stringSemEspacosAesquerda."}<br />";
?>
<h2>Removendo espaços em branco à direita da string</h2>
<?php
$stringComEspacosAdireita = "Três espaços à direita ";
echo "{".$stringComEspacosAdireita."}<br />";

// Remove os espaços em branco em volta da string


$stringSemEspacosAdireita = trim($stringComEspacosAdireita);
echo "{".$stringSemEspacosAdireita."}<br />";
?>

• strrev(): Inverte uma string.

LISTAGEM 15 - INVERTENDO UMA STRING EM PHP

<h1>Invertendo uma string em PHP</h1>


<?php
$stringNormal = "UNIASSELVI";
$stringInvertida = strrev($stringNormal);
echo $stringInvertida;
?>

• strtolower(): transforma uma string para minúsculo.

• strtoupper(): transforma uma string para maiúsculo.

• ucfirst(): transforma a primeira letra da string para maiúsculo e não altera as demais. P
R
O
LISTAGEM 16 - MANIPULANDO O CASE DE UMA STRING EM PHP G
R
A
M
<h1>Manipulando o CASE de strings em PHP</h1> A
Ç
<?php Ã
O
$variavelCaseMisturado = "com a UNIASSELVI, posso ver o meu
P
futuro!"; A
?> R
A
<h2>Invertendo para minúscula:</h2> W
<? E
B
echo strtolower($variavelCaseMisturado);
I
58 TÓPICO 3 UNIDADE 1

?>
<h2>Invertendo para maiúscula:</h2>
<?
echo strtoupper($variavelCaseMisturado);
?>
<h2>Invertendo a primeira letra para maiúscula:</h2>
<?
echo ucfirst($variavelCaseMisturado);
?>

• str_replace(): substitui uma string por outra dentro de uma string.

LISTAGEM 17 - SUBSTITUINDO STRINGS EM PHP

<h1>Substituição de strings em PHP</h1>


<?php
$variavelTextoOriginal = "A disciplina Algoritmos é
demais!";
$variavelTextoAlterado = str_replace("Algoritmos",
"Programação Web I", $variavelTextoOriginal);
echo $variavelTextoAlterado;
?>

• strlen(): retorna o tamanho da string.

LISTAGEMM 18 - OBTENDO O TAMANHO DE STRINGS EM PHP

<h1>Obtendo o tamanho de strings em PHP</h1>


<?php
$nomeBonito = "PHP";
$tamanho = strlen($nomeBonito);
echo "O nome ".$nomeBonito." possui ".$tamanho." letras";
P
R ?>
O
G
R
A
M
A
Ç
à 3.8 REDIRECIONANDO PARA OUTRA PÁGINA
O

P
A
R
Muitas vezes, durante o fluxo de execução de um código-fonte em PHP, pode ser
A necessário redirecionar para outra página. Por enquanto, iremos exemplificar através de uma
W
E
página que simplesmente redireciona para o site da UNIASSELVI, mas as possibilidades são
B infinitas e o redirecionamento é uma prática bastante comum, principalmente quando envolve
I páginas do seu próprio projeto. Vamos criar este projeto juntos:
UNIDADE 1 TÓPICO 3 59

1. Em seu diretório de projetos (htdocs) crie um diretório chamado gotouniasselvi.

2. Em seu diretório gotouniasselvi, crie um arquivo chamado index.php.

3. No arquivo index.php, insira o conteúdo da listagem abaixo:

LISTAGEM 19 - REDIRECIONANDO PARA OUTRA PÁGINA EM PHP

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Indo para Uniasselvi</title>
</head>
<body>
<?php

// Redireciona para o site da Uniasselvi


header("Location: http://www.grupouniasselvi.com.br");
?>
</body>
</html>

4. Inicie o XAMPP.

5. Em seu browser, acesse a URL <http://localhost:80/gotouniasselvi/> e confira, seu script


PHP redirecionou para a página da Uniasselvi.

6. Não esqueça de finalizar o XAMPP quando estiver pronto.

P
R
O
3.9 ARRAYS G
R
A
M
Arrays agregam muito poder às linguagens de programação que os suportam. São A
Ç
estruturas de dados que contemplam uma lista de itens. Os arrays também podem ser chamados Ã
O
vetores. Trabalhar com arrays em PHP é considerado mais simples do que na maioria das
P
linguagens. Arrays podem ser criados, destruídos, ou ter seu conteúdo alterado e/ou destruído. A
R
Os elementos de arrays em PHP podem ser de qualquer tipo de dados, inclusive um array A

suporta a adição de elementos de tipos diferentes. W


E
B

Ao criar um array, é possível adicionar elementos para inicialização, ou também é I


60 TÓPICO 3 UNIDADE 1

possível deixar o array vazio. Para criar um array, faz-se o uso do comando array(). Acompanhe
no seu computador o passo a passo a seguir para iniciar nossos estudos sobre arrays em PHP:

1. No seu diretório de projetos (htdocs) crie um subdiretório chamado arraystudies.

2. Dentro do diretório arraystudies, crie um arquivo chamado index.php.

3. Em seu arquivo index.php, insira o conteúdo abaixo.

LISTAGEM 20 - DECLARANDO ARRAYS EM PHP

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Estudando arrays em PHP!</title>
</head>
<body>
<?php

// Declaração de um array
// Note que podemos inserir tanto tipos
// numéricos quanto strings
// Em seguida obtemos o valor de cada posição do array
// Utilizando o nome da variável seguido do índice da posição
// entre colchetes
// Note que o indice inicia em zero
$meuPrimeiroArray = array(1, 2, 3, "Quatro", 5);
echo $meuPrimeiroArray[0]."<br />";
echo $meuPrimeiroArray[1]."<br />";
echo $meuPrimeiroArray[2]."<br />";
P echo $meuPrimeiroArray[3]."<br />";
R
O echo $meuPrimeiroArray[4]."<br />";
G
R
A
M // Declaraçao de um array vazio
A
Ç $arrayVazio = array();
Ã
O

P // Note que a variável do array está definida


A
R if (isset($arrayVazio)){
A
echo "O array vazio está declarado !<br />";
W
E }
B

I
// Porém nenhum índice possui valor
UNIDADE 1 TÓPICO 3 61
// por exemplo, tentaremos acessar o índice zero
if (isset($arrayVazio[0])){

// Não vai passar aqui!


echo "A primeira posição do array vazio está
declarada.<br />";

?>
</body>
</html>

4. Inicie o XAMPP

5. Em seu browser, acesse a URL <http://localhost:80/arraystudies/> e veja se está de acordo


com a imagem a seguir:

FIGURA 37 - EXPLORANDO ARRAYS EM PHP

FONTE: O autor
P
R
5. Ao finalizar, não se esqueça de finalizar o XAMPP. O
G
R
A
Agora vamos ver um comando muito importante do PHP, muito utilizado durante a M
A
depuração de uma página Web, o print_r(), que imprime o conteúdo de um array. Vamos lá, Ç
Ã
adicione o seguinte trecho de código PHP à página que você acabou de criar e verifique se O
ficou de acordo com a figura a seguir: P
A
R
LISTAGEM 21 - IMPRIMINDO ARRAYS EM PHP A

W
<h1>Imprimindo arrays com print_r</h1> E
B
<?php
I
62 TÓPICO 3 UNIDADE 1

print_r($meuPrimeiroArray);
echo "<br />";
print_r($arrayVazio);
?>

FIGURA 38 – IMPRIMINDO ARRAYS COM O PRINT_R EM PHP

FONTE: O autor

Agora vamos remover elementos de um array. No PHP, os elementos de um array são


removidos através do comando unset(). O comando unset() recebe como parâmetro a posição
exata do array do qual deve ser removida. Insira o conteúdo da listagem abaixo na sua página
arraystudies para ver como funciona a remoção de itens de arrays em PHP, e verifique se ficou
conforme a imagem a seguir:

LISTAGEM 22 - REMOVENDO ELEMENTOS DE ARRAYS EM PHP

<h1>Removendo elementos de arrays em PHP</h1>


<?php
unset($meuPrimeiroArray[1]);
P
R print_r($meuPrimeiroArray);
O
G echo "<br />";
R
A if (isset($meuPrimeiroArray[1])){
M
A echo "Ainda está declarado!<br />";
Ç
à } else {
O
echo "Foi destrído!<br />";
P
A
}
R
A
?>

W
E
B

I
UNIDADE 1 TÓPICO 3 63

FIGURA 39 – ARRAY COM O SEGUNDO ELEMENTO REMOVIDO

FONTE: O autor

Agora vamos ver como fazer para obter o número de elementos de um array em PHP.
O PHP disponibiliza duas funções para esta finalidade, o sizeof() e o count(). Vamos conferir?
Em seu arquivo de testes para strings insira o código-fonte da listagem a seguir e confira se
ficou de acordo com a imagem:

LISTAGEM 23 - OBTENDO A QUANTIDADE DE ELEMENTOS DE ARRAYS EM PHP

<h1>Contando os elementos de um array</h1>


<?php
P
echo count($meuPrimeiroArray); R
O
echo "<br />"; G
R
echo sizeof($meuPrimeiroArray); A
M
echo "<br />"; A
Ç
?> Ã
O

P
A
R
A

W
E
B

I
64 TÓPICO 3 UNIDADE 1

FIGURA 40 – TESTANDO AS FUNÇÕES COUNT() E SIZEOF() DO PHP

FONTE: O autor

Para concluir nosso estudo sobre arrays em PHP, vamos começar uma nova página Web:

1. Em seu diretório de projetos (htdocs) localize o diretório arraystudies e crie dentro dele um
arquivo chamado continuando.php.

2. Dentro do arquivo continuando.php, insira o código-fonte da listagem a seguir:

LISTAGEM 24 - PÁGINA PARA PROSSEGUIR OS ESTUDOS SOBRE ARRAYS

<!DOCTYPE html>
<html lang="pt-br">
P
R <head>
O
G <meta charset="utf-8">
R
A <title>Continuando a estudar arrays</title>
M
A </head>
Ç
à <body>
O
<h1>Aqui continuaremos a estudar arrays</h1>
P
A </body>
R
A </html>
W
E
B 3. Lembre-se que para executar os exemplos é necessário iniciar o XAMPP e, neste caso,
I acessar a URL <http://localhost:80/arraystudies/continuacao.php>, e que ao término, é
UNIDADE 1 TÓPICO 3 65

necessário finalizar o XAMPP.

Se após ter iniciado o XAMPP e acessado a URL <http://localhost:80/arraystudies/


continuacao.php> sua página estiver conforme a da figura abaixo, podemos continuar!

FIGURA 41 – PÁGINA WEB PARA CONTINUAR NOSSOS ESTUDOS SOBRE ARRAYS EM PHP

FONTE: O autor

No PHP é possível definir o índice de um elemento em um array. Os elementos sem índice


declarado recebem um índice numérico definido automaticamente pelo PHP. Vamos conferir?
Vamos criar um array, inicializá-lo com algumas letras, que receberão o índice numérico atribuído
automaticamente pelo PHP e adicionaremos outros dois elementos no array, para os quais
declararemos um índice no formato string Substitua o texto 'Aqui continuaremos a estudar arrays'
pelo código-fonte da listagem a seguir, e em seguida, confira se ficou semelhante ao da figura:

LISTAGEM 25 - ARRAYS COM ÍNDICES DECLARADOS EM PHP

<h1>Declarando o índice de um array</h1>


<?php
$array = array("U", "N", "I", "A", "S", "S", "E");
$array["meio"] = "LV";
$array["ultimaLetra"] = "I";
print_r($array);
?> P
R
O
G
FIGURA 42 – ARRAYS COM ÍNDICES DECLARADOS EM PHP R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B
FONTE: O autor I
66 TÓPICO 3 UNIDADE 1

Agora vamos navegar no conteúdo de um array. Para isto, o PHP oferece um recurso
que facilita muito a implementação, o for each. O for each é um laço for que recebe um array
como parâmetro e declara uma variável que receberá o valor da posição do array pelo qual
ele está iterando. Pareceu complicado? Na verdade não é, vamos ver na prática. Adicione o
código-fonte da listagem a seguir ao arquivo continuacao.php. Na seguida, confira o resultado
com a imagem.

LISTAGEM 26 - PERCORRENDO OS ELEMENTOS DE UM ARRAY COM FOR EACH EM PHP

<h1>Imprimindo o array:</h1>
<?php
foreach ($array as $valor) {
echo $valor;
}
?>
<h1>Imprimindo o array com quebra de linha:</h1>
<?php
foreach ($array as $valor) {
echo $valor."<br />";
}
?>

FIGURA 43 – PERCORRENDO OS ELEMENTOS DE UM ARRAY COM FOR EACH EM PHP

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B
FONTE: O autor
I
UNIDADE 1 TÓPICO 3 67

3.10 DECLARAÇÃO DE FUNÇÕES

Você deve se recordar da ocasião em que você aprendia a criar seus primeiros algoritmos
(em qualquer linguagem de programação) e deparou-se com as inúmeras possibilidades que
adquiriu quando aprendeu a declarar funções (ou métodos). Em PHP, uma função é declarada
através do comando funnction, uma lista de parâmetros entre parênteses (opcional), um bloco
de código (com ou sem o return), pois então, vamos explorar isto no PHP.

1. No seu diretório de projetos (htdocs), crie um diretório chamado funcoes.

2. Dentro do diretório funcoes, crie um arquivo chamado index.php e insira nele o código-fonte
da listagem a seguir:

LISTAGEM 27 - DECLARANDO FUNÇÕES EM PHP

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Declarando funções</title>
</head>
<body>
<h1>Declarando funções</h1>
<?php

// Declara uma função para somar


// dois valores
function soma($valor1, $valor2) {
$resultado = $valor1 + $valor2;
P
return $resultado; R
O
} G
R
?> A
M
<h2>Agora vamos usar a função soma com os valores 3 e 6!</h2> A
Ç
<? Ã
O
$tres = 3;
P
$seis = 6; A
R
echo soma($tres, $seis); A
?> W
E
</body> B
</html> I
68 TÓPICO 3 UNIDADE 1

3. Inicie o XAMPP e acesse a URL <http://localhost:80/funcoes> e veja se está de acordo com


a figura a seguir.

FIGURA 44 – DECLARANDO FUNÇÕES EM PHP

FONTE: O autor

4. Não se esqueça de finalizar o XAMPP quando tiver terminado.

3.11 SEPARANDO SEU CÓDIGO-FONTE EM MAIS DE UM ARQUIVO

Em projetos mais extensos, é muito interessante que haja a possibilidade de separarmos


o código-fonte em vários arquivos. Tudo bem, mas se o código-fonte está em diversos arquivos
distintos, como é possível utilizar uma função declarada em outro arquivo? No PHP, isto é feito
através de dois comandos, include e require, que são responsáveis pela importação e execução
do código-fonte contido no arquivo referenciado.

P • include(): importa e executa o código-fonte passado como parâmetro, gerando alertas caso
R
O ocorra algum erro.
G
R
A
M • require(): importa e executa o código-fonte passado como parâmetro, gerando erros caso
A
Ç ocorra algum erro.
Ã
O

P Vamos conferir na prática? Vamos criar um pequeno projeto em PHP, que possui três
A
R arquivos PHP, sendo um utilizado para a definição de constantes, outro utilizado para declaração
A
de funções, e o outro a página em si.
W
E
B
1. No seu diretório de projetos, crie um diretório chamado multiplica.
I
UNIDADE 1 TÓPICO 3 69

2. Dentro do diretório multiplica, crie um arquivo chamado constantes.php e insira o conteúdo


da listagem abaixo (não é necessário escrever nenhum HTML):

LISTAGEM 28 - CÓDIGO-FONTE DO ARQUIVO CONSTANTES.PHP

<?php
// Declara duas constantes numéricas
define("dois", 2);
define("quatro", 4);
?>

3. Também dentro do diretório multiplica, crie um arquivo chamado funcoes.php e insira o


conteúdo da listagem abaixo (também não é necessário escrever nenhum HTML):

LISTAGEM 29 - CÓDIGO-FONTE DO ARQUIVO funcoes.php

<?php
// Declara uma função para multiplicar dois números
function multiplica($valor1, $valor2){
$resultado = $valor1 * $valor2;
return $resultado;
}
?>

4. Ainda no diretório multiplica, crie um arquivo chamado index.php e insira o código-fonte da


listagem a seguir:

LISTAGEM 30 - CÓDIGO-FONTE DO ARQUIVO index.php DO PROJETO MULTIPLICA

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8"> P
R
<title>Projeto Multiplica</title> O
G
</head> R
A
<body> M
A
<h1>Multiplicando em PHP</h1> Ç
Ã
<?php O

P
A
// Referencia as constantes e funções contidas R
// em arquivos PHP externos A

require("constantes.php"); W
E
include("funcoes.php"); B

I
70 TÓPICO 3 UNIDADE 1

// Executa uma função de um arquivo externo


echo multiplica(dois, quatro);
?>
</body>
</html>

5. Inicie o XAMPP e acesse a URL <http://localhost:80/multiplica/> e verifique se está de acordo


com a figura a seguir:

FIGURA 45 – PÁGINA WEB MULTIPLICA, UTILIZANDO MAIS DE UM ARQUIVO DE


CÓDIGO-FONTE PHP

FONTE: O autor

LEITURA COMPLEMENTAR

O futuro da Internet (e do mundo) segundo o Google

Eric Schmidt, presidente do conselho administrativo do Google, e Jared Cohen, diretor


de ideias da empresa, escreveram um livro em que fazem algumas previsões surpreendentes
para o futuro. Veja quais são.

P Por Reportagem: Anna Carolina Rodrigues Edição: Bruno Garattoni


R
O
G
R Daqui a dez ou vinte anos, a internet será muito diferente do que é hoje. Mas como?
A
M Eric Schmidt, presidente do conselho administrativo do Google, e Jared Cohen, diretor de ideias
A
Ç da empresa, escreveram um livro em que tentam responder a essa pergunta: The New Digital
Ã
O Age, recentemente lançado nos EUA. Nele, fazem algumas previsões surpreendentes, e nem
P sempre otimistas, para o futuro. Veja quais são.
A
R
A
COMPORTAMENTO
W
E
B
1. O passado vai nos condenar
I
UNIDADE 1 TÓPICO 3 71

No mundo físico, você sempre pode mudar. Pode mudar de cidade, de aparência, de estilo,
de profissão, de opinião. Na internet, não é assim: tudo o que você já fez ou disse fica gravado para
sempre. Cada vez mais, usamos a rede para nos relacionar uns com os outros. Isso está gerando
uma massa de dados tão grande, cobrindo tantos detalhes das nossas vidas, que no futuro será
muito difícil de controlar – e poderá nos comprometer. “Nunca mais escreva [na internet] nada que
você não queira ver estampado na capa de um jornal”, advertem Cohen e Schmidt.

A internet não esquece nada. E isso afetará a vida de todo mundo. Se uma criança
chamar uma colega de “gorda” na rede, por exemplo, poderá manchar a própria reputação pelo
resto da vida – pois todo mundo saberá que, um dia, ela praticou bullying. Inclusive potenciais
empregadores, que poderão deixar de contratá-la. Uma foto, um comentário, um post infeliz
poderá trazer consequências por muito tempo. “Os pais terão de conversar com os filhos sobre
segurança e privacidade [on-line] antes mesmo de falar sobre sexo”, dizem os autores. Schmidt
diz que a internet deveria ter um botão “delete”, que permitisse apagar para sempre eventuais
erros que cometamos on-line. Isso é muito difícil, pois alguém sempre poderá ter copiado a
informação que queremos ver sumir. Mas surgirão empresas especializadas em gerenciar a
nossa reputação on-line, prometendo controlar ou eliminar informações de que não gostamos,
e empresas de seguro virtual, que vão oferecer proteção contra roubo de identidade virtual e
difamação na internet. “A identidade on-line será algo tão valioso que até surgirá um mercado
negro, onde as pessoas poderão comprar identidades reais ou inventadas”, dizem os autores.

O fim do esquecimento terá consequências profundas – que, para o Google, incluirão


até a escolha do nome das pessoas. Alguns casais batizarão seus filhos com nomes bem
diferentes, que não sejam comuns, e registrarão esses nomes nas redes sociais antes mesmo
do nascimento da criança, tudo para que ela se destaque. Outros preferirão nomes comuns e
genéricos, do tipo “José Carlos”, que sejam muito frequentes e tornem mais difícil identificar
a pessoa, permitindo que se esconda na multidão e mantenha algum grau de privacidade on-
line. Hoje, esse tipo de coisa soa meio estranho.

No futuro, talvez não seja.

P
POLÍTICA R
O
G
R
2. Haverá um ataque terrorista envolvendo a internet A
M
A
Ç
O vírus Stuxnet, supostamente criado por Israel, foi usado para atacar o programa nuclear Ã
O
iraniano, e quase todas as semanas surge um novo caso de empresa ou universidade americana
P
que teve seus computadores invadidos por hackers chineses. Ou seja: a guerra digital já é uma A
R
realidade. Ela tende a aumentar, tanto que o livro do Google fala no surgimento da Code War A

(guerra de códigos, em inglês), um conflito que envolveria vários países atacando as redes de W
E
computadores uns dos outros. Seria um conflito longo e cheio de pequenas sabotagens, sem B

declarações diretas de guerra, semelhante à Guerra Fria. “Os países vão fazer coisas on-line I
72 TÓPICO 3 UNIDADE 1

uns com os outros que seriam muito provocadoras [como sabotar usinas, espionar, derrubar o
acesso à internet] de se fazer off-line. Isso vai permitir que os conflitos aconteçam no campo
de batalha virtual, enquanto o resto permanece calmo.”

Mas o fato de a guerra ser digital não significa que ela não vá derramar sangue. Os
executivos do Google imaginam um novo 11 de Setembro, que envolveria uma sequência de
ações terroristas on-line e off-line. Um hacker poderia invadir o sistema de tráfego aéreo de
algum país, por exemplo, e induzir os aviões a voarem na altitude errada – para que eles se
choquem uns contra os outros. Aí, com a atenção mundial voltada para esse caos aéreo, viria
a segunda fase do ataque: bombas posicionadas estrategicamente em Nova York, Chicago
e em São Francisco explodiriam. Nas horas seguintes, uma nova onda de ataques virtuais
atrapalharia a comunicação e a mobilização da polícia, dos bombeiros e ambulâncias. Em
seguida, outro ataque poderia prejudicar os sistemas de distribuição de água, energia, óleo
e gás do país. “No futuro, a força dos grupos terroristas não virá da disposição de morrer por
uma causa, e sim do domínio tecnológico que eles possuírem”, preveem os autores.

3. O governo vai migrar para a web

Ir a uma repartição pública costuma ser uma experiência desagradável, cheia de


burocracia e filas. Mas e se essa repartição fosse transformada num site – no qual você
pudesse resolver todos os seus problemas? Eric Schmidt e Jared Cohen propõem que
o governo migre para a internet e seja capaz de funcionar por meio dela. Isso tornaria a
operação mais eficiente, permitindo dar um atendimento melhor à população, e também
seria uma vantagem em caso de desastres naturais. Se o prédio de um ministério fosse
destruído por um terremoto, por exemplo, a instituição poderia continuar a funcionar
on-line, com os funcionários se conectando de qualquer PC com acesso à internet.

4. A rede vai se fragmentar

A internet foi criada no final dos anos 60, para conectar as redes internas de universidades

P
e instituições do governo americano. Ou seja: ela é, por definição, uma união de pequenas redes
R
O
(daí seu nome, que significa “inter-rede”). É essa união que nos permite acessar qualquer site,
G de qualquer lugar do mundo, e foi ela a grande responsável pela universalização da internet.
R
A Mas, no futuro, não será assim. Com a desculpa de combater o terrorismo e os crimes on-line,
M
A e também por questões culturais, alguns países criarão suas próprias regras - e, na opinião
Ç
à do Google, isso acabará resultando em internets nacionais, com as características de cada
O
lugar. E o que entra e sai de cada uma delas será monitorado, com direito a censura. Mais
P
A ou menos como já acontece em países como Irã e China – só que no mundo inteiro. Essa
R
A previsão pode parecer exagerada, mas tem certo respaldo no mundo real. Em março deste
W ano, o Parlamento Europeu discutiu uma lei que iria proibir o conteúdo pornográfico na internet
E
B (e acabou não sendo aprovada). É provável que, no futuro, os Estados tentem exercer algum
I controle sobre a internet.
UNIDADE 1 TÓPICO 3 73

Outra tendência, segundo Cohen e Schmidt, é a formação de alianças digitais entre


países que tem costumes e opiniões semelhantes. Poderá surgir uma internet regional cobrindo
vários países do Oriente Médio, por exemplo, com conteúdo e regras determinadas por eles. Em
contrapartida, minorias ou insurgentes também poderão ter seu país on-line, como a criação de
uma internet palestina, por exemplo. “O que começou como a World Wide Web começará a se
parecer mais com o próprio mundo, cheio de divisões internas e interesses divergentes”, dizem os
autores. Eles imaginam até a criação de uma espécie de visto, que controlaria quem pode ou não
entrar na internet de cada país. “Isso poderia ser feito de forma rápida e eletronicamente, exigindo
que os usuários se registrem e concordem com certas condições de acesso à internet de um país.”

SOCIEDADE

5. Um computador saberá tudo sobre você

Quer saber quais informações o Google tem a seu respeito? Acesse o site <google.
com/dashboard> e você provavelmente irá se surpreender. São dezenas de informações,
que incluem quais buscas você fez, quem são seus amigos, sua agenda de compromissos,
seu endereço, onde você vai e todo o conteúdo dos seus e-mails e documentos. O Google já
sabe muita coisa. Mas, no futuro, poderá saber ainda mais. Isso porque as informações que
hoje ficam em bancos de dados separados, como a sua identidade (RG), registros médicos e
policiais e histórico de comunicações, serão unificadas em um único – e gigantesco – arquivo.
Com apenas uma busca, será possível localizar todas as informações referentes à vida de uma
pessoa. Algumas delas só poderiam ser acessadas com autorização judicial, mas sempre existe
a possibilidade (e o receio) de que isso acabe sendo desrespeitado. Um exemplo recente: em
maio, vazou na internet um documento no qual o FBI autoriza seus agentes a grampear os
e-mails de qualquer pessoa, mesmo sem permissão de um juiz.

Lutar contra isso, e revelar poucas informações pessoais na internet, será visto como
atitude suspeita. Cohen e Schmidt acreditam que o governo vá criar uma lista de “pessoas
off-line”, gente que não posta nada nas redes sociais – e por isso supostamente tem algo a
esconder. “Elas poderão ser submetidas a um conjunto de regras diferentes, como revista mais P
rigorosa no aeroporto ou até não poder viajar para determinados locais”, dizem. R
O
G
R
6. Um grupo vai desvendar as mentiras da internet A
M
A
Ç
É comum que os governos falsifiquem ou adulterem informações. Era assim na URSS Ã
O
(Stálin mandava apagar pessoas de fotos históricas) e é assim no Irã e na Coreia do Norte, que
P
já foram pegos usando photoshop para manipular imagens militares. Por isso, os executivos A
R
do Google preveem a criação de uma entidade, independente de qualquer governo, que seria A

responsável pela fiscalização e investigação dos dados divulgados na internet, principalmente W


E
os que envolvessem política e conflitos armados. Uma espécie de Cruz Vermelha virtual, que B

teria representantes de vários países e funcionaria como referência para os órgãos de imprensa. I
74 TÓPICO 3 UNIDADE 1

7. Mais pessoas terão (menos) poder

A internet permite que as pessoas se informem, se comuniquem e se organizem de


forma livre e independente. Ou seja, ela dá poder às pessoas. Com o acesso a novas ideias,
populações vão questionar mais seus líderes. Imagine o que acontecerá quando o habitante
de uma tribo na África, por exemplo, descobrir que aquilo que o curandeiro local diz ser um
mau espírito na verdade não passa de uma gripe. “Os governos autoritários vão perceber que
suas populações serão mais difíceis de controlar e influenciar. E os Estados democráticos
serão forçados a incluir mais vozes em suas decisões”, escrevem Jared Cohen e Eric Schmidt.

A Primavera Árabe é um bom exemplo disso. A internet teve um papel fundamental na


organização dos grupos populares que derrubaram os governos de quatro países (Tunísia,
Egito, Líbia e Iêmen) e abalaram vários outros. No caso egípcio, o próprio Google acabou sendo
envolvido – pois Wael Ghonim, executivo da empresa no Egito, entrou por conta própria em
mobilizações on-line (e ficou 11 dias preso por causa disso).

Na era da internet, minorias antes reprimidas também passam a ter uma voz. Mas, na opinião
do Google, isso não terá necessariamente um grande efeito prático. É o chamado ativismo de sofá.
A pessoa pode até curtir e compartilhar conteúdo relacionado a uma causa, mas, na hora de ir
para as ruas, a coisa fica diferente. A mobilização virtual nem sempre se traduz em engajamento
real. Além disso, a internet permite que os movimentos sociais surjam e cresçam muito rápido, de
forma descentralizada e diluindo o poder entre muitas pessoas. Isso acaba fazendo com que esses
movimentos tenham muitos líderes fracos, em vez de poucos líderes fortes.

Para sustentar essa tese, Cohen e Schmidt citam a Primavera Árabe, em que os
regimes totalitários e os ditadores caíram, mas seu lugar acabou sendo tomado por governos
muçulmanos, que não são particularmente democráticos, em vez de lideranças egressas da
internet. “Sem estadistas, não haverá indivíduos qualificados o suficiente para levar um país
adiante. Corre-se o risco de substituir uma forma de autocracia por outra”, dizem os autores.
Em suma: a internet distribui o poder, mas isso não necessariamente resulta na formação de

P
grandes líderes. Nelson Mandela não era uma celebridade de Facebook.
R
O
G PARA SABER MAIS
R
A The New Digital Age
M
A Eric Schmidt e Jared Cohen Knopf, 2013. Disponível em: <http://super.abril.com.br/tecnologia/
Ç
à futuro-internet-mundo-google-752917.shtml>. Acesso em: 9 fev. 2014.
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 3 75

RESUMO DO TÓPICO 3

Neste tópico, você aprendeu que:

• O PHP nasceu das mãos de um desenvolvedor Web com a finalidade de facilitar o


desenvolvimento de páginas Web. Conta com muitas características que tornam o
desenvolvimento de páginas Web mais prático, e é muito utilizado hoje em dia.

• O PHP é uma plataforma gratuita e aberta.

• O PHP possui tipagem dinâmica.

• Tivemos um overview das principais funções do PHP para manipulação de strings e arrays.

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
76 TÓPICO 3 UNIDADE 1


IDADE
ATIV
AUTO

1 Crie uma página PHP que declare um array, e que cada elemento do array corresponda
a uma letra da palavra UNIASSELVI. Em seguida, imprima o valor do array, separado
por linhas e indicando o índice da posição que está sendo imprimida. A página deve
apresentar um conteúdo semelhante ao abaixo:

0: U
1: N
2: I
3: A
4: S
5: S
6: E
7: L
8: V
9: I

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
UNIDADE 1 TÓPICO 3 77

IAÇÃO
AVAL

Prezado(a) acadêmico(a), agora que chegamos ao final


da Unidade 1, você deverá fazer a Avaliação referente a esta
unidade.

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

I
78 TÓPICO 3 UNIDADE 1

P
R
O
G
R
A
M
A
Ç
Ã
O

P
A
R
A

W
E
B

Você também pode gostar