Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diretor Geral Gilmar de Oliveira Diretor de Ensino e Pós-graduação Daniel de Lima Diretor Administrativo Eduardo Santini Coordenador NEAD - Núcleo de Educação a Distância Jorge Van Dal Coordenador do Núcleo de Pesquisa Victor Biazon Secretário Acadêmico Tiago Pereira da Silva Projeto Gráfico e Editoração André Oliveira Vaz Revisão Textual Kauê Berto Web Designer Thiago Azenha FICHA CATALOGRÁFICA FACULDADE DE TECNOLOGIA E CIÊNCIAS DO NORTE DO PARANÁ. Núcleo de Educação a Distância; VIEIRA, Ricardo Bortolo. Programação para Internet. Ricardo. Bortolo Vieira. Paranavaí - PR.: Fatecie, 2020. 121 p. Ficha catalográfica elaborada pela bibliotecária Zineide Pereira dos Santos. UNIFATECIE Unidade 1 Rua Getúlio Vargas, 333, Centro, Paranavaí-PR (44) 3045 9898 UNIFATECIE Unidade 2 Rua Candido Berthier Fortes, 2177, Centro Paranavaí-PR (44) 3045 9898 UNIFATECIE Unidade 3 Rua Pernambuco, 1.169, Centro, Paranavaí-PR (44) 3045 9898 UNIFATECIE Unidade 4 BR-376 , km 102, Saída para Nova Londrina Paranavaí-PR (44) 3045 9898 www.fatecie.edu.br As imagens utilizadas neste livro foram obtidas a partir do site ShutterStock Professor Me. Ricardo Bortolo Vieira ● Graduação em Ciência da Computação pela Universidade Estadual de Maringá (2003). ● Especialização de Engenharia de Software pela Universidade Estadual de Lon- drina (2007). ● MBA em Gestão em Saúde Suplementar pela São Marcos (2009). ● Especialização de Gerência de Projetos pela Fundação Getúlio Vargas (2011). ● Mestre em Desenvolvimento de Tecnologias pelo Instituto LACTEC.(2017) ● Doutorando em Informática para PUCPR . ● Gerente de Desenvolvimento de software e profissional do mercado de TI a mais de 12 anos. ● Professor de nível superior da Faculdade Cidade Verde de Maringá (FCV), Universidade Federal do Paraná (UFPR), Faculdade de Engenharia e Inovação Tecnológica (FEITEP), Fundação Getúlio Vargas (FGV) e Pontifícia Universida- de Católica (PUC). ● Experiência na área de Ciência da Computação, com ênfase em Sistemas de Computação e Automação e Robótica, além de experiência em Administração com ênfase em Gerenciamento de Projetos. ● Lattes: http://lattes.cnpq.br/5731213234468142 AUTOR http://lattes.cnpq.br/5731213234468142 Seja muito 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á aju- dá-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 Lin- guagem 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íficas 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! APRESENTAÇÃO DO MATERIAL SUMÁRIO UNIDADE I ...................................................................................................... 6 Programação para a Internet UNIDADE II ................................................................................................... 35 Programação para a Internet UNIDADE III .................................................................................................. 61 Programação para a Internet UNIDADE IV .................................................................................................. 86 Programação para a Internet 6 Plano de Estudo: 1. PROGRAMAÇÃO PARA WEB 2. TIPOS DE ARRAYS 3. TIPOS DE OPERADORES 4. CONSIDERAÇÕES FINAIS Objetivos de Aprendizagem: • Conceituar e contextualizar a programação web em nosso dia a dia. • Compreender os tipos de Array e suas utilizações. • Estabelecer a importância dos Tipos de Operadores. UNIDADE I Programação para a Internet Professor Mestre Ricardo Vieira 7UNIDADE I Programação para a Internet 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 simplificada e detalhada, apresentamos também os con- ceitos de utilização de arrays, que será muito utilizado pelos programadores para sites, sistemas online e aplicações web. E por fim, 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 profissional- mente. Tenha um bom aprendizado e um excelente aproveitamento. Então vamos lá! Bons estudos! 8UNIDADE I Programação para a Internet 1. PROGRAMAÇÃO PARA WEB 1.1. Introdução Programação Web Para se programar para web, é preciso conhecer primeiro o que é web. A internet teve seu início no final dos anos 1960. Com a iniciativa do governo americano, especifi- 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 pais. Surgiu então, como solução, um sistema em que os dados eram divididos em pa- cotes 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 fluir 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, 9UNIDADE I Programação para a Internet que de maneira simplória poderiam denominar esse conjunto de simples tecnologias, porém extremamente confiável de internet. O nome internet começou a ser usado em 1973, derivado do conceitode “inter- networking” 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. 1.1.1. 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 computado- res até os dias atuais. ● 1957 – A União Soviética lança o Sputnik, primeiro satélite artificial 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 Uni- versidade 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. Primei- ro 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 10UNIDADE I Programação para a Internet de e-mail intra máquina (SENDMSG) e um programa experimental de transfe- rê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 – USE- NET. 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 (In- ternet 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 fibra ó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 a sua 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, Norue- ga, Dinamarca e Suécia ligam-se à internet. 11UNIDADE I Programação para a Internet ● 1990 – Surgiu nos EUA a primeira Internet Service Provider Commercial. Após ter sido absorvida pela internet, a ARPANET deixa, definitivamente, 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 pro- cura 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 Vir- gens 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 Com- munications 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 Cale- dônia, Nicarágua, Nigéria, Panamá, Filipinas, Senegal, Sri Lanka, Suazilândia, Uruguai, Uzbequistão, Jamaica e Jordânia entram para a rede. ARPANET/ 12UNIDADE I Programação para a Internet Internet celebra seu 25º aniversário. Aparecimento das primeiras páginas de comércio eletrônico. Localidades começaram a conectar-se diretamente à in- ternet. 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), fer- ramentas 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 progra- madores da SUN Microsystems lançam o Java – linguagem de programação orientada à internet. Entram na rede a Etiópia, Costa do Marfim, 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 fica 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. 13UNIDADE I Programação para a Internet ● 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 dis- tribui 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 Abi- lene, 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. 1.2. O que é PHP? O PHP é a linguagem de desenvolvimento da Web escrita por e para desenvolve- dores da Web. PHP significa: 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, 14UNIDADE I Programação para a Internet 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 é seme- lhante à 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-fly, 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 final. 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 oficial do Apache HTTP Server, o servidor Web líder de mer- cado que executa cerca de 67% da World Wide Web (de acordo com a amplamente citada pesquisa de servidor da Web da Netcraft). Isso significa 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 eficiente e manutenção simplificada. Como o Apache Server, o PHP é totalmente multiplataforma, o que significa 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. 1.2.1. 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 final de 1994. Versões iniciais era um wrapper CGI que o ajudava a acompanhar as pessoas que olhavam para o seu site pessoal. 15UNIDADE I Programação para a Internet A primeira versão usada por outros estava disponível no início de 1995 e era co- nhecida 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 pes- soa 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. 16UNIDADE I Programação para a Internet 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çãoorientada a objetos (OOP). O PHP há muito tempo concordou com o modelo de programação de ob- jetos com funções que permitem que os programadores de objetos obtenham resultados e informações de maneira familiar a eles. Esses esforços ficaram aquém do ideal para muitos programadores, no entanto, e os esforços para forçar o PHP a construir sistemas totalmen- te 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ífico 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 definitivo no final de 2015. Apesar da introdução desta versão, há uma expectativa que demore algum tempo até que a mes- ma 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. 17UNIDADE I Programação para a Internet 2. TIPOS DE ARRAYS 2.1. 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 co- muns 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 (classificaçã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 empa- cotado e tratado como um é apropriado para um array PHP. 18UNIDADE I Programação para a Internet 2.1. Mas o que são Arrays PHP? Arrays PHP são matrizes associativas com um pouco de maquinário extra, inserido. A parte associativa significa 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á procu- rar 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 agrupa- dos por colchetes ([ ]) em vez de chaves ({ }). Por fim, 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 tra- 19UNIDADE I Programação para a Internet tamos 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 automatica- mente 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. 2.2. 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. 2.3. 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 no- narray) 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[ ]. 2.4. 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 especificaçã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 especificação de chaves. O resultado é 20UNIDADE I Programação para a Internet que os elementos serão armazenados na matriz na ordem especificada 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çãopara $ 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 des-associada 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 se- quenciais que devem ter índices numéricos contando para cima a partir de zero. 2.5. Especificando Í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 especificar 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 =>. 21UNIDADE I Programação para a Internet 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 cha- mando 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. 2.6. Funções Retornando Arrays A maneira final de criar um array em um script é chamar uma função que retorna um array. Esta pode ser uma função definida 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: 22UNIDADE I Programação para a Internet $ meu_array = range (1,5); é equivalente a: $ meu_array = array (1, 2, 3, 4, 5); 2.7. Recuperando Valores Depois de armazenarmos alguns valores em uma matriz, como podemos obtê-los novamente? 2.7.1. Recuperando por índice A maneira mais direta de recuperar um valor é usar seu índice. Se tivermos ar- mazenado 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. 2.7.2. A construção list () Há várias outras maneiras de recuperar valores de arrays sem usar chaves, a maio- ria 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 ($ fru- ta_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 suficientes). As variáveis em list () serão atribuídas a elementos da matriz na ordem em que foram origi- nalmente 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 () 23UNIDADE I Programação para a Internet 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. 2.8. 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 con- fusas 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�; 24UNIDADE I Programação para a Internet 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 cha- ves. 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 florroxa é iris Há um motivo pelo qual usamos o operador de concatenação de String ( . ) na de- claração impressa anterior, em vez de simplesmente incorporar a $ cornucopia [$ tipo_de- sejado] [$ 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 ]} ”); 25UNIDADE I Programação para a Internet 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 en- contrada, 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 ]); 26UNIDADE I Programação para a Internet 3 . TIPOS DE OPERADORES 3.1. Operadores Aritméticos Só podem ser utilizados quando os operandos são números (integer ou float). Se forem de outro tipo, terão seus valores convertidos antes da realização da operação. 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. 3.2. Operadores de Strings Existe apenas um operador de cadeia de caracteres - o operador de concatenação (“.”). Exemplo: 27UNIDADE I Programação para a Internet $ a = “Olá”; $ b = $ a.”Mundo!”; // agora $ b = “Olá mundo”! 3.3. 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 significa que o operando à esquerda é definido como o valor da expressão nos direitos (isto é, “é definido 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: $ 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, definir 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! “; 3.4. Operadores bit a bit Operadores bit a bit permitem que você ative ou desative bits específicos dentro de um inteiro. 28UNIDADE I Programação para a Internet Tabela 02 - Operadores bit a bit. 3.5 Operadores lógicos Tabela 03 - 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.) 29UNIDADE I Programação para a Internet 3.6 Operadores de Comparação Os operadores de comparação, como o próprio nome sugere, permite comparar dois valores. Tabela 04 - Operadores de Comparação. 3.7. 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. 3.8. Operadores de Incremento e Decremento Tabela 05 - Operadores de Incremento e 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 utiliza- do depois, retorna o valor da variável já incrementado ou decrementado. 30UNIDADE I Programação para a Internet 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. 3.9. Operadores de Ordem de Precedência dos Operadores A precedência de um operador especifica como “estreitamente” ele une duas ex- pressõ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 prece- dência mais baixa, listados primeiro. Tabela 06 - Operadores de Ordem de Precedência dos Operadores 31UNIDADE I Programação para a Internet SAIBA MAIS Como criar minha primeira classe em PHP Caro(a) aluno(a), dando continuidade no aprimoramento profissional, 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. https://www.devmedia.com.br/como-criar-minha-primeira-classe-em- -php/38895 REFLITA “O futuro não é definido 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, fica a reflexão para todos nós, de como pen- sar 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. Referência: https://citacoes.in/citacoes/1841701-alan-kay-the-future-is-not- -laid-out-on-a-track-it-is-somet/ https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-php/38895 https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-php/38895 32UNIDADE I Programação para a Internet 4. CONSIDERAÇÕES FINAIS Caro(a) aluno(a), chegamos ao final 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 superficial, 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á! 33UNIDADE I Programação para a Internet Material Complementar LIVRO Título: Desenvolvimento web com PHP e MySQL Autor: Evaldo Junior Bento. Editora: Casa do Código. Sinopse: Imagine a internet na qual você pode apenas consumir conteúdos, como se fosse um jornal, uma revista, ou ainda, um programa na televisão. Chato, né? O segredo da famosa web 2.0 é a capacidade de interação entre as pessoas e os serviços online. Aprenda com esse livro os primeiros passos para usar o PHP, uma ferramenta que possibilita a criação de páginas web dinâmicas. Veja também como integrar o PHP ao MySQL, um dos bancos de dados mais usados no mundo. A dupla PHP e MySQL é usada por diversos tipos de aplicações e sites, de blogs até portais de notícias e grandes redes sociais. FILME/VÍDEO Título: Por que aprender PHP Ano: 2017. Sinopse: Existem muitas razões para usar o PHP para a progra- mação de aplicações web. Em primeiro lugar, é uma linguagem livre, sem taxas de licenciamento, de modo que o custo de usá-la é mínimo. Além disso, você tem a liberdade de escolha de sistema operacional e de servidor web. Para lhe ajudara planejar seus estudos separamos aqui um DevCast em que demos algumas dicas para quem está iniciando: Link do vídeo: https://www.devmedia.com.br/guia/programador- -php/38193 https://www.devmedia.com.br/guia/programador-php/38193 https://www.devmedia.com.br/guia/programador-php/38193 34UNIDADE I Programação para a Internet REFERÊNCIAS BENTO, Evaldo Junior. Desenvolvimento web com PHP e MYSQL. São Paulo. Casa do Código Editora. 2013. MAZZA, Lucas. HTML5 e CSS3 - Domine a web do futuro. São Paulo. Casa do Código Editora. 2012. BAKKEN, Stig Saether et al. PHP manual. Zend Technologies, Ltd, 1999. CONVERSE, Tim; PARK, Joyce; MORGAN, Clark. PHP5 and MySQL bible. John Wiley & Sons, 2004. 35 Plano de Estudo: 1. TIPOS DE FUNÇÕES 2. RECEBENDO DADOS DE FORMULÁRIOS 3. VALIDANDO DADOS DE FORMULÁRIOS 4. CONSIDERAÇÕES FINAIS Objetivos de Aprendizagem: • Conceituar e contextualizar os tipos de funções da Linguagem PHP. • Compreender como são recebidos os dados de formulários. • Estabelecer a importância da validação de dados de formulários dentro da programação PHP. UNIDADE II Programação para a Internet Professor Mestre Ricardo Vieira 36UNIDADE II Programação para a Internet INTRODUÇÃO Esta unidade inicia os estudos com uma breve introdução aos Tipos de funções. Você verá nesta unidade, como é definida uma função, os argumentos e muito mais. Com o estudo mais aprofundado e específico 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 profissional. Então vamos aos estudos! Agora é mão na massa e bom estudo! 37UNIDADE II Programação para a Internet 1. TIPOS DE FUNÇÕES 1.1. 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). 1.1.1. Definição de Função A Sintaxe básica para definições de função têm a seguinte forma: Figura 26. Exemplo de definição de função. Elaborado pelo autor, 2019. 38UNIDADE II Programação para a Internet Ou seja, as definiçõ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 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, indepen- dentemente da capitalização. A versão curta do que acontece quando uma função definida pelo usuário é cha- mada é: 1. O PHP procura a função pelo seu nome (você receberá um erro se a função ainda não tiver sido definida). 2. O PHP substitui os valores dos argumentos de chamada (ou os parâmetros reais) pelas variáveis na lista de parâmetros da definiçã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 for- necido. Caso contrário, a função será concluída após a última instrução ser executada, sem retornar um valor. 1.2. Exemplo de definiçã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 com- pradores de supermercados rotineiramente usam seus navegadores da Web para acessar nosso prático site de comparação de preços). 39UNIDADE II Programação para a Internet Figura 27. Exemplo de definição de função. Elaborado pelo autor, 2019 A figura 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 28- Exemplo de definição de função reescrita. Elaborado pelo autor, 2019. Nossa função melhor_negocio, apresentado na figura 02, abstrai as três linhas no código anterior que fizeram 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 figura 29. 40UNIDADE II Programação para a Internet Figura 29 - Outro exemplo de definição de função. Elaborado pelo autor, 2019. Nossa primeira função usou a declaração de retorno para enviar de volta um re- sultado 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. 1.2.1. Argumentos da Função As informações podem ser passadas para as funções através da lista de argumen- tos, 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 30- Exemplo de Argumentos da Função.Elaborado pelo autor, 2019. 1.3.1. Passagem de Argumentos por 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 41UNIDADE II Programação para a Internet você deseja permitir que uma função modifique 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 definição da função, conforme figura 31. Figura 31- Exemplo de Passagem de Argumentos por Referência. 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 figura 32. Figura 32 - Exemplo de Passagem de Argumentos por Referência. Elaborado pelo autor, 2019. 1.3.2. Argumentos com Valores Pré-Definidos (Padrão) Uma função pode definir valores padrão no estilo C ++ para argumentos escalares da seguinte forma: Figura 33- Exemplo de Argumentos com Valores Padrão. Elaborado pelo autor, 2019. 42UNIDADE II Programação para a Internet 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 34 - Exemplo de Argumentos com Valores Padrão. Elaborado peloautor, 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 35- Exemplo de Argumentos com Valores Padrão. Elaborado pelo autor, 2019. A saída deste exemplo é: Fazendo uma tigela de framboesa acidophilus. 43UNIDADE II Programação para a Internet 2. RECEBENDO DADOS DE FORMULÁRIOS 2.1. 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. 2.2. Formulários HTML Você já sabe muito do que precisa para manipular formas no PHP. Existem alguns pontos específicos 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á especificar um valor em vez de deixar HTML enviar o valor padrão. Considere substituir um valor numérico por um valor de 44UNIDADE II Programação para a Internet 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 definido 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 apre- sentado na figura 36. Figura 36- Exemplo do comando de envio com o botão submit. Elaborado pelo autor, 2019. 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, confor- me apresentado na figura 37. Figura 37- Exemplo de script PHP com parâmetro name. Elaborado pelo autor, 2019. 45UNIDADE II Programação para a Internet 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 38 - Exemplo de formulário HTML. Elaborado pelo autor, 2019. O formulário apresentado na figura 39 utiliza o método POST para envio das infor- mações, em um “script.php”: Figura 39 - Uso de método POST para envio de formulário. Elaborado pelo autor, 2019. Na figura 13 vemos um exemplo de como utilizar o formulário criado na figura 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 configuraçã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, 46UNIDADE II Programação para a Internet G e C, referentes a $_POST, $_GET e $_COOKIE respectivamente. Exemplo de uso: Figura 40 - Exemplo da utilização da função import_request_variables.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 figura 41. Figura 41 - Exemplo de uma junção no começo do formulário.Elaborado pelo autor, 2019. Serão extraídas cada campo para uma variável diferente: $nome, $endereco e $idade. 2.3. 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 figuras 42 e 43. Figura 42- Exemplo de hidden.html. Elaborado pelo autor, 2019. 47UNIDADE II Programação para a Internet Figura 43- Exemplo de hidden.php. Elaborado pelo autor, 2019. 2.4. 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 44- Exemplo de texts.html. Elaborado pelo autor, 2019. Figura 45 - Exemplo de texts.php. Elaborado pelo autor, 2019. 2.5. Campos Radio Campos Radio permitem um relacionamento de um para muitos entre identificador e valor, ou seja, eles têm múltiplos possíveis valores, mas somente um pode ser pré-exibido ou selecionado. Eles são melhores 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 identificarem. 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. 48UNIDADE II Programação para a Internet 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”. Cada pergunta possui 5 possíveis respostas. Cada resposta é um radio, onde os 5 radios dessa pergunta possuem o mesmo identificador, mas cada um com valor diferente. Este exemplo está presente nas figuras 46 e 47. Figura 46 - Exemplo de radio.html. Elaborado pelo autor, 2019. Figura 47 -Exemplo de radio.php. Elaborado pelo autor, 2019. 2.6. 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 verificaçã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 final do nome, para o PHP interpretar como array, veja o código exemplo nas figuras 48 e 49. 49UNIDADE II Programação para a Internet Figura 48- Exemplo de checkbox.html. Elaborado pelo autor, 2019. Figura 49 - Exemplo de checkbox.php. Elaborado pelo autor, 2019. 2.7. 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 final do nome, para o PHP interpretar como array. Nos exemplos das figuras 50 e 51, mostramos o funcionamento e tratamento de ambas. 50UNIDADE II Programação para a Internet Figura 50 - Exemplo de um select.html. Elaborado pelo autor, 2019. Figura 51 - Exemplo de um select.php. 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. 51UNIDADE II Programação para a Internet 3. VALIDANDO DADOS DE FORMULÁRIOS 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 ficaram 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. 3.1. Validação com Javascript Começaremos pela validação em javascript. Na figura 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. 52UNIDADE II Programação para a Internet Figura 52 - Exemplo validação de um código html. Elaborado pelo autor, 2019. Esse é o nosso formulário, que deverá ser exibido como mostra a figura 53. Figura 53 - Aparência do formulário. 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 figura 53. 53UNIDADE II Programação para a Internet Figura 54 - Código javascript de validação. 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 figura 55. Figura 55 - Resultado da validação. 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. 54UNIDADE II Programação para a Internet 3.2. 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 figura 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 56 - Validando formulário com HTML5. Elaborado pelo autor, 2019. Você não pode esquecer que para usar recursos HTML5 precisará colocar o doc- type referente à linguagem. Como você pode ver, foi escrito muito menos código do que anteriormente e na figura 57 poderá ver que o resultado é o mesmo da validação com javascript. Figura 57 - Resultado da validação em HTML5. Elaborado pelo autor, 2019. 55UNIDADE II Programação para a Internet 3.3. 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 figura 58 como isso ficaria. Figura 58 - Inserindo mensagem junto com mensagem padrão. 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. https://www.devmedia.com.br/curso/introducao-ao-php/2171 https://www.devmedia.com.br/curso/introducao-ao-php/2171 56UNIDADE II Programação para a Internet REFLITA “Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar. Mas não é nada disso. Significa 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, so- mente 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! Referência: https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-tec- nologia-e-informatica.htm https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-tecnologia-e-informatica.htm https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-tecnologia-e-informatica.htm 57UNIDADE II Programação para a Internet CONSIDERAÇÕES FINAIS Caro(a) Aluno(a)! Chegamos ao final 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 fim. 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 dedi- cação para chegar até aqui. Desejo todo o sucesso que você puder conquistar em sua vida pessoal e profissional. Sucesso!!! Um grande abraço! 58UNIDADE II Programação para a Internet Leitura Complementar Caro(a) aluno(a), na área da tecnologia da informação, é comum haver sempre uma reciclagem dos profissionais. Tudo muda o tempo todo. Tecnologias novas surgem, a forma de fazer a mesma coisa muda, se tornando mais eficiente. E porque 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. Espero que você aproveite bem este artigo e que ele possa te orientar dentro da Programação para Internet. Link: https://www.devmedia.com.br/novidades-do-php-5-4/27850 https://www.devmedia.com.br/novidades-do-php-5-4/27850 59UNIDADE II Programação para a Internet Material Complementar LIVRO Título: PHP e Laravel: Crie aplicações web como um verdadeiro artesão Autor: Rodrigo Turini. Editora. Casa do Código. Sinopse: Está começando com frameworks PHP? Então, que tal criar sites e aplicações web, de forma extremamente produtiva, com código bem escrito, de fácil manutenção e organizado? Sim, isso é possível com o Laravel 5.1.Nesse livro, Rodrigo Turini mostra os principais recursos do Lara- vel 5.1, um importante framework PHP para desenvolvimento web. Aprenda como escrever código elegante, simples e crie aplicações robustas e escaláveis em PHP. Voltado para iniciantes e seguindo uma didática prática, em poucas páginas você irá escrever suas primeiras funcionalidades e, em pouco tempo, terá um código funcionando e se comunicando com um banco de dados, e implementará funcionalidades reais. FILME/VÍDEO Título: Curso de PHP Ano: 2014 Sinopse: Curso completo para quem quer aprender a criar sites utilizando as tecnologias de HTML5 + CSS3 + JavaScript de uma maneira simples e objetiva. O professor Gustavo Guanabara vai mostrar passo a passo como criar um site completo utilizando as três principais tecnologias do momento. Link do vídeo: https://www.cursoemvideo.com/course/curso-php- -iniciante/ https://www.cursoemvideo.com/course/curso-php-iniciante/ https://www.cursoemvideo.com/course/curso-php-iniciante/ 60UNIDADE II Programação para a Internet REFERÊNCIAS BAKKEN, Stig Saether et al. PHP3 manual. Zend Technologies, Ltd, 1999. BENTO, Evaldo Junior. Desenvolvimento web com PHP e MYSQL. São Paulo. Casa do Código Editora. 2013. CONVERSE, Tim; PARK, Joyce, MORGAN, Clarck. PHP5 and MySQL Bible. Indianapolis. Wiley publishing, inc. 2004. GUTMANS, Andi; BAKKEN, Stig; RETHANS, Derick. PHP 5 Power Programming (Bruce Perens’ Open Source Series). Prentice Hall PTR, 2004. MAZZA, Lucas. HTML5 e CSS3 - Domine a web do futuro. São Paulo. Casa do Código Editora. 2012. 61 Plano de Estudo: 1. INTRODUÇÃO À BANCO DE DADOS 2. ACESSO AO BANCO DE DADOS COM PHP 3. CONSIDERAÇÕES FINAIS 4. REFERÊNCIAS Objetivos de Aprendizagem: • Conceituar e contextualizar a utilização de Banco de Dados. • Compreender os tipos de acessos ao Banco de Dados utilizando o PHP. • Estabelecer a importância do Banco de Dados MySQL e o PHP. UNIDADE III Programação para a Internet Professor Mestre Ricardo Vieira 62UNIDADE III Programação para a Internet 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 pri- meira 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!!! 63UNIDADE III Programação para a Internet 1. INTRODUÇÃO A BANCO DE DADOS Poderá ser definido 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 significado implícito, mas o significado 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 significado 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ífico; ● Um banco de dados deverá possuir um conjunto predefinido 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 refletida no banco de dados. 1.1. 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. Você poderá 64UNIDADE III Programação para a Internet 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: https://netbeans.org/kb/docs/ide/install-and-configure-mysql-server_pt_BR.html Este é o link direto para fazer o download do MySQL: https://dev.mysql.com/downloads/installer/ Neste site você poderá encontrar o IDE para realizar a programação: https://www.eclipse.org/oxygen/ https://www.eclipse.org/downloads/ Outra opção de IDE para realizar a programação: http://brackets.io/ 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 edi- tores de textos, não somente de PHP, nela você terá suporte para outras linguagens de programação como Java, C, C++, C#, Python, etc... 1.2. 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 ou grandes tabelas de hash na memória, mas quando profissionais falam sobre bancos de dados, eles se referem a um aplicativo independente, como Oracle ou SQL Server, etc. (Converse; Park ;Morgan, 2004. p.233). 1.3. 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. https://dev.mysql.com/downloads/installer/ https://www.eclipse.org/oxygen/ https://www.eclipse.org/downloads/ http://brackets.io/ 65UNIDADE III Programação para a Internet 1.4. 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 infinito 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. 1.5. 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. 1.6. 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.
Compartilhar