Programacao para Web I - Uni 1
Programacao para Web I - Uni 1
Objetivos de aprendizagem
instalar o XAMPP;
PLANO DE ESTUDOS
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
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
!
ROS
SFUTU
EST UDO
A evolução da Web ainda conta com a presença de seu criador, Tim Berners-Lee,
conforme Silva (2011, p. 21):
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
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
!
ROS M
SF UTU A
ESTUDO
Ç
Ã
O
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
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!
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
FONTE: O autor
ÇÃO!
ATEN
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
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
• <body> e </body>: Tudo o que estiver entre a tag <body> e seu fechamento </body> será
renderizado pelo browser.
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.
<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
S!
DICA
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
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.
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body bgcolor="yellow">
<p align="center">
Hello World
</p>
</body>
</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.
1. No mesmo diretório em que se encontra seu arquivo helloworld.html, crie um arquivo chamado
styles.css com o seguinte conteúdo:
body {
background-color: yellow;
}
p {
text-align: center;
}
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
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
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.
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
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.
• 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
P
A
R
A
W
E
B
I
UNIDADE 1 TÓPICO 1 17
RESUMO DO TÓPICO 1
• 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).
• Você viu que não se deve usar o HTML para estilizar suas páginas, em vez disto, utilizar o CSS.
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
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:
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.
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
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).
• 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.
• P: PHP, a linguagem.
ÇÃ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
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
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
FONTE: O autor
3. Uma nova aba no seu navegador irá abrir e o download irá iniciar:
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
FONTE: O autor
5. Na janela propriedades, acesse a guia Permissões e marque a opção Executar arquivo como
programa:
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
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
FONTE: O autor
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
FONTE: O autor
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
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:
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:
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:
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.
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
FONTE: O autor
17. Abra seu browser e acesse a URL <http://localhost:80> e veja se o XAMPP está respondendo,
conforme segue:
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:
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:
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
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):
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
FONTE: O autor
6. Na barra de tarefas, acesse o menu Iniciar, Todos os Programas, XAMPP, 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:
FONTE: O autor
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:
FONTE: O autor
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
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
• 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
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.
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.
P
R
O
G
R
A
M
A
Ç
Ã
O
P
A
R
A
W
E
B
I
UNIDADE 1 TÓPICO 2 39
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
1 INTRODUÇÃO
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
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.
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
Por onde começar a estudar uma tecnologia? Você já sabe! Vamos fazer nosso Hello
World em PHP:
?> W
E
</body> B
</html> I
44 TÓPICO 3 UNIDADE 1
4. Inicie o XAMPP
FONTE: O autor
Pois bem, quanta coisa que certamente você já conhece! Mas para consolidar os
conhecimentos, vamos explorar a fundo nosso Hello World:
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
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
• Double: Valores com ponto flutuante, ou seja, frações (positivas ou negativas). Exemplo: I
46 TÓPICO 3 UNIDADE 1
• 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?
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)
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:
S!
DICA
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
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
<?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:
<?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;
?>
<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 />";
}
?>
?> 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.
1. Em seu diretório de projetos (htdocs), crie um diretório chamado ‘strings’ (sem aspas).
<!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
FONTE: O autor
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
Agora, vamos partir para as funções de manipulação de strings. O PHP oferece várias,
vamos focar nas mais usadas por enquanto:
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 />";
• 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);
?>
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Indo para Uniasselvi</title>
</head>
<body>
<?php
4. Inicie o XAMPP.
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
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:
<!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
I
// Porém nenhum índice possui valor
UNIDADE 1 TÓPICO 3 61
// por exemplo, tentaremos acessar o índice zero
if (isset($arrayVazio[0])){
?>
</body>
</html>
4. Inicie o XAMPP
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);
?>
FONTE: O autor
W
E
B
I
UNIDADE 1 TÓPICO 3 63
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:
P
A
R
A
W
E
B
I
64 TÓPICO 3 UNIDADE 1
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.
<!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
FIGURA 41 – PÁGINA WEB PARA CONTINUAR NOSSOS ESTUDOS SOBRE ARRAYS EM PHP
FONTE: O autor
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.
<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 />";
}
?>
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
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.
2. Dentro do diretório funcoes, crie um arquivo chamado index.php e insira nele o código-fonte
da listagem a seguir:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Declarando funções</title>
</head>
<body>
<h1>Declarando funções</h1>
<?php
FONTE: O autor
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
<?php
// Declara duas constantes numéricas
define("dois", 2);
define("quatro", 4);
?>
<?php
// Declara uma função para multiplicar dois números
function multiplica($valor1, $valor2){
$resultado = $valor1 * $valor2;
return $resultado;
}
?>
<!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
FONTE: O autor
LEITURA COMPLEMENTAR
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.
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.
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
SOCIEDADE
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
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
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
• 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
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