Buscar

Programação para Internet

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 147 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 147 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 147 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação para InternetProgramação para Internet
AUTORIA
Ricardo Bortolo Vieira
Bem vindo(a)!
Olá prezado(a) aluno(a), este é o livro Programação para INTERNET, sou o professor
Ricardo Vieira, autor deste material, e o assunto que abordarei no decorrer do nosso
estudo poderá auxiliá-lo em sua carreira, ou abrir portas para o mundo dos negócios,
mostrando-lhe como é bom trabalhar com desenvolvimento para Internet. Com o
passar do tempo, as ferramentas para desenvolvimento foram tornando-se mais
simples, rápidas e robustas.
Meu objetivo, por meio deste livro, é ensiná-lo como funcionam os detalhes deste
ambiente de desenvolvimento, que é bem diferente de uma programação
monolítica focada somente no computador. Além disso, algumas técnicas que
podem auxiliá-lo neste processo também serão apresentadas.
Pretendo deixar claro que o uso desse ambiente de desenvolvimento poderá ajudá-
lo a alcançar os objetivos estratégicos de sua empresa ou auxiliá-lo a colocar em
prática uma nova ideia.
Este livro está organizado em quatro unidades, além da introdução e conclusão.
Cada uma delas correspondendo a uma das partes importante na programação
orientada a objetos.
Na primeira unidade você irá estudar o histórico e conceitos da Internet e da
Linguagem PHP, que será utilizada neste livro.
Já na unidade II você poderá constatar que a Linguagem PHP pode trabalhar com
funções e todas as suas valorizações. Além disso, veremos a recepção de
informações no Formulário, grande padrão utilizado na internet para troca de
informações, e as validações neste formulário.
Depois, na unidade III, falaremos sobre o Banco de Dados, seus padrões, formatos e
linguagens especí�cas que permitem ao desenvolvedor terceirizar e garantir a
segurança dos dados que serão mantidos pelo sistema web que está sendo
desenvolvido. No mais, será tratado também a forma de comunicação entre o PHP e
os bancos de dados existentes no mercado. Nesta unidade III será usando o banco
MySQL como base para a apresentação dos conceitos de banco de dados. Na
unidade IV, vamos estudar a orientação a objetos dentro da linguagem PHP e
também falaremos sobre Web Services e a facilidade que a linguagem PHP tem
com padrões como REST, XML-RPC e SOAP.
Agora, vamos ao que interessa! Tenha um bom estudo e uma boa leitura!
Unidade 1
Histórico, conceitos
iniciais da linguagem de
programação PHP
AUTORIA
Ricardo Bortolo Vieira
Introdução
Esta unidade inicia os estudos sobre Programação para Internet, tratando de temas
como Histórico, conceitos iniciais da linguagem de programação PHP, que utiliza os
conceitos da Orientação a Objetos e é uma das linguagens mais utilizadas na
programação para internet. 
Com uma linguagem simpli�cada e detalhada, apresentamos também os conceitos
de utilização de arrays, que será muito utilizado pelos programadores para sites,
sistemas online e aplicações web. E por �m, apresentaremos os tipos de operadores
utilizados dentro da linguagem de programação PHP. 
Este é só o começo. Teremos muita coisa boa chegando com o decorrer do curso. Vai
ser muito bom tê-lo aqui, estudando e se desenvolvendo pro�ssionalmente. Tenha
um bom aprendizado e um excelente aproveitamento. 
Então vamos lá!
Bons estudos!
Programação para web
AUTORIA
Ricardo Bortolo Vieira
Introdução Programação Web
Para se programar para web, é preciso conhecer primeiro o que é web. A internet
teve seu início no �nal dos anos 1960. Com a iniciativa do governo americano,
especi�camente do Departamento de Defesa, solicitando a pesquisadores de várias
instituições dos Estados Unidos para projetar um sistema de defesa, cuja grande
diferença em relação a outros sistemas já projetados era que esse seria
descentralizado, capaz de resistir a ataques do inimigo que fossem realizados com
armas nucleares e em qualquer ponto do Estados Unidos sem necessariamente
dividir a comunicação do país.
Surgiu então, como solução, um sistema em que os dados eram divididos em
pacotes e que estes seriam encaminhados, instantaneamente, por várias rotas que
estivem disponíveis, ou seja, o sistema era baseado em redes de computadores.
Desta maneira, esse sistema poderia continuar em operação mesmo quando um ou
mais computadores dessa rede fossem destruídos ou que não estivessem
funcionando, ou seja, a comunicação poderia �uir para outros computadores que
ainda estivessem funcionando.
Na prática, os pesquisadores americanos inventaram uma tecnologia voltada para a
interligação de computadores que funcionavam em condições precárias de
comunicação, que de maneira simplória poderiam denominar esse conjunto de
simples tecnologias, porém extremamente con�ável de internet.
Introdução Programação Web
O nome internet começou a ser usado em 1973, derivado do conceito de
“internetworking” ou interligação de redes, que vinha sendo estudado pelos
pesquisadores americanos desde o ano anterior. A rede que conhecemos hoje como
internet só surgiu na década de 1980.
A Cronologia da Internet 
Para você entender melhor como surgiu a internet, nada como acompanhar a sua
cronologia desde o nascimento das primeiras ideias relacionadas às redes de
computadores até os dias atuais.
1957 – A União Soviética lança o Sputnik, primeiro satélite arti�cial da Terra. Em
resposta, os Estados Unidos criam a Advanced Research Projects Agency
(ARPA) dentro do Departamento de Defesa (DoD) para estabelecer a liderança
dos Estados Unidos na ciência e na tecnologia militar.
1969 – No dia 1º de maio foi montado o primeiro equipamento da rede na
Universidade da Califórnia, de Los Angeles, (UCLA). Ficou, então, criado o
primeiro ponto de conexão da rede, que se chamava ARPANET. Ainda em 1969
foram montados os três pontos restantes de conexão. O segundo ponto de
conexão foi o do Instituto de Pesquisas de Stanford e o terceiro ponto de
conexão foi o Centro de Pesquisas da Universidade da Califórnia em Santa
Bárbara (UCSB) e o da Universidade de Utah.
1970 – Primeira publicação do protocolo Host-Host original da ARPA. Primeiro
artigo da AFIPS sobre a ARPANET. A ALOHAnet, foi a primeira rede de
comutação de dados via rádio. Os servidores da ARPANET começam a usar o
Protocolo de Controle de Rede (Network Control Protocol, NCP), primeiro
protocolo host-host.
1971 – Foi inventado o programa de e-mail para enviar mensagens através de
rede distribuída. O programa original foi derivado de dois outros: um programa
de e-mail intra máquina (SENDMSG) e um programa experimental de
transferência de arquivo (CPYNET).
1978 – Os protocolos TCP-IP foram divididos em TCP e IP.
1979 – Inauguração da primeira rede dedicada a Grupos de Discussão –
USENET. Foi também lançado o primeiro chat – canal de conversa em tempo
real acrescido da possibilidade de Role Playing Game (RPG).
1982 – Bob Kahn e Vint Cerf eram os mentores e chefes da equipe que acaba
inventando o TCP/IP, a linguagem comum a todos os computadores da
internet. Pela primeira vez a coleção de redes espalhadas que constituíam a
ARPANET é encarada como uma única rede interligada. As grandes empresas
começaram a usar a internet para se comunicarem entre elas e com os seus
clientes.
1983 – Mudança do NCP para TCP/IP. Movement Information Net – MINET
(Rede de Movimento de Informação) tem início no começo do ano na Europa,
conectado à internet em setembro, o Conselho das Atividades da Internet
(Internet Activities Board, IAB) foi estabelecido, substituindo o ICCB, ARPANET
se divide em ARPANET e MILNET; este último se integrou à Rede de Dados de
Defesa (Defense Data Network), criada no ano anterior. Foram para a MILNET
68 dos 113 nós existentes.
1984 – Foi introduzido o Sistema de Nome de Domínio (Domain Name System,
DNS).
1988 – A rede atinge os 60.000 servidores. É concluída a instalação do primeiro
cabo de �bra óptica transatlântico ligando a Europa e a América do Norte. Esse
cabo pode suportar até 40.000 chamadas telefônicas simultâneas. Surge o
primeiro vírus na internet que tomou a designação de Internet Worm e afeta
6.000 servidores. Para proteger a rede e aumentar asua segurança, é criado o
CERT (Computer Emergency Response Team). Novos termos como “cracker” e
“hacker” entram para o vocabulário da internet. Pelas mãos de Jarkko
Oikarinen nasce o IRC – Internet Relay Chat. Canadá, Finlândia, França,
Islândia, Noruega, Dinamarca e Suécia ligam-se à internet.
1990 – Surgiu nos EUA a primeira Internet Service Provider Commercial. Após
ter sido absorvida pela internet, a ARPANET deixa, de�nitivamente, de existir.
Peter Deutsh, Alan Emtage e Bill Heelan da McGill lançam o Archie. O primeiro
software World Wide Web é criado por Tim Berners-Lee. Surgem os primeiros
ISP (Internet Service Providers) comerciais. O número de servidores na internet
excede os 300.000. Argentina, Áustria, Bélgica, Brasil, Chile, Grécia, Índia,
Irlanda, Coreia do Sul, Espanha e Suíça entram na internet.
1991 – Gopher foi lançado na Universidade de Minnesota.
1992 – Foi inventada a WWW (World Wide Web) por Tim Berners-Lee no CERN
(Laboratório Europeu de Física de Partículas), em Gênova. A ferramenta de
procura no espaço Gopher, VERONICA, é lançada pela Universidade de Nevada.
O número de servidores é agora de um milhão. Camarões, Chipre, Equador,
Estônia, Kuwait, Luxemburgo, Eslováquia, Eslovénia, Venezuela, Antártida,
Letônia, Malásia e Tailândia ligam-se à internet.
1993 – O Mosaic, de Marc Andreessen, foi lançado pelo Centro Nacional de
Aplicações de Supercomputação dos Estados Unidos (NCSA) e torna-se a
primeira implementação de um browser para a internet correr em ambientes
Windows, Unix e Macintosh. É criado o InterNIC pela Fundação Nacional de
Ciência Americana. A Casa Branca e as Nações Unidas passam a estar on line.
Bulgária, Costa Rica, Egito, Fiji, Gana, Guam, Indonésia, Cazaquistão, Quénia,
Liechtenstein, Peru, Romênia, Federação Russa, Turquia, Ucrânia, Ilhas Virgens
e Emirados Árabes Unidos ligam-se à rede.
1994 – Começou a funcionar o First Virtual, o primeiro banco exclusivamente
acessível pela internet. Jim Clark e Marc Andreessen fundam a Mosaic
Communications Corp., que viria originar a Netscape Communications Corp.
Surge a primeira estação de rádio a transmitir via internet. Foi lançado o
Netscape Navigator e respectivo software de servidor. O número de servidores
na Net ultrapassava os três milhões. Algéria, Arménia, Bermuda, Burkina Faso,
China, Colômbia, Polinésia Francesa, Líbano, Lituânia, Macau, Marrocos, Nova
Caledônia, Nicarágua, Nigéria, Panamá, Filipinas, Senegal, Sri Lanka,
Suazilândia, Uruguai, Uzbequistão, Jamaica e Jordânia entram para a rede.
ARPANET/Internet celebra seu 25º aniversário. Aparecimento das primeiras
páginas de comércio eletrônico. Localidades começaram a conectar-se
diretamente à internet. WWW supera a telnet para se tornar o segundo serviço
mais popular da rede (atrás da FTP) baseado em porcentagem da distribuição
do tráfego de pacotes e bytes na NSFNET. Os dez principais domínios por
servidor #: com, edu, uk, gov, de, ca, mil, au, org, net.
1995 – Os dez principais domínios por servidor #: com, edu, net, gov, mil, org, de,
uk, ca, au. Tecnologias do Ano: WWW, mecanismos de procura. Tecnologias
Emergentes: Código móvel (JAVA, JAVAscript), ambientes virtuais (VRML),
ferramentas de colaboração (Collaborative tools). A NSFNET volta a assumir um
caráter exclusivamente acadêmico depois do tráfego de backbone da internet
passar para as mãos dos ISP comerciais. Serviços on-line tradicionais começam
a oferecer acesso à internet. As ações do Netscape atingem valores recordes. A
WWW ultrapassa o FTP em volume de tráfego na internet. Lançamento do MS
Internet Explorer 2.0 para Windows 95. James Gosling e uma equipe de
programadores da SUN Microsystems lançam o Java – linguagem de
programação orientada à internet. Entram na rede a Etiópia, Costa do Mar�m,
Cook Islands, Cayman Islands, Anguilla, Gibraltar, Vaticano, Kiribati, Kyrgyzstan,
Madagáscar, Maurícias, Micronésia, Mônaco, Mongólia, Nepal, Nigéria, Samoa
Oriental, San Marino, Tanzânia, Tonga, Uganda e Vanuatu.
1996 – É lançado o Netscape Navigator 2.0, que se torna o primeiro web
browser a suportar JavaScripts. Três empresas de serviço de procura na rede
lançam as suas ações no mercado – são elas a Yahoo, a Excite e Lycos. Bill
Clinton aprova leis de telecomunicações no sentido de penalizar a distribuição
de conteúdos “inadequados” na internet. A internet pela TV – web TV – é uma
realidade. Os motores de pesquisa, a Internet Phone e a linguagem Java são as
tecnologias do ano. A internet �ca com quase dez milhões de servidores on-
line e aproximadamente quarenta milhões de utilizadores em 150 países. Qatar,
República Centro-Africana, Omã, Norfolk Island, Tuvalu, Polinésia Francesa,
Síria, Aruba, Camboja, Guiana Francesa, Eritreia, Cabo Verde, Burundi, Benin,
Bósnia-Herzegovina, Andorra, Guadalupe, Guernsey, Isleof Man, Jersey, Laus,
Maldivas, Ilhas Marshall, Mauritânia, Ilhas Marianas do Norte, Ruanda, Togo,
Iémen e Zaire ligam-se à rede.
1997 – Tecnologias emergentes: Push, Streaming Media. A America on-line Inc.
adquire a Netscape Communications Corporation por um valor cifrado em 4,2
bilhões de dólares. Os selos postais eletrônicos tornam-se uma realidade com o
US Postal Service, que permite a compra e download para impressão a partir
da web. A Microsoft é processada pela Justiça americana, com base na Lei
Antitruste, sob a alegação de prejudicar a concorrência, pois o Windows 98
distribui gratuitamente o browser Internet Explorer. As tecnologias mais
relevantes desse ano foram o e-Commerce, e-Auctions, Portais de Entrada e o
XML.
1998 – Tecnologias do ano: Comércio Eletrônico, Leilões on-line, Portais. A
Abilene, a rede Internet 2, atravessa o Atlântico e conecta-se com a NORDUnet
e a SURFnet. Surge a ISTF – Internet Societal Task Force, liderada por Vint Cerf,
com o objetivo de promover questões sociais e preocupações relacionadas
com a internet. As tecnologias do ano foram o e-Trade, online Banking e o
MP3. A Palestina entra na rede.
2000 – Avanços na internet, aumento do número de usuários, internet para
dispositivos móveis.
Dias atuais – A internet continua em constante expansão no planeta e número
de serviços aumenta também sem precedentes.
O que é PHP?
O PHP é a linguagem de desenvolvimento da Web escrita por e para
desenvolvedores da Web. PHP signi�ca: Hypertext Preprocessor ou Pré-processador
de hipertexto. O produto foi originalmente chamado de Personal Home Page Tools
e muitas pessoas ainda pensam que é isso que o acrônimo representa. Mas à
medida que se expandiu em escopo, um nome novo e mais apropriado, embora
GNU-ishly recursivo foi selecionado pelo voto da comunidade. O PHP está
atualmente em sua sétima reescrita principal, chamada PHP 7 ou simplesmente
PHP.
O PHP é uma linguagem de script do lado do servidor, que pode ser incorporada em
HTML ou usada como um binário autônomo, embora o uso anterior seja muito mais
comum. Os produtos proprietários nesse "nicho" são as Active Server Pages da
Microsoft, o Macromedia ColdFusion e as Java Server Pages da Sun. Alguns
jornalistas de tecnologia costumavam chamar o PHP de "código aberto ASP" porque
sua funcionalidade é semelhante à do produto da Microsoft - embora essa
formulação fosse enganosa, já que o PHP foi desenvolvido antes do ASP. Nos últimos
anos, no entanto, o PHP e o Java do lado do servidor ganharam força, enquanto o
ASP perdeu o mindshare, portanto essa comparação não parece mais apropriada.
Mas, no momento, podemos pensar nele como uma coleção de tags super HTML ou
pequenos programas que são executados dentro de suas páginas da Web - exceto
no lado do servidor, antes de enviado para o navegador. Por exemplo, você pode
usar o PHP para adicionar cabeçalhos e rodapés comuns a todas as páginas de um
site ou para armazenar dados enviados por formulários em um banco de dados.
Estritamente falando, o PHP tem pouco a ver com layout, eventos, manipulação de
DOM on-the-�y, ou realmente qualquer coisa sobre o que uma página da Web
parece e soa como. Na verdade, a maior parte do que o PHP faz é invisível para o
usuário�nal. Alguém olhando para uma página PHP não necessariamente será
capaz de dizer que ela não foi escrita apenas em HTML, porque geralmente o
resultado do PHP é HTML.
O PHP é um módulo o�cial do Apache HTTP Server, o servidor Web líder de
mercado que executa cerca de 67% da World Wide Web (de acordo com a
amplamente citada pesquisa de servidor da Web da Netcraft). Isso signi�ca que o
mecanismo de script PHP pode ser incorporado ao próprio servidor Web, levando a
um processamento mais rápido, alocação de memória mais e�ciente e manutenção
simpli�cada. Como o Apache Server, o PHP é totalmente multiplataforma, o que
signi�ca que é executado em vários servidores indo do Linux, passando pelo
Windows e e chegando até no Mac OS (a partir da versão X). Todos os projetos sob a
égide da Apache Software Foundation - incluindo PHP - são programas open
source.
Uma Breve História do PHP
O PHP foi criado no outono de 1994 por Rasmus Lerdorf , engenheiro de software,
membro da equipe Apache. A primeira parte do PHP foi desenvolvida para uso
pessoal no �nal de 1994. Versões iniciais era um wrapper CGI que o ajudava a
acompanhar as pessoas que olhavam para o seu site pessoal.
A primeira versão usada por outros estava disponível no início de 1995 e era
conhecida como Ferramentas Pessoais de Página Inicial. Ele montou um pacote
chamado Personal Home Page Tools (também conhecido como PHP Construction
Kit) em resposta à demanda de usuários que haviam descoberto o seu trabalho por
acaso ou de boca em boca. Consistia de um mecanismo de análise muito simplista
que compreendia apenas alguns macros especiais e vários utilitários que eram de
uso comum nas páginas iniciais da época. Um livro de visitas, um contador e
algumas outras coisas.
O analisador foi reescrito em meados de 1995 e denominado PHP / FI Versão 2. O FI
veio de outro pacote que Rasmus havia escrito, que interpretava os dados do
formulário html. Ele combinou os scripts das ferramentas Personal Home Page com
o Form Interpreter e adicionou suporte SQL e o PHP / FI nasceu. O PHP / FI cresceu a
um ritmo incrível e as pessoas começaram a contribuir com código para isso.
Em meados de 1997, o PHP estava sendo usado em aproximadamente 50.000 sites
em todo o mundo. Estava claramente se tornando grande demais para qualquer
pessoa sozinha, mesmo alguém tão concentrado e enérgico quanto Rasmus. Uma
pequena equipe de desenvolvimento principal agora executa o projeto no modelo
"benevolent junta" de código aberto, com contribuições de desenvolvedores e
usuários em todo o mundo. Zeev Suraski e Andi Gutmans, os dois programadores
israelenses que desenvolveram os analisadores PHP3 e PHP4, também
generalizaram e estenderam seu trabalho sob a rubrica de Zend.com (Zeev, Andi,
Zend).
O quarto trimestre de 1998 iniciou um período de crescimento explosivo para PHP,
já que todas as tecnologias de código aberto desfrutaram de publicidade massiva.
Em outubro de 1998, de acordo com o melhor palpite, pouco mais de 100.000
domínios únicos usavam o PHP de alguma forma. Pouco mais de um ano depois, o
PHP quebrou a marca de um milhão de domínios. Quando escrevemos a primeira
edição deste livro no primeiro semestre de 2000, o número aumentou para cerca de
dois milhões de domínios. Enquanto escrevemos isso, aproximadamente 15 milhões
de servidores Web públicos (no sentido de software, não o sentido de hardware) têm
o PHP instalado neles.
As implementações de PHP público variam de sites de mercado de massa, como o
Excite Webmail e o Indianapolis 500 - Indianapolis Motor Speedway, que oferecem
milhões de visualizações de página por dia, por meio de sites "Nicho de massa"
como Sourceforge.net e Epinions.com, que tendem a ter maiores necessidades de
funcionalidade e centenas de milhares de usuários, para sites de e-commerce e de 
livros como a Harvard.com e muito mais.
Em sua versão PHP 5, ele se esforçou para oferecer algo que muitos usuários têm
clamado nos últimos anos: funcionalidade muito melhorada de programação
orientada a objetos (OOP). O PHP há muito tempo concordou com o modelo de
programação de objetos com funções que permitem que os programadores de
objetos obtenham resultados e informações de maneira familiar a eles. Esses
esforços �caram aquém do ideal para muitos programadores, no entanto, e os
esforços para forçar o PHP a construir sistemas totalmente orientados a objetos
muitas vezes geraram resultados não intencionais e prejudicaram o desempenho. O
modelo de objeto reconstruído do PHP 5 aproximou o PHP de outras linguagens
orientadas a objetos, como Java e C ++, oferecendo suporte a recursos como
sobrecarga, interfaces, variáveis e métodos de membros privados e outras
construções OO padrão.
Quanto a versão 6, não chegou e nem chegará a ser lançada como uma versão do
PHP, pois tinha como objetivo corrigir falhas apontadas na versão 5.2 e versões
anteriores, de não terem suporte nativo Unicode. Assim em 2005 chegou a ser
construído um grande um grupo de trabalho para desenvolver uma versão PHP 6
que tivesse suporte, mas em 2009 foi lançada a versão 5.3 com algumas
funcionalidades previstas para o PHP 6, só que mantendo-se sem o suporte
Unicode.
Os recursos que supostamente seriam incorporados na versão PHP 6 foram sendo
integrados a partir das versões 5.3 e 5.4, razão pela qual o PHP 6 deixou de fazer
sentido como uma versão principal. Contudo , este assunto não foi pací�co e chegou
a ser uma matéria discutida entre os programadores, desde 2014, com vista a saber
se a versão posterior à 5.x deveria ser designada por PHP 7, acabando por ser
adotada.
No que toca a versão PHP 7, ela foi lançada em de�nitivo no �nal de 2015. Apesar da
introdução desta versão, há uma expectativa que demore algum tempo até que a
mesma seja usada, na medida em que há um período de adaptação. Contudo, para
facilitar o aprendizado, será utilizado a versão PHP 5, com o conteúdo e os exemplos
apresentados neste livro.
Tipos de arrays
AUTORIA
Ricardo Bortolo Vieira
Os Usos de Arrays
Um array é uma coleção de variáveis indexadas e agrupadas em uma única super
variável facilmente referenciada que oferece uma maneira fácil de passar vários
valores entre linhas de código, funções e até mesmo páginas. Vale a pena listar as
maneiras comuns pelas quais os arrays são usados no código PHP real. Muitas
variáveis de ambiente PHP embutidas estão na forma de matrizes, por exemplo, $
_SESSION, que contém todos os nomes e valores de variáveis sendo propagados de
uma página para outra através do mecanismo de sessão do PHP). Se você quiser
acessá-los, você precisa entender, no mínimo, como fazer referência a matrizes.
A maioria das funções de banco de dados transporta suas informações através de
matrizes, criando um pacote compacto de um bloco de dados arbitrário. É fácil
transmitir conjuntos inteiros de argumentos de formulário HTML de uma página
para outra em uma única matriz. Os arrays são um bom contêiner para fazer
manipulações (classi�cação, contagem e assim por diante) de todos os dados que
você desenvolve ao executar o script de uma única página. Quase toda situação que
exige que um número de dados seja empacotado e tratado como um é apropriado
para um array PHP.
Mas o que são Arrays PHP?
Arrays PHP são matrizes associativas com um pouco de maquinário extra, inserido.
A parte associativa signi�ca que as matrizes armazenam valores de elemento em
associação com valores de chave em vez de uma ordem de índice linearmente
restrita. Se você viu Arrays em outras linguagens de programação, é provável que
elas tenham sido matrizes vetoriais em vez de matrizes associativas - a seguir
faremos uma explicação sobre essa diferença.
Se você armazenar um elemento em uma Arrays associativa com uma chave, tudo
que você precisa para recuperá-lo mais tarde desse Arrays será o valor da chave. Por
exemplo, o armazenamento é tão simples assim:
$ state_location ['San Mateo'] = 'California';
que armazena o elemento 'California' na variável de array $ state_location, em
associação com a chave de pesquisa "San Mateo".Após isso ter sido armazenado,
você poderá procurar o valor armazenado usando a chave, assim:
 $ state = $ state_location ['San Mateo']; // equals 'Califórnia';
Simples, não? Se tudo o que você deseja no Arrays é armazenar pares de chave /
valor, às informações anteriores serão tudo o que você precisará saber. Da mesma
forma, se você quiser associar uma ordem numérica com um monte de valores,
tudo o que você precisará fazer é usar inteiros como valores chave, como no código
a seguir:
$ meu_array [1] = “A primeira coisa”; 
$ meu_array [2] = “A segunda coisa”; // e assim por diante...
Todas as variáveis no PHP são denotadas com um $ inicial, não apenas variáveis
escalares. Em segundo lugar, mesmo que a matriz seja associativa, os índices são
agrupados por colchetes ([ ]) em vez de chaves ({ }). Por �m, não há tipo de matriz ou
lista indexada apenas por números inteiros. A convenção é usar inteiros como
índices associativos, e o próprio array mantém uma ordenação interna para
propósitos de iteração.
Além do mecanismo que possibilita esse tipo de associação de chave / valor, os
arrays rastreiam algumas outras coisas nos bastidores. Por causa disso, às vezes os
tratamos como outros tipos de estruturas de dados. Como veremos, os arrays
podem ser multidimensionais. Eles podem armazenar valores em associação com
uma sequência de valores-chave em vez de uma única chave. Além disso, as
matrizes mantêm automaticamente uma lista ordenada dos elementos que foram
inseridos nelas, independentemente de quais são os valores-chave. Isso possibilita
tratar matrizes como listas vinculadas. Em geral, revelaremos o funcionamento
desse maquinário extra à medida que exploramos as funções que o utilizam.
Criando Arrays Simples
Existem três maneiras principais de criar um array no script PHP: atribuindo um
valor em um (e, assim, criando-o implicitamente), usando a construção array() e
chamando uma função que retorna um array como seu valor.
Atribuição Direta
A maneira simples de criar uma Array é agir como se uma variável já fosse uma
matriz e atribuísse valor a ela, assim:
$ meu_array [1] = "A primeira coisa em meu array que acabei de criar";
  Se $ meu_array for uma variável não vinculada (ou vinculada a uma variável
nonarray) antes desta instrução, ela será agora uma variável vinculada a uma matriz
com um elemento. Se este não for o caso, a matriz será armazenada em associação
com a chave inteira. Se nenhum valor estiver associado a esse número, um novo
array de matriz será criada para mantê-lo; se o valor estiver associado a 1, o valor
anterior será sobrescrito. Você também pode atribuir em uma matriz omitindo o
índice inteiramente como em $ meu_array[ ].
A Construção Array()
A outra maneira de criar um array é através da Construção Array(), que cria um novo
array a partir da especi�cação de seus elementos e chaves associadas. Em sua
versão mais simples, array() é chamado sem argumentos, o que cria um novo array
vazio. Em sua próxima versão mais simples, array () pega uma lista separada por
vírgula de elementos a serem armazenados, sem qualquer especi�cação de chaves.
O resultado é que os elementos serão armazenados na matriz na ordem
especi�cada e são atribuídos a chaves inteiras começando com zero. Por exemplo, a
declaração:
$ cesto_de_frutas = array ('maça', 'laranja', 'banana', 'pera');
faz com que a variável $ cesto_de_frutas seja atribuída a um array com quatro
elementos String ('maça', 'laranja', 'banana', 'pera'), com os índices 0, 1, 2 e 3,
respectivamente. Além disso, o array se lembrará da ordem em que os elementos
foram armazenados.
A atribuição para $ cesto_de_frutas, então, tem exatamente o mesmo efeito que o
seguinte:
$ cesto_de_frutas [0] = 'maça'; 
$ cesto_de_frutas [1] = "laranja"; 
$ cesto_de_frutas [2] = "banana"; 
$ cesto_de_frutas [3] = "pera";
supondo que a variável $ cesto_de_frutas estava desassociada na primeira
atribuição. O mesmo efeito também poderia ter sido obtido pela omissão dos
índices na tarefa, da seguinte forma:
$ cesto_de_frutas [] = 'maça'; 
$ cesto_de_frutas [] = "laranja"; 
$ cesto_de_frutas [] = "banana"; 
$ cesto_de_frutas [] = "pera";
Neste caso, o PHP novamente assume que você está adicionando elementos
sequenciais que devem ter índices numéricos contando para cima a partir de zero.
Especi�cando Índices Usando Array()
O exemplo simples de array() na seção anterior atribui índices a nossos elementos,
mas esses índices serão inteiros, contando para cima a partir de zero. Acontece que
o array() nos oferece uma sintaxe especial para especi�car quais devem ser os
índices. Em vez de valores de elemento separados por vírgulas, você fornece pares
de valor-chave separados por vírgulas, onde a chave e o valor são separados pelo
símbolo especial =>.
Considere a seguinte declaração:
$ cesto_de_frutas = array (0 =>' maca ', 1 =>' laranja ', 2 =>' banana
', 3 =>' pera ');
A avaliação terá exatamente o mesmo efeito que nossa versão anterior - cada string
será armazenada na matriz sucessivamente, com os índices 0, 1, 2, 3 em ordem. Em
vez disso, no entanto, podemos usar exatamente a mesma sintaxe para armazenar
esses elementos com diferentes índices:
$ cesto_de_frutas = array ('vermelho' => 'maçã', 'laranja' =>
'laranja', 'amarela' => 'banana' 'verde' => 'pera');
Isso nos dá os mesmos quatro elementos, adicionados ao nosso novo array na
mesma ordem, mas indexados por nomes de cores em vez de números. Para
recuperar o nome do fruto amarelo, por exemplo, nós apenas avaliamos a expressão:
 $ cesto_de_frutas [amarela] // será igual a 'banana'
Finalmente, como dissemos anteriormente, você pode criar um array vazio
chamando a função de array sem argumentos. Por exemplo:
$ meu_array_vazio = array ();
cria um array sem elementos. Isso pode ser útil para passar para uma função que
espera uma matriz como argumento.
Funções Retornando Arrays
A maneira �nal de criar um array em um script é chamar uma função que retorna
um array. Esta pode ser uma função de�nida pelo usuário, ou pode ser uma função
interna que faz um array via métodos internos ao PHP. Muitas funções de interação
com banco de dados, por exemplo, retornam seus resultados em arrays que as
funções criam na hora. Outras funções existem simplesmente para criar arrays que
são úteis para ter funções posteriores para manipulação de array. Uma delas é
range(), que recebe dois inteiros como argumentos e retorna uma matriz
preenchida com todos os inteiros (inclusive) entre os argumentos. Em outras
palavras:
$ meu_array = range (1,5);
cria um array sem elementos. Isso pode ser útil para passar para uma função que
espera uma matriz como argumento.
é equivalente a:
$ meu_array = array (1, 2, 3, 4, 5);
Recuperando Valores
Depois de armazenarmos alguns valores em uma matriz, como podemos obtê-los
novamente?
Recuperando por índice
A maneira mais direta de recuperar um valor é usar seu índice. Se tivermos
armazenado um valor em $ meu_array no índice 5, $ meu_array [5] deverá avaliar o
valor armazenado. Se $ meu_array nunca foi atribuído, ou se nada foi armazenado
nele com um índice de 5, $ meu_array [5] se comporta como uma variável não
ligada.
A construção list ()
Há várias outras maneiras de recuperar valores de arrays sem usar chaves, a maioria
das quais explora o fato de que os arrays estão registrando silenciosamente a ordem
na qual os elementos são armazenados. Mas um desses exemplos é list (), que é
usado, para atribuir vários elementos de matriz a variáveis em sucessão. Suponha
que as duas instruções a seguir sejam executadas:
$ cesto_de_frutas = array ('maca', 'laranja', 'banana'); lista ($
fruta_vermelha, $ fruta_laranja) = $ cesto_de_frutas;
Isso atribui o String "maca" à variável $ fruta_vermelha e a string "laranja" à variável $
fruta_laranja (sem atribuição de "banana", porque não fornecemos variáveis
su�cientes). As variáveis em list () serão atribuídas a elementos da matriz na ordem
em que foram originalmente armazenadas na matriz. Observe o comportamento
incomum aqui - a construção list ()está no lado esquerdo do operador de atribuição
(=), onde normalmente encontramos apenas variáveis. Em certo sentido, list () é o
oposto ou inverso de array () porque array () empacota seus argumentos em um
array, e list () desmonta o array novamente em atribuições de variáveis individuais.
Se avaliarmos:
list ($ primeiro, $ segundo) = array ($ primeiro, segundo);
os valores originais de $ primeiro e $ segundo serão atribuídos a essas variáveis
novamente, depois de terem sido armazenados brevemente em uma matriz.
Arrays Multidimensionais
Até agora, os exemplos de array que vimos foram todos unidimensionais, com
apenas um nível de chaves entre colchetes. No entanto, o PHP pode suportar
facilmente arrays multidimensionais, com números arbitrários de chaves. E assim
como nos arrays unidimensionais, não há necessidade de declarar nossas intenções
com antecedência - a primeira referência a uma variável array pode ser uma
atribuição como:
  $ multi_array [1] [2] [3] [4] [5] = "Tesouro profundamente
enterrado";
Essa é uma matriz de cinco dimensões com chaves sucessivas que acontecem neste
caso, para ser cinco inteiros sucessivos.
Na verdade, pensar em matrizes como multidimensionais torna as coisas mais
confusas do que precisam ser. Em vez disso, lembre-se de que os valores
armazenados em matrizes podem ser matrizes, tão legitimamente quanto podem
ser cadeias ou números. A sintaxe de índice múltiplo no exemplo anterior é
simplesmente uma maneira concisa de se referir a um array (quadridimensional)
que é armazenado com uma chave de 1 in $ multi_array, que por sua vez tem um
array (tridimensional) armazenado nele, e assim por diante. Note também que você
pode ter diferentes profundidades de referência em diferentes partes da matriz,
assim:
$ multi_level_array [0] = “uma string simples”; 
$ multi_level_array [1][‘contains’] = “um String armazenado mais
profundamente”;
A chave integer de 0 armazena um String, e a chave de 1 armazena uma matriz que,
por sua vez, tem um String nela. No entanto, você não pode continuar com esta
atribuição:
$ multi_level_array [0] [‘contém’] = “outra string profunda”;
sem o resultado perdido a primeira atribuição será "um String simples". A chave de 0
pode ser usada para armazenar um String ou outra array, mas não ambas ao
mesmo tempo. Se nos lembrarmos de que arrays multidimensionais são
simplesmente arrays que têm outros arrays, armazenadas nelas, é mais fácil ver
como o construtor de criação de array () se generaliza. De fato, mesmo essa tarefa
aparentemente complicada não é tão complicada:
$ cornucopia = array ('fruta' => 
  array ('vermelho' => 'maçã', 
  'laranja' => 'laranja', 
  'amarelo' => 'banana ', 
  ' verde '=>' pêra '), 
  'flor'=> 
array (' vermelho '=> ' rosa ', 
  ' amarelo '=>' girassol ', 
  ' púrpura '=>' íris '));
É simplesmente um array com dois valores armazenados em associação com
chaves. Cada um desses valores é um array em si. Depois de termos feito o array,
podemos referenciá-lo assim:
$ tipo_desejado = 'flor'; $ cor_desejada = "roxo"; print ("O $
cor_desejada $ tipo_desejado é" $ cornucopia [$ tipo_desejado [$
cor_desejada]);
Veja a saída do navegador:
A flor roxa é iris
Há um motivo pelo qual usamos o operador de concatenação de String ( . ) na
declaração impressa anterior, em vez de simplesmente incorporar a $ cornucopia [$
tipo_desejado] [$ cor_desejada ] em nossa sequência de impressão, como fazemos
com outras variáveis. A análise de cadeia de caracteres PHP3 pode ser confundida
por vários índices de matriz em uma cadeia de aspas, portanto, ela precisa ser
concatenada separadamente. O PHP desde a versão 4 lida com isso de uma
maneira melhor - você estará seguro ao inserir referências de array em um String
contanto que você coloque a referência entre chaves, assim:
print (“O que queremos é {$ cornucopia [$ tipo_desejado [ $
cor_desejada ]} ”);
Finalmente, observe que não há grande penalidade por indexação indevida em um
array multidimensional quando estamos tentando recuperar algo; se nenhuma
chave for encontrada, a expressão será tratada como uma variável não vinculada.
Então, se tentarmos o seguinte:
$ tipo_desejado = "fruta";$ cor_desejada = "roxo"; 
// uh-oh, nós não guardamos nenhuma ameixa 
print ("$ cor_desejada $ tipo_desejado é" $ cornucopia [$
tipo_desejado ] [$ cor_desejada ]);
Tipos de operadores
AUTORIA
Ricardo Bortolo Vieira
Operadores Aritméticos
Só podem ser utilizados quando os operandos são números (integer ou �oat). Se
forem de outro tipo, terão seus valores convertidos antes da realização da operação.
Operadores de Strings
Existe apenas um operador de cadeia de caracteres - o operador de concatenação
("."). Exemplo:
$ a = "Olá";$ b = $ a."Mundo!"; 
// agora$ b = "Olá mundo"!
Operadores de Atribuição
O operador de atribuição básico é "=". Sua primeira inclinação pode ser pensar nisso
como "igual a". Não. Isso realmente signi�ca que o operando à esquerda é de�nido
como o valor da expressão nos direitos (isto é, "é de�nido como").
O valor de uma expressão de atribuição é o valor atribuído. Ou seja, o valor de
"$ a = 3" é 3.
Isso permite que você faça algumas coisas complicadas:
Tabela 01 - Operadores Aritméticos.
Exemplo Nome Resultado
$ a + $ b Adição Soma de $ a e $ b.
$ a - $ b Subtração Restante de $ b subtraído de $ a.
$ a * $ b Multiplicação Produto de $ a e $ b.
$ a / $ b Divisão Dividendo de $ a e $ b.
$ a % $ b Modulus Restante de $ a dividido por $ b.
$a = ($ b = 4) + 5; 
// $ a é igual a 9 agora e $ b foi definido como 4.
Além do operador de atribuição básico, existem "operadores combinados" para
todos os operadores aritméticos e de cadeia de caracteres binários que permitem
usar um valor em uma expressão e, em seguida, de�nir seu valor para o resultado
dessa expressão. Por exemplo:
$ a = 3; 
$ a + = 5; 
// define $a para 8, como se tivéssemos dito:   
$ a = $ a + 5; $ b = " Hello"; 
$ b. = " There!"; 
// define $b para "Hello There!", assim como $ b = $ b. " There! ";
Operadores bit a bit
Operadores bit a bit permitem que você ative ou desative bits especí�cos dentro de
um inteiro.
Tabela 02 - Operadores bit a bit.
Exemplo Nome Resultado
$a & $b And Os bits de�nidos em $ a e $ b estão de�nidos.
$a | $b Or Os bits de�nidos em $ a ou $ b estão de�nidos.
~ $a Not Os bits de�nidos em $ a não estão de�nidos e vice-versa.
$a << $b Shiftleft
Mude os bits de $ a $ b passos para a esquerda (cada
passo signi�ca “multiplicar por dois”).
$a >> $b Shiftright
Mude os bits de $ a $ b passos para a direita (cada
passo digni�ca “dividir por dois”).
Operadores lógicos
A razão para as duas variações diferentes de " And " e " Or " operadores é que eles
operam em precedentes diferentes. (Ver abaixo.)
Operadores de Comparação
Os operadores de comparação, como o próprio nome sugere, permite comparar
dois valores.
Tabela 03 - Operadores lógicos.
Exemplo Nome Resultado
$a and
$b And Verdade de ambos $ a e $ b são verdadeiros.
$a or $b Or Verdadeiro se $ a e $ b for verdadeiro.
$a xor $b Or Verdadeiro se $ a e $ b for verdadeiro, mas nãoambos.
! $a Not Verdade se $ a não for verdade.
$a && $b And Verdade de ambos $ a e $ b são verdadeiros.
$a || $b Or Verdadeiro se $ a e $ b for verdadeiro
Operadores de Expressão Condicional
Outro operador condicional é o operador: " ?: " (Ou trinário), que opera como em C e
em muitas outras linguagens.
(expr1)? (expr2): (expr3);
Essa expressão retorna para expr2 se expr1 for avaliada como verdadeira e expr3 se
expr1 for avaliada como false.
Operadores de Incremento e Decremento
Tabela 04 - Operadores de Comparação.
Exemplo Nome Resultado
$a == $b Igualdade Verdadeiro de $ a for igual a $ b
$a != $b Diferente Verdadeiro de $ a não for igual a $ b
$a < $b Menor que Verdadeiro de $ a for estritamentemaior que $ b
$a > $b Maior que Verdadeiro de $ a for menor ou igual a $b.
$a <= $b<=""
td="">
Menor ou
igual a
Verdade de ambos $ a e $ b são
verdadeiros.
$a >= $b Maior ouigual a
Verdadeiro de $ a for maior ou iguala $
b.
Tabela 05 - Operadores de Incremento e Decremento.
++ Incremento
-- Decremento
Podem ser utilizados de duas formas: antes ou depois da variável. Quando utilizado
antes, retorna o valor da variável antes de incrementá-la ou decrementá-la. Quando
utilizado depois, retorna o valor da variável já incrementado ou decrementado.
Exemplos:
$a = $b = 10; 
// $a e $b recebem o valor 10$c = $a++; 
// $c recebe 10 e $a passa a ter 11$d = ++$b; 
// $d recebe 11, valor de $b já incrementado.
Operadores de Ordem de Precedência dos
Operadores
A precedência de um operador especi�ca como "estreitamente" ele une duas
expressões. Por exemplo, na expressão 1 + 5 * 3, a resposta é 16 e não 18, porque o
operador de multiplicação ("*") tem uma precedência maior do que o operador de
adição ("+").
A tabela a seguir lista a precedência dos operadores com os operadores de
precedência mais baixa, listados primeiro.
Tabela 06 - Operadores de Ordem de Precedência dos Operadores
Associatividade Operador
esquerda ,
esquerda or
esquerda and
direita print
esquerda = += -+ *= /= .= %= &= != ~= <<=>>=
esquerda ?:
esquerda ||
esquerda &&
esquerda |
esquerda ^
esquerda &
não associativo ==!=
não associativo < <=> >=
esquerda <<>>
esquerda +-.
esquerda */%
direita ! ~++ - (int) (double) (string) (array) (object) @
direita [
não associativo new
SAIBA MAIS
Como criar minha primeira classe em PHP
Caro(a) aluno(a), dando continuidade no aprimoramento pro�ssional,
deixo a sugestão de leitura deste artigo que tenho certeza que te
ajudará a sanar dúvidas e te dará uma visão mais ampla da
Programação para Internet.
Neste conteúdo você aprenderá a criar sua primeira classe (PHP Class)
na linguagem PHP. Aprenda também a usar herança e interfaces, bem
como métodos, atributos e propriedades.
ACESSAR
REFLITA
"O futuro não é de�nido em uma trilha. É algo que podemos decidir, e
na medida em que não violamos quaisquer leis conhecidas do universo,
provavelmente podemos fazê-lo funcionar da maneira que queremos".
(Alan Kay)
Caro(a) aluno(a), Dessa forma, �ca a re�exão para todos nós, de como
pensar a programação, de criar e superar as expectativas, de maneira
que sempre possa buscar o seu melhor. Seja o melhor que você puder
ser. O aprimoramento deve ser constante.
ACESSAR
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-php/38895
https://citacoes.in/citacoes/1841701-alan-kay-the-future-is-not-laid-out-on-a-track-it-is-somet/
Caro(a) aluno(a), chegamos ao �nal desta unidade que foi preparada com muito
carinho para você. Nesta unidade foram apresentados alguns conceitos da
Programação para Internet como os tipos de Arrays, os tipos de Operadores e
também uma introdução à programação web com uma retrospectiva cronológica da
internet.
O conteúdo que foi apresentado nesta unidade, foi somente a ponta do Iceberg, foi
super�cial, mas nas próximas unidades você poderá se aprofundar nos conceitos e
prática da Programação para Internet.  
Estaremos juntos na próxima unidade.
Até lá!
Livro
Conclusão - Unidade 1
Filme
Acesse o link
https://www.devmedia.com.br/guia/programador-php/38193
Unidade 2
Introdução aos Tipos de
funções
AUTORIA
Ricardo Bortolo Vieira
Introdução
Esta unidade inicia os estudos com uma breve introdução aos Tipos de funções.
Você verá nesta unidade, como é de�nida uma função, os argumentos e muito mais.
Com o estudo mais aprofundado e especí�co sobre o recebimento de formulários e
também a sua utilização dentro da Programação para Internet.
Você não pode parar, pois preparamos muitas coisas boas e trouxemos um
conteúdo que foi preparado pensando em te trazer mais conhecimentos e um
direcionamento em sua carreira pro�ssional. Então vamos aos estudos!
Agora é mão na massa e bom estudo!
Tipos de funções
AUTORIA
Ricardo Bortolo Vieira
Introdução a Função
O que é uma função?
Uma função é uma forma de quebrar um pedaço de código e dar um nome a esse
pedaço, para que você possa usar esse pedaço mais tarde em apenas uma linha de
código. As funções são mais úteis quando você usar o código em mais de um lugar,
mas elas poderão ser úteis mesmo em situações de uso único, porque podem tornar
seu código muito mais legível. (Converse; Park; Morgan, 2004. p. 148).
De�nição de Função
A Sintaxe básica para de�nições de função tem a seguinte forma:
Ou seja, as de�nições de função têm quatro partes:
A função de palavra especial
O nome que você quer dar à sua função
A lista de parâmetros da função - variáveis de sinal de dólar separadas por
vírgulas
O corpo da função - um conjunto de instruções em anexo
Figura 26 - Exemplo de de�nição de função.
Fonte: elaborado pelo autor, 2019.
Assim como com nomes de variáveis, o nome da função deve ser composto de
letras, números e sublinhados, e não deve começar com um número. Ao contrário
dos nomes das variáveis, os nomes das funções são convertidos para letras
minúsculas antes de serem armazenados internamente pelo PHP, portanto, uma
função é a mesma, independentemente da capitalização.
A versão curta do que acontece quando uma função de�nida pelo usuário é
chamada é:
1. O PHP procura a função pelo seu nome (você receberá um erro se a função
ainda não tiver sido de�nida).
2. O PHP substitui os valores dos argumentos de chamada (ou os parâmetros
reais) pelas variáveis na lista de parâmetros da de�nição (ou nos parâmetros
formais).
3. As declarações no corpo da função são executadas. Se alguma das instruções
executadas for uma instrução de retorno, a função para e retorna o valor
fornecido. Caso contrário, a função será concluída após a última instrução ser
executada, sem retornar um valor.
Exemplo de de�nição de função
Como exemplo, imagine que temos o seguinte código que ajuda a decidir qual
tamanho de refrigerante engarrafado comprar. (Isso é em algum momento, quando
os compradores de supermercados rotineiramente usam seus navegadores da Web
para acessar nosso prático site de comparação de preços).
A �gura 01 apresenta o código e como esse tipo de comparação acontece no nosso
site o tempo todo, uma boa prática de programação é torná-lo uma função
reutilizável. Uma maneira de fazer isso seria a seguinte reescrita:
Figura 27 - Exemplo de de�nição de função.
Fonte: elaborado pelo autor, 2019
Nossa função melhor_negocio, apresentado na �gura 02, abstrai as três linhas no
código anterior que �zeram a aritmética e a comparação. Leva quatro números
como argumentos e retorna o valor de uma expressão booleana. Como acontece
com qualquer valor booleano, podemos incorporá-lo na parte de teste de uma
instrução if. Embora essa função seja maior que o código original, há dois benefícios
para essa reescrita: Podemos usar a função em vários lugares (salvando linhas no
geral) e se decidirmos alterar o cálculo, terá que fazer a alteração em apenas um
lugar.
Alternativamente, se a única maneira de usarmos essas comparações de preço é
imprimir qual transação é preferida, podemos incluir a impressão na função,
conforme �gura 29.
Figura 28 - Exemplo de de�nição de função reescrita.
Fonte: elaborado pelo autor, 2019.
Nossa primeira função usou a declaração de retorno para enviar de volta um
resultado booleano, que foi usado em um teste if. A segunda função não tem
declaração de retorno, porque é usada para o efeito colateral de imprimir texto no
navegador do usuário. Quando a última declaração desta função é executada, o PHP
simplesmente passa para executar a próxima instrução após uma chamada de
função.
Argumentos da Função
As informações podem ser passadas para as funções através da lista de argumentos,
que é uma lista delimitada por vírgulas de variáveis e / ou constantes.
O PHP suporta a passagem de argumentos por valor (o padrão), passagem por
referência e valores de argumento padrão. Listas de argumentos de tamanho
variável não são suportadas, mas um efeito similar pode ser obtido pela passagem
de arrays.
Figura 29 - Outro exemplo de de�nição de função.
Fonte: elaborado pelo autor, 2019.
Passagem de Argumentospor Referência
Por padrão, os argumentos da função são passados por valor, para que se você
alterar o valor do argumento dentro da função, ele não seja alterado fora da função.
Se você deseja permitir que uma função modi�que seus argumentos, você deverá
passá-los por referência.
Se você quiser que um argumento para uma função seja sempre passado por
referência, você pode preceder um & para o nome do argumento na de�nição da
função, conforme �gura 31.
Figura 30 - Exemplo de Argumentos da Função.
Fonte: elaborado pelo autor, 2019.
Se você deseja passar uma variável por referência a uma função que não faz isso por
padrão, você pode preceder um & ao nome do argumento na chamada de função,
conforme apresentado na �gura 32.
Figura 31 - Exemplo de Passagem de Argumentos por Referência.
Fonte: elaborado pelo autor, 2019.
Argumentos com Valores Pré-De�nidos (Padrão)
Uma função pode de�nir valores padrão no estilo C ++ para argumentos escalares
da seguinte forma:
Figura 32 - Exemplo de Passagem de Argumentos por Referência.
Fonte: elaborado pelo autor, 2019.
A saída do fragmento acima é:
Fazendo uma xícara de cappuccino. 
Fazendo uma xícara de café expresso.
O valor padrão deve ser uma expressão constante, não, por exemplo, uma variável ou
membro de classe.
Observe que, ao usar argumentos padrão, qualquer padrão deve estar no lado
direito de qualquer argumento não padrão; caso contrário, as coisas não funcionarão
como esperado. Considere o seguinte trecho de código:
Figura 33 - Exemplo de Argumentos com Valores Padrão.
Fonte: elaborado pelo autor, 2019.
A saída do exemplo acima é:
Atenção: Falta o argumento 2 na chamada de makeyogurt () em
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Fazendo uma tigela de framboesa.
Agora, compare o acima com isto:
Figura 34 - Exemplo de Argumentos com Valores Padrão.
Fonte: elaborado pelo autor, 2019.
A saída deste exemplo é:
Fazendo uma tigela de framboesa acidophilus.
Figura 35 - Exemplo de Argumentos com Valores Padrão.
Fonte: elaborado pelo autor, 2019.
Recebendo dados de
formulários
AUTORIA
Ricardo Bortolo Vieira
Introdução ao Formulário PHP
O manuseio de formulários é um dos melhores recursos do PHP. A combinação de
HTML para construir um formulário de entrada de dados, PHP para manipular os
dados e um servidor de banco de dados para armazenar os dados está no cerne de
todos os tipos de tarefas da Web extremamente úteis.
Formulários HTML
Você já sabe muito do que precisa para manipular formas no PHP. Existem alguns
pontos especí�cos a serem apresentados quando falamos de formulários:
Sempre use um NOME para cada elemento de entrada de dados INPUT,
SELECT, TEXTAREA e assim por diante. Esses atributos NAME se tornarão
nomes de variáveis PHP - você não poderá acessar seus valores se não usar um
atributo NAME para cada um deles.
Um campo de formulário NAME não precisa ser igual ao nome do campo de
banco de dados correspondente, mas geralmente é uma boa prática.
Você poderá e geralmente deverá especi�car um valor em vez de deixar HTML
enviar o valor padrão. Considere substituir um valor numérico por um valor de
texto, se possível, porque o banco de dados é muito mais lento em seqüências
de caracteres correspondentes do que inteiros.
O valor pode ser de�nido para os dados que você deseja exibir no formulário.
Lembre-se de que você pode passar variáveis ocultas de um formulário para
outro ou página, usando os elementos de entrada de dados HIDDEN. Essa
prática poderá ter implicações de segurança negativas, mas geralmente não é
pior do que armazenar os dados em um cookie.
Lembre-se de que você pode passar múltiplas variáveis em um array - mas
você precisará informar ao usuário que esta é uma possibilidade. (Converse;
Park; Morgan, 2004. p. 311).
Uma das  dúvidas mais frequentes entre desenvolvedores iniciantes em PHP é
como manipular os dados de formulário enviados para os scripts PHP,
principalmente dados de "checkbox" e upload de arquivos.
Um formulário HTML é apenas uma tela bonita para onde os usuários poderão
inserir informações que serão interpretados de alguma maneira por algum script
em um determinado servidor. E no nosso caso, é um script PHP.
Primeiro: o formulário deverá conter um botão "submit", através do comando
apresentado na �gura 36.
Segundo: todos os campos que serão tratados no script PHP deverão conter o
parâmetro "name", caso contrário, os dados não serão passados para o script PHP,
conforme apresentado na �gura 37.
Figura 36 - Exemplo do comando de envio com o  botão submit.
Fonte: elaborado pelo autor, 2019.
Como as informações do formulário serão passadas para esse script PHP e como as
informações do formulário enviado serão tratadas, dependerá de você.
Existem 2 métodos que poderão ser usados: GET e POST. O recomendável sempre
para todos os formulários é usar o método POST, onde os dados enviados não são
visíveis nas URLs, ocultando possíveis importantes informações e permitindo o envio
de longas informações. O GET é totalmente o contrário disso.
Você deve estar se perguntando "como as informações chegam para o script PHP?"
Figura 37 - Exemplo de script PHP com parâmetro name.
Fonte: elaborado pelo autor, 2019.
O formulário apresentado na �gura 39 utiliza o método POST para envio das
informações, em um "script.php":
Figura 38 - Exemplo de formulário HTML.
Fonte: elaborado pelo autor, 2019.
Na �gura 13 vemos um exemplo de como utilizar o formulário criado na �gura 12. Se
o formulário tivesse sido enviado usando o método GET, você simplesmente teria
que usar  $_GET no lugar de $_POST.
Em vez de usar $_GET ou $_POST você poderá escrever a variável com o mesmo
nome do campo do formulário (no exemplo, $campo1 e $campo2). Mas, esse uso não
é recomendado, pois se a diretiva "register_globals" na con�guração do seu PHP
estiver desativada, as variáveis com nome dos campos dos formulários, terão um
valor vazio.
Uma solução para isso é usar a função import_request_variables no começo dos
seus scripts que interpretam formulários. Essa função aceita 3 letras como
argumentos: P, G e C, referentes a $_POST, $_GET e $_COOKIE respectivamente.
Exemplo de uso:
Figura 39 - Uso de método POST para envio de formulário.
Fonte: elaborado pelo autor, 2019.
Exemplo: Você possui formulário com os campos "nome", "endereço" e "idade".
Assuma que a diretiva "register_globals" do seu PHP esteja desligada, mas, você já
havia programado o script usando as variáveis no escopo global, no lugar de $_POST.
Adicionando aquela função no começo do script, as variáveis do seu formulário
postado estarão conforme a �gura 41.
Figura 40 - Exemplo da utilização da função import_request_variables
Fonte: elaborado pelo autor, 2019.
Serão extraídas cada campo para uma variável diferente: $nome, $endereco e
$idade.
Campos Hidden
Os campos hidden são usados para passar informações que não poderão ser
alteradas pelo usuário que estará inserindo informações no formulário. Por exemplo:
você tem um site com sistema de login e o usuário quer alterar as informações de
login dele. O script que irá manipular esse formulário, precisa saber o ID do usuário
para poder alterar as informações no banco de dados, então esse ID é um campo
hidden. Exemplos de utilização de campos hidden estão nas �guras 42 e 43.
Figura 41 - Exemplo de uma junção no começo do formulário.
Fonte: elaborado pelo autor, 2019.
Figura 42 - Exemplo de hidden.html.
Fonte: elaborado pelo autor, 2019.
Figura 43 - Exemplo de hidden.php.
Fonte: elaborado pelo autor, 2019.
Campos Text e Textarea
Os campos text e textarea são os tipos mais simples, onde há somente um possível
valor por campo. Dispensam maiores explicações e estão presentes nas Figuras 18 e
44.
Figura 45 - Exemplo de texts.php.
Fonte: elaborado pelo autor, 2019.
Campos Radio
Campos Radio permitem um relacionamento de um para muitos entre identi�cador
e valor, ou seja, eles têm múltiplos possíveis valores, mas somente um pode ser pré-
exibido ou selecionado. Eles sãomelhores para pequenos conjuntos de opções,
geralmente entre dois e dez, que precisam de mais do que uma palavra ou duas de
texto para se identi�carem.
Infelizmente, é um pouco mais difícil representar os dados armazenados em um
botão de opção do que em uma caixa de seleção ou campo de texto. Isso ocorre
porque existe apenas um valor possível para um texto ou uma área de texto e
apenas dois valores possíveis para uma caixa de seleção - mas os botões de opção
podem ter mais de dois valores possíveis. Portanto, você terá que produzir parte do
formulário atual com o PHP. Isso parece um pouco menos arrumado do que os
estilos que empregamos anteriormente, então você deve investir mais tempo e
esforço para alcançar um script facilmente legível. Mais uma vez, a experiência de
interface de usuário permitida pelos botões de rádio vale a pena o problema extra
que isso dá ao desenvolvedor da Web. (Converse; Park; Morgan, 2004.p. 317).
Por exemplo: você tem um sistema de "quiz".
Figura 45 - Exemplo de texts.php.
Fonte: elaborado pelo autor, 2019.
Cada pergunta possui 5 possíveis respostas. Cada resposta é um radio, onde os 5
radios dessa pergunta possuem o mesmo identi�cador, mas cada um com valor 
diferente. Este exemplo está presente nas �guras 46 e 47.
Figura 46 - Exemplo de radio.html.
Fonte: elaborado pelo autor, 2019.
Campos Checkbox
O tipo Checkbox tem somente um possível valor por entrada: on value (marcado) ou
no value (desmarcado). No script você deve fazer a veri�cação para saber se o
campo foi marcado ou não.
É possível também utilizar grupos de checkbox com o mesmo nome. Para isso você
deve adicionar "[]" no �nal do nome, para o PHP interpretar como array, veja o
código exemplo nas �guras 48 e 49.
Figura 47 - Exemplo de radio.php.
Fonte: elaborado pelo autor, 2019.
Figura 48 - Exemplo de checkbox.html.
Fonte: elaborado pelo autor, 2019.
Figura 49 - Exemplo de checkbox.php.
Fonte: elaborado pelo autor, 2019.
Campos Select
Os campos select permitem tratar uma variedade de opções, onde o usuário pode
selecionar apenas uma opção ou múltiplas opções. Quando você permite múltiplas
seleções, deve adicionar "[]" no �nal do nome, para o PHP interpretar como array.
Nos exemplos das �guras 50 e 51, mostramos o funcionamento e tratamento de
ambas.
Figura 50 - Exemplo de um select.html.
Fonte: elaborado pelo autor, 2019.
A manipulação de dados de formulários é uma das coisas mais importantes que
todo desenvolvedor deve saber, pois normalmente é por meio dela que existe a
comunicação de aplicação x banco de dados.
Figura 51 - Exemplo de um select.php.
Fonte: elaborado pelo autor, 2019.
Validando dados de
formulários
AUTORIA
Ricardo Bortolo Vieira
Vamos falar sobre uma funcionalidade do HTML5 que é muito útil na criação de
validações de formulários, é o HTML5 Validator.
Há muito tempo a validação de um campo de formulário é uma coisa que vem
dando muito trabalho aos desenvolvedores, muitos programadores desenvolveram
formas de validação em javascript, depois com o surgimento do jQuery logo
apareceu um plugin de validação, mas agora com o novo HTML5 as coisas �caram
muito mais fáceis, pois a validação tornou-se algo nativo da linguagem.
Será apresentado algumas opções de como realizar a validação de um campo, seja
ela por javascript ou no HTML5.
Validação com Javascript
Começaremos pela validação em javascript. Na �gura 52 vamos usar um código
simples de um formulário, onde iremos validar se a informação foi preenchida, caso
contrário a informação não será enviada.
Esse é o nosso formulário, que deverá ser exibido como mostra a �gura 53.
Figura 52 - Exemplo validação de um código html.
Fonte: elaborado pelo autor, 2019.
Agora precisamos usar o Javascript para validar esses campos. O que queremos que
aconteça é que seja impossível enviar os dados do formulário com o campo vazio,
para isso iremos utilizar um código javascript conforme apresentado na �gura 53.
Figura 53 - Aparência do formulário.
Fonte: elaborado pelo autor, 2019.
Após colocarmos esse código nosso formulário deverá validar, se por exemplo
deixarmos o campo nome em branco, ele mostrará a mensagem conforme �gura
55.
Figura 54 - Código javascript de validação.
Fonte: elaborado pelo autor, 2019.
Dessa forma nosso formulário será validado, de forma simples e fácil, mas com um
código extenso, como podemos ver.
Validando com HTML5
Com a chegada da nova versão do HTML, além de muitas outras melhorias, agora
podemos validar um campo sem precisar escrever muito código, tornando o
trabalho dos desenvolvedores muito mais prático e fácil.
Na �gura 30 veremos que é possível fazer o mesmo do exemplo anterior de uma
maneira muito mais fácil e prática e escrevendo menos código.
Figura 55 - Resultado da validação.
Fonte: elaborado pelo autor, 2019.
Você não pode esquecer que para usar recursos HTML5 precisará colocar o doctype
referente à linguagem.
Como você pode ver, foi escrito muito menos código do que anteriormente e na
�gura 57 poderá ver que o resultado é o mesmo da validação com javascript.
Figura 56 - Validando formulário com HTML5.
Fonte: elaborado pelo autor, 2019.
Personalizando a Mensagem de Validação
Caso você queira personalizar a mensagem de validação, é possível incluir uma nova
mensagem junto da mensagem padrão do browser utilizando o atributo title, mas
dessa forma ela não é personalizada por completo. Veja na �gura 58 como isso
�caria.
Figura 57 - Resultado da validação em HTML5.
Fonte: elaborado pelo autor, 2019.
Figura 58 - Inserindo mensagem junto com mensagem padrão.
Fonte: elaborado pelo autor, 2019.
SAIBA MAIS
Para dar continuidade aos estudos proponho a você como sugestão
para o seu desenvolvimento dentro da Programação para Internet, este
minicurso, Introdução ao PHP, da Plataforma Devmedia, que grande
que será de grande utilidade como complemento do que foi estudado
nesta unidade.
ACESSAR
https://www.devmedia.com.br/curso/introducao-ao-php/2171
REFLITA
“Algumas pessoas acham que foco signi�ca dizer sim para a coisa em
que você vai se focar. Mas não é nada disso. Signi�ca dizer não às
centenas de outras boas ideias que existem. Você precisa selecionar
cuidadosamente.” (Steve Jobs)
Inspirado em uma das maiores mentes da computação, Steve Jobs,
hoje é o dia certo para estudar, trabalhar, buscar algo novo.
Mas, não devemos fazer isso tentando abraçar o mundo, ou seja,
tentando fazer tudo ao mesmo tempo, mas sim, um de cada vez, porém
de forma completa e totalmente envolvida. Assim, priorizar é a
competência que v. deve aprimorar, somente assim será capaz de ir
além e fazer coisas que outros não podem.
Hoje é o dia!
Faça o hoje valer a pena, fazendo boas escolhas!
ACESSAR
https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-tecnologia-e-informatica.htm
Caro(a) Aluno(a)!
Chegamos ao �nal desta unidade II da Programação para Internet com satisfação de
tê-lo aqui conosco, com o sentimento de grande satisfação de saber você querido(a)
aluno(a) conseguiu chegar até o �m. Parabéns!!!
Nesta unidade, você recebeu uma introdução aos tipos de funções e recebimento e
validação de formulários.
Caro (a) Aluno (a), mais uma vez gostaria de parabenizá-lo pelo esforço e a dedicação
para chegar até aqui. Desejo todo o sucesso que você puder conquistar em sua vida
pessoal e pro�ssional.
Sucesso!!!
Um grande abraço!
Leitura complementar
Caro(a) aluno(a), na área da tecnologia da informação, é comum haver sempre uma
reciclagem dos pro�ssionais. Tudo muda o tempo todo. Tecnologias novas surgem, a
forma de fazer a mesma coisa muda, se tornando mais e�ciente. E por que não com
as linguagens de programação? Ainda mais relacionadas à web, que é o setor em
grande crescimento atualmente.
Neste artigo são apresentadas algumas novidades que foram incorporadas ao PHP
5.4. Nesta versão, houve muitas mudanças e incrementos, mas, esse artigo trata de 3
assuntos importantes dentro do PHP, que são os Servidor HTTP embutido, Estrutura
de arrays e NameSpaces.
Conclusão- Unidade 2
Espero que você aproveite bem este artigo e que ele possa te orientar
dentro da Programação para Internet.
ACESSAR
Livro
https://www.devmedia.com.br/novidades-do-php-5-4/27850
Filme
Acesse o link
https://www.cursoemvideo.com/course/curso-php-iniciante/
Unidade 3
Introdução ao conceito e a
utilização de Banco de
Dados
AUTORIA
Ricardo Bortolo Vieira
Introdução
Caro (a) aluno (a), esta unidade inicia os estudos com uma breve introdução ao
conceito e a utilização de Banco de Dados dentro da programação para internet. Na
primeira parte você poderá encontrar os assuntos de grande importância como
escolher um banco de dados, os bancos de dados suportados pela linguagem PHP e
uma introdução ao banco de dados MYSQL.
Na segunda parte, será tratada os assuntos relacionados ao acesso ao banco de
dados pela linguagem PHP. Você poderá ver os tipos de conexões do MySQL e
muito mais. Então vamos em frente, bons estudos e tenha um excelente
aproveitamento!!!
Introdução a banco de
dados
AUTORIA
Ricardo Bortolo Vieira
Poderá ser de�nido como um banco de dados, um conjunto de dados devidamente
relacionados. Podem-se compreender como dados os objetos conhecidos que
poderão ser armazenados e que possuem um signi�cado implícito, mas o
signi�cado do termo banco de dados é mais restrito. Um banco de dados deverá
possuir as seguintes propriedades:
Uma coleção lógica coerente de dados com um signi�cado inerente;
Uma disposição desordenada dos dados não pode ser referenciada como
banco de dados;
Projetado, construído e preenchido com valores de dados para um propósito
especí�co;
Um banco de dados deverá possuir um conjunto prede�nido de usuários e de
aplicações;
Ele pode representar algum aspecto do mundo real, o qual é chamado de
"mini mundo"; qualquer alteração efetuada no "mini mundo" será
automaticamente re�etida no banco de dados.
Escolhendo um Banco de Dados para PHP
Uma das maiores vantagens do PHP em relação a outras linguagens é a facilidade
de conectividade do banco de dados que ele oferece. O PHP suporta conexões
nativas para vários dos bancos de dados mais populares, de código aberto e
comercial.
Mas, o que é um Banco de Dados?
Um banco de dados é um aplicativo separado, que armazena uma coleção de
dados. Cada banco de dados tem uma ou mais APIs distintas para criar, acessar,
gerenciar, pesquisar e replicar os dados que ele contém. Outros tipos de
armazenamento de dados podem ser usados, como arquivos no sistema de arquivos
CONECTE-SE
Você poderá fazer o downloads das ferramentas de desenvolvimento
nos seguintes sites:
Neste site você poderá encontrar informações sobre o MySQL,
documentação, downloads, tutorial de instalação e muito mais:
ACESSAR
Este é o link direto para fazer o download do MySQL:
ACESSAR
Neste site você poderá encontrar o IDE para realizar a programação:
ACESSAR ACESSAR
Outra opção de IDE para realizar a programação:
ACESSAR
Observação:
Todos os links são de comunidades voltadas para o desenvolvimento,
todos os downloads são gratuitos e todas as ferramentas são open
source. As duas IDEs são editores de textos, não somente de PHP, nela
você terá suporte para outras linguagens de programação como Java,
C, C++, C#, Python, etc.
https://netbeans.org/kb/docs/ide/install-and-configure-mysql-server_pt_BR.html
https://dev.mysql.com/downloads/installer/
https://www.eclipse.org/oxygen/
https://www.eclipse.org/downloads/
http://brackets.io/
ou grandes tabelas de hash na memória, mas quando pro�ssionais falam sobre
bancos de dados, eles se referem a um aplicativo independente, como Oracle ou
SQL Server, etc. (Converse; Park ;Morgan, 2004. p.233).
Por que um Banco de Dados?
Se você se der ao trabalho de usar o PHP, precisará de um banco de dados. Mesmo
para algo pequeno, como um blog pessoal, você deve pensar bastante sobre as
vantagens de usar um banco de dados em vez de páginas estáticas ou arquivos de
texto incluídos que não possuem procedimentos de backup ou controle de
transação.
Manutenção e Escalabilidade
Ter o PHP montando suas páginas rapidamente a partir de um modelo e um banco
de dados é uma experiência muito boa. Depois disso, você nunca mais voltará a
gerenciar um site HTML estático de qualquer tamanho. Para o esforço de programar
uma página, você pode produzir um número in�nito de páginas uniformes. Mude
um, e você mudou todos eles. Agora há sites com centenas de milhares de páginas
separadas - você pode ter certeza de que ninguém as mantém a mão. Se você tem
um conceito da Web que pode, eventualmente, crescer para mais de algumas
dúzias de páginas, pense em mudar para um banco de dados o quanto antes.
Portabilidade
Como um banco de dados é um aplicativo e não uma parte do sistema operacional,
você pode transferir facilmente sua estrutura e conteúdo de uma máquina para
outra ou em certos casos, até mesmo de uma plataforma para outra. Isso é
especialmente valioso para os desenvolvedores web, que podem desenvolver um
projeto sem poder controlar o ambiente no qual ele será implementado. Existem até
mesmo programas PHP conhecidos, como o vBulletin, que mantêm a maior parte
do código em um banco de dados para facilitar a distribuição.
Segurança
Um banco de dados pode adicionar outra camada de segurança se for usado com
sua própria senha ou senhas. Por exemplo, digamos que você use o PHP para
manter os arquivos de clientes de uma empresa, preenchidos com informações
sobre os preços que cada cliente pagou pelo produto e reclamações feitas pelos
clientes. Essa informação seria de ouro para seus concorrentes e embaraçosa se
vazasse para alguém, mas você precisa colocá-la na Internet para que ela possa ser
acessada por seus vendedores.
Como estamos usando PHP gravando em um banco de dados, você pode manter as
permissões do diretório, somente leitura e também pedir uma segunda senha antes
que o banco de dados possa ser alterado. Por exemplo, o caso de um site de
conteúdo com um grande número de visitantes, um número menor de escritores e
um punhado de editores. Você pode de�nir facilmente os níveis de permissão de
banco de dados para cada grupo, para que os visitantes possam ver apenas o
conteúdo do banco de dados, formatado em páginas da Web, editores podem
procurar e alterar apenas suas próprias entradas e editores podem navegar / alterar /
excluir qualquer coisa no site.
Bancos de Dados Transacionais
Este termo refere-se a um design de banco de dados que busca maximizar a
integridade dos dados. O paradigma transacional depende de commits e rollbacks.
Commit é o ato de enviar, ou seja, fazer um upload dos códigos para um banco de
dados. Os rollbacks são operações que retornam o banco de dados para algum
estado anterior. São importantes para a integridade do banco de dados, porque eles
signi�cam que o banco de dados pode ser restaurado para uma cópia limpa mesmo
depois que operações erradas forem executadas. Eles são cruciais para a
recuperação de falhas no servidor de banco de dados; retrocedendo qualquer
transação que estava ativa no momento da falha, o banco de dados é restaurado
para um estado consistente.
As transações concluídas com êxito serão con�rmadas no banco de dados. Aqueles
que não forem concluídos com êxito não serão salvos ou o banco de dados será
revertido para sua condição anterior.
Geralmente, as transações se tornam mais úteis em situações em que você deseja
uma con�rmação de tudo ou nada em um grupo de inserções. Um sistema de
comércio eletrônico pode usar reversões em situações em que o cartão de crédito
de um cliente é recusado, optando por não registrar as informações do cliente, o
pedido de compra, a alteração de inventário e assim por diante. Reversões também
são úteis no caso de corrupção de dados, como quando um servidor de banco de
dados experimenta um incidente de falha de hardware.
Bancos de Dados Relacionais e SQL
SQL é a linguagem dos bancos de dados relacionais. É uma linguagem comum que
possibilita que todos se entendem através de uma ampla gama de diferenças. Uma
consulta simples como SELECTde uma tabela será mais ou menos a mesma,
independentemente de você estar usando um banco de dados pequeno, como o
mSQL (miniSQL), ou um sistema robusto como o Oracle 12i Enterprise.
A grande vantagem para você, no desenvolvimento Web, é que, depois de aprender
SQL, você poderá interagir com vários bancos de dados em todas as plataformas
sem uma curva de recapitulação.
Bancos de Dados Suportados por PHP
Se você nunca escolheu um banco de dados antes, a grande variedade de produtos
compatíveis com PHP pode ser vertiginosa no começo. A Tabela abaixo fornece uma
introdução aos vários bancos de dados disponíveis para os usuários PHP.
ATENÇÃO
Um design de integridade de dados alternativo é chamado de atômico.
Os proponentes do paradigma atômico a�rmam que ele é muito mais
rápido e igualmente seguro, mas as transações podem ser mais fáceis
para um grande número de programadores trabalharem, porque ele
coloca mais da lógica na camada de banco de dados. (Converse; Park;
Morgan, 2004. p.239).
Figura 59 - Extensões de Banco de Dados suportados por PHP.
Extensões de Bancos de Dados
Camadas de Abstração
DBA – Database (dbm-style)
Abstraction Layer
Dbx
ODBC
PDO – PHP Data Objects
Vendor Speci�c Database
Extensions
CUBRID
DB++
dBase
�lePro
Firebird/InterBase
FrontBase
IBM DB2 – IBM DB2, Cloudscape and
Apache Derby
Informix
Ingres – Ingres DBMS, EDBC, and
Entreprise Access
Gateway
MaxDB
Mongo – MongoDB driver (legacy)
MongoDB – MongoDB driver
mSQL
Mssql – Microsoft SQL Server
MySQL – MySQL Drivers and Plugins
OCI8 – Oracle OCI8
Paradox – Paradox File ACCess
PostgreSQL
SQLite3
SQLSRV - Microsoft SQL Server Driver
for PHP
Sybase
Tokyo_tyrant
Mas, o Que é o MySQL?
O MySQL é um código aberto e um RDBMS (SQL Relational Database
Management System) que é gratuito para muitos usos.
No início de sua história, o MySQL ocasionalmente enfrentava oposição devido à
falta de suporte para algumas construções SQL básicas, como subseleção e chaves
estrangeiras. O MySQL encontrou uma ampla e entusiasmada base de usuários para
seus termos liberais de licenciamento, desempenho e facilidade de uso. Sua
aceitação foi auxiliada em parte pela ampla variedade de outras tecnologias, como
PHP, Java, Perl, Python e outras que incentivaram seu uso por meio de extensões e
módulos estáveis e bem documentados.
As Bases de dados em geral são úteis, indiscutivelmente a mais útil e consistente
família de produtos de software. Como muitos produtos concorrentes, gratuitos e
comerciais, o MySQL não é um banco de dados até que você forneça alguma
estrutura e forma. Você pode pensar nisso como a diferença entre um banco de
dados e um RDBMS, ou seja, o RDBMS mais os requisitos do usuário são iguais a um
banco de dados.
O MySQL com mais de 10 milhões de instalações, é um dos sistemas de
gerenciamento de banco de dados mais popular para servidores web. Ele foi
desenvolvido em meados da década de 1990, agora é uma tecnologia madura que
alimenta muitos dos destinos de internet mais visitados da atualidade.
Uma razão para seu sucesso é que sua utilização é gratuita. Mas também é
extremamente poderoso e excepcionalmente rápido - pode ser executado, até
mesmo no hardware mais básico e di�cilmente afeta os recursos do sistema. O
MySQL também é altamente escalável, o que signi�ca que ele pode crescer com o
seu site.
Fundamentos do MySQL
Um banco de dados (como já foi comentado) é uma coleção estruturada de
registros ou dados armazenados em um sistema de computador e organizado de
forma que possa ser rapidamente pesquisado e as informações possam ser
rapidamente recuperadas.
O SQL no MySQL signi�ca Structured Query Language. Essa linguagem é baseada
no inglês e também usada em outros bancos de dados, como Oracle e Microsoft
SQL Server. Ele é projetado para permitir solicitações simples de um banco de dados
por meio de comandos como apresentado nas Figuras 34, 35 e 36.
Fonte: EXTENSÕES DE BANCO DE DADOS
Um banco de dados MySQL contém uma ou mais tabelas, cada uma contendo
registros ou linhas. Dentro dessas linhas há várias colunas ou campos que contêm os
dados em si.
Figura 60 - Exemplo de estrutura de um Select
Figura 61 - Exemplo de uma consulta com Select em banco de dados
Figura 62 - Visualização pelo Prompt de Comando da estrutura de um banco de
dados MySQL.
Acesso ao banco de dados
com PHP
AUTORIA
Ricardo Bortolo Vieira
Depois de instalar e con�gurar seu banco de dados MySQL, você pode começar a
escrever scripts PHP que interajam com ele. Aqui, explicaremos todas as funções
básicas que permitem que você passe dados de um site para outro.
Conectando-se ao MySQL
O comando básico para iniciar uma conexão MySQL é mysql_connect($hostname,
$user, $password); se você estiver usando variáveis ou mysql_connect ('localhost',
'root', 'senha'); se você estiver usando strings literais.
O mysql_connect estabelece uma conexão com um servidor MySQL. Todos os
argumentos são opcionais e, caso estejam ausentes, os padrões são assumidos
('localhost', nome de usuário do usuário que possui o processo do servidor, senha
vazia). A cadeia do nome do host também poderá incluir um número de porta. Por
exemplo: "hostname: port".
No caso de uma segunda chamada ser feita para mysql_connect com os mesmos
argumentos, nenhum novo link será estabelecido, mas, em vez disso, o link
identi�cador do link já aberto será retornado.
O link para o servidor será fechado assim que a execução do script terminar, a
menos que seja fechado anteriormente, chamando explicitamente mysql_close.
A senha é opcional, dependendo das características desse usuário do banco de
dados, porém, essa exigência é considerada uma boa prática. Se não, apenas deixe
essa variável desativada. Você também poderá especi�car uma porta e um soquete
para o servidor ($hostname: port: socket).
A função mysqli correspondente é mysqli_connect, que adiciona um quarto
parâmetro, permitindo que você selecione um banco de dados na mesma função
utilizada para a conexão.
A função mysqli_select_db() existe, mas você precisará dela apenas se quiser usar
vários bancos de dados na mesma conexão. Você não precisará estabelecer uma
nova conexão toda vez que quiser consultar o banco de dados no mesmo script.
Você precisará executar essa função novamente, no entanto, para cada script que
interage com o banco de dados de alguma forma.
Em seguida, você deseja escolher um banco de dados para trabalhar:
mysql_select_db ($database); se você estiver usando variáveis. 
mysql_select_db ('phpbook'); se você estiver usando uma String
literal.
Um banco de dados deverá selecionar toda vez que você �zer uma conexão, o que
signi�ca pelo menos uma vez por página ou sempre que mudar de banco de dados.
Caso contrário, você receberá um erro de banco de dados não selecionado. Mesmo
se você criou apenas um banco de dados por daemon, você deve fazer isso, porque
o MySQL também vem com bancos de dados padrão, chamados mysql e teste, que
você pode não estar levando em conta.
Você pode achar conveniente agrupar todas as informações de conexão em uma
função de conexão personalizada e colocá-las em algum lugar onde possa acessá-
las de todos os seus scripts, por exemplo, o diretório de inclusão do PHP, ou no caso
de um servidor virtual, um arquivo de inclusão especí�co do site. Essa função pode
ser visualizada na Figura 63.
Se desejar, você poderia estender essa função criando links (por exemplo, $link1,
$link2) para vários bancos de dados no mesmo servidor. Este código também
registra uma mensagem de erro do MySQL no log de erros do PHP. Agora que você
estabeleceu uma conexão com um banco de dados especí�co, está pronto para
fazer uma consulta.
Fazendo Consultas no MySQL
Uma consulta ao banco de dados do PHP é basicamente um comando do MySQL
que está envolvido em uma pequena função PHP chamada mysql_query ().  É aqui
que você usará os manuais básicos SQL de SELECT, INSERT, UPDATE e DELETE.
Os comandos MySQL para CREATE e DROP, que são usados para criar e descartar
respectivamente uma tabela, também

Outros materiais