Escolar Documentos
Profissional Documentos
Cultura Documentos
Gilmar de Oliveira
Diretor Administrativo
Eduardo Santini
UNIFATECIE Unidade 4
BR-376 , km 102,
FICHA CATALOGRÁFICA Saída para Nova Londrina
Paranavaí-PR
FACULDADE DE TECNOLOGIA E
(44) 3045 9898
CIÊNCIAS DO NORTE DO PARANÁ.
Núcleo de Educação a Distância;
VIEIRA, Ricardo Bortolo. www.fatecie.edu.br
Programação para Internet. Ricardo. Bortolo Vieira.
Paranavaí - PR.: Fatecie, 2020. 121 p.
As imagens utilizadas neste
Ficha catalográfica elaborada pela bibliotecária livro foram obtidas a partir
Zineide Pereira dos Santos. do site ShutterStock
AUTOR
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
UNIDADE I
Programação para a Internet
Professor Mestre Ricardo Vieira
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.
6
INTRODUÇÃO
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.
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.
● 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.
● 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.
● 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.
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,
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.
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.
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 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.
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:
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:
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.
A maneira simples de criar uma Array é agir como se uma variável já fosse uma
matriz e atribuísse valor a ela, assim:
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[ ].
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.
$ 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.
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:
Finalmente, como dissemos anteriormente, você pode criar um array vazio cha-
mando a função de array sem argumentos. Por exemplo:
cria um array sem elementos. Isso pode ser útil para passar para uma função que espera
uma matriz como argumento.
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:
é equivalente a:
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.
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:
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:
Essa é uma matriz de cinco dimensões com chaves sucessivas que acontecem
neste caso, para ser cinco inteiros sucessivos.
$ 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 ]);
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”).
“$ a = 3” é 3.
$ a = $ a + 5;
$ b = “ Hello “;
$ b. = “ There!”;
Operadores bit a bit permitem que você ative ou desative bits específicos dentro de
um inteiro.
Essa expressão retorna para expr2 se expr1 for avaliada como verdadeira e expr3
se expr1 for avaliada como false.
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.
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/
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.
Até lá!
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 ajudar a planejar seus
estudos separamos aqui um DevCast em que demos algumas
dicas para quem está iniciando:
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.
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.
35
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!
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.
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).
Figura 28- Exemplo de definição de função reescrita. 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.
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
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.
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.
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 pelo autor, 2019.
Figura 35- Exemplo de Argumentos com Valores Padrão. Elaborado pelo autor, 2019.
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
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.
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.
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?”
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.
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.
Serão extraídas cada campo para uma variável diferente: $nome, $endereco e
$idade.
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.
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.
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.
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.
Vamos falar sobre uma funcionalidade do HTML5 que é muito útil na criação de
validações de formulários, é o HTML5 Validator.
Esse é o nosso formulário, que deverá ser exibido como mostra a figura 53.
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.
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.
Dessa forma nosso formulário será validado, de forma simples e fácil, mas com um
código extenso, como podemos ver.
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.
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 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
Referência:
https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-tec-
nologia-e-informatica.htm
Caro(a) Aluno(a)!
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!
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
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.
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.
Plano de Estudo:
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.
61
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.
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
Observação:
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. Você pode definir 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.
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 significam 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.
Figura 59 - Extensões de Banco de Dados suportados por PHP. (Fonte: EXTENSÕES DE BANCO DE DADOS)
Uma razão para seu sucesso é que sua utilização é gratuita. Mas também é ex-
tremamente poderoso e excepcionalmente rápido - pode ser executado, até mesmo no
hardware mais básico e dificilmente afeta os recursos do sistema. O MySQL também é
altamente escalável, o que significa que ele pode crescer com o seu site.
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.
Depois de instalar e configurar 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.
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 identificador do
link já aberto será retornado.
O link para o servidor será fechado assim que a execução do script terminar, a
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.
Um banco de dados deverá selecionar toda vez que você fizer uma conexão, o
que significa 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.
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ífico, está pronto para fazer uma consulta.
Os comandos MySQL para CREATE e DROP, que são usados para criar e descar-
tar respectivamente uma tabela, também podem ser usados com uma função PHP se você
não deseja fazer seus bancos de dados usando o cliente MySQL.
Você poderá escrever uma consulta da maneira mais simples possível, da seguinte
maneira: mysql_query (“SELECT Nome FROM info_pessoal WHERE ID <10”);
Outra vantagem de atribuir a String de consulta a uma variável é que você pode
visualizar a consulta com mais facilidade se encontrar um erro. É claro, você faria isso
escrevendo a variável em um log de erros - nunca descarregando para o navegador em
produção!
A função mysql_query toma como argumentos a String de consulta (que não deve
ter um ponto-e-vírgula entre aspas) e, opcionalmente, um identificador de link. A menos que
você tenha várias conexões, não é necessário o identificador do link. Ele retorna um valor
inteiro TRUE (diferente de zero) se a consulta foi executada com sucesso, mesmo que
nenhuma linha tenha sido afetada. Ele retorna um inteiro FALSE se a consulta foi ilegal ou
não executada corretamente por algum outro motivo.
Figura 64. Exemplo de consulta no banco de dados. Elaborado pelo autor, 2019.
Se sua consulta for uma instrução SELECT, você poderá usar mysql_num_rows($re-
sult) para descobrir quantas linhas foram retornadas por um SELECT bem-sucedido.
Uma coisa que muitas vezes parece temporariamente inibir os novos usuários do
PHP é o conceito de buscar dados do PHP. Seria lógico supor que o resultado de uma
consulta será os dados desejados, mas isso não está correto. O resultado de uma consulta
PHP é um inteiro representando o sucesso ou a falha ou a identidade da consulta.
Esse código vai gerar as linhas especificadas do banco de dados, cada linha con-
tendo uma linha ou as informações associadas a um ID exclusivo (se houver).
Também é possível usar MYSQL_BOTH como segundo valor, mas como esse é o
padrão, é redundante.
● Identificador de resultado;
● Identificador de linha;
● Field (opcionalmente).
Field pode obter o valor do deslocamento de campo como acima, ou seu nome
como em um array associativo (“Sobrenome”), ou seu nome de tabela de ponto de campo
MySQL (“info_pessoal.Sobrenome”).
Use o offset, se for possível, pois é substancialmente mais rápido que os outros
dois. Melhor ainda, não use essa função com qualquer frequência. Uma consulta bem
formada quase sempre retornará um resultado específico com mais eficiência.
Você nunca deverá usar mysql_result() para retornar informações que estão dispo-
níveis para você através de uma função PHP-MySQL pré-definida. O normal é inserir uma
linha e, em seguida, selecionar seu número de identificação (não é considerada um boa
prática se você selecionar MAX (ID)!). Use mysql_insert_id().
Uma função especial do MySQL pode ser usada com qualquer uma das funções
de busca para designar mais especificamente o número da linha desejado. Isto é mys-
ql_data_seek(), que toma como argumentos o identificador de resultado e um número de
linha e move o ponteiro de linha interno para aquela linha do conjunto de dados. O uso
mais comum dessa função é reiterar um conjunto de resultados desde o início redefinindo
o número da linha para zero, semelhante a uma redefinição de matriz. Isso elimina outra
chamada de banco de dados onerosa para obter dados que você já tem no lado do PHP.
Veja um exemplo de como usar mysql_data_seek() na Figura 69.
Figura 70. Exemplo de função de verificação de erros. Elaborado pelo autor, 2019.
Observe a sintaxe: a palavra ou (você poderia alternativamente usar ||, mas isso
não é tão divertido quanto dizer or die) e apenas um ponto-e-vírgula por par de alternativas.
Até muito recentemente, o MySQL via PHP retornava mensagens de erro muito
inseguras e sem iluminação (exceto para crackers) ao encontrar um problema com uma
consulta ao banco de dados. A função die() era frequentemente usada como uma forma
de exercer controle sobre o que o público veria no tratamento de erro. Agora que nenhuma
mensagem de erro é retornada, o die() pode ser ainda mais necessário, a não ser que você
queira que seus visitantes fiquem imaginando o que aconteceu.
Você poderá, se desejar, realmente criar seus bancos de dados com PHP ao in-
vés de usar a ferramenta cliente MySQL. Essa prática tem vantagens em potencial, você
poderá usar um front-end atraente que possa atrair aqueles que acham o cliente de linha
de comando do MySQL simples ou meticuloso de usar, contrabalançado por uma grande
desvantagem, que é a segurança.
Para criar um banco de dados a partir do PHP, o usuário de seus scripts precisará
ter privilégios de CREATE / DROP no MySQL. Isso significa que qualquer um poderá se
apossar de seus scripts poderá acabar com todos os seus bancos de dados e seus con-
teúdos com a maior facilidade. Esta não é uma ótima ideia do ponto de vista de segurança.
Além disso, a maioria dos hosts da Web externos, de maneira muito sensata, não permite
que você faça isso em seus servidores de qualquer maneira.
Se você estiver pensando em criar bancos de dados com PHP, faça um grande
favor a si mesmo e, pelo menos, não armazene o nome de usuário e a senha do banco de
dados em um arquivo de texto. Faça você mesmo digitar seu nome de usuário e senha do
banco de dados em um formulário e passar as variáveis para o manipulador de inserção
toda vez que usar esse script. Este é um caso em que manter as variáveis em
um arquivo
de inclusão fora da sua árvore da Web não é uma precaução suficiente.
● mysql_create_db (): Cria um banco de dados no host designado, com o nome espe-
cificado nos argumentos;
● mysql_drop_db (): Apaga o banco de dados especificado;
● mysql_query (): passa definições de tabela e descarta essa função.
Um script básico de geração de banco de dados pode ser visualizada no Figura 73.
Figura 73. Exemplo de script básico de geração de banco de dados. Elaborado pelo autor, 2019.
Várias outras ferramentas GUI estão disponíveis e não são específicas do banco
de dados, mas provavelmente funcionarão com o MySQL. Como este banco de dados se
tornou cada vez mais popular, um número de aplicações para Windows e Linux entraram
em jogo que permitem que você administre bancos de dados MySQL na forma gráfica com
a qual você pode estar acostumado. Assim como suas contrapartes da Web, esses apli-
cativos oferecem controle administrativo completo, mas sem a dor de cabeça de se expor
ao risco de segurança de uma interface baseada na Web. A lista muda frequentemente à
medida que o software vai e vem, portanto, uma listagem aqui provavelmente sairia muito
desatualizada. No entanto, o site MySQL mantém uma lista bastante abrangente em www.
mysql.com/portal/software/index.html.
Se você insistir em usar uma ferramenta GUI da Web para projetar seus bancos de
dados, pelo menos, minimizar os riscos de segurança, apenas usando-o em uma máquina
de desenvolvimento dentro do firewall. Depois de manipular o design do banco de dados
de acordo com o conteúdo que desejar, você poderá iniciar um despejo de banco de dados
e mover toda a estrutura e o código para um servidor de banco de dados de produção.
Não use o PHPMyAdmin ou qualquer outro GUI da Web em produção, a menos que seja
absolutamente necessário.
Para saber mais sobre a ferramenta phpMyAdmin, como Manual de Referências do
MySQL, Segurança MySQL e muito mais, você poderá consultar no site da Oracle:
https://www.oracle.com/search/results?cat=mysql&Ntk=SI-ALL5&Ntt=phpMyAdmin
https://www.devmedia.com.br/php-e-mysql-conectando-e-exibindo-dados-de-forma-
-rapida-dica/28526
REFLITA
“Estou fazendo um sistema operacional gratuito (apenas um hobby, não será grande
e profissional como GNU) para 386/486 AT.”
(Linus Torvalds).
Caro(a) aluno(a), deixo esta mensagem com o propósito de mostrar a todos v.s que
é possível realizar grandes feitos, começando pequeno, de baixo, e como Linus
Torvalds fez, sem pretensões, criou um dos maiores sistemas operacionais da atua-
lidade. Vai, você também é capaz, crie os projetos que fazem sentido para você e
para o mundo.
Referência: https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-
-tecnologia-e-informatica.htm
Estamos muito felizes porque você chegou até aqui. Sabemos que não foi fácil,
pois, abriu mão do tempo livre para se dedicar aos estudos. Tempo esse que está sendo
recompensado devido a sua dedicação na busca de um aprimoramento para a sua carreira
profissional.
Caro(a) Aluno(a), Parabéns pelo seu esforço e dedicação! Continue com força e
garra que na próxima unidade você terá muita informações novas e interessantes, a respei-
to de Orientação a objetos em PHP e Web Service, e muito mais.
LIVRO
Título: MySQL - Comece com o principal banco de dados open
source do mercado
Autor: Vinícius Carvalho
Editora: Casa do Código Editora.
Sinopse: O MySQL é praticamente onipresente nos projetos de
software atuais. Boa parte deles o utiliza como banco de dados
para armazenar as informações da sua aplicação, por conta da
sua facilidade de instalação e configuração.
Neste livro, Vinícius Carvalho introduz o leitor no mundo do banco
de dados MySQL, ensinando os principais comandos DML e DDL,
e ferramentas gráficas. Você vai aprender a trabalhar com proce-
dures, manipular triggers, criar backups e vários outros recursos
que fazem a diferença no dia a dia.
VÍDEO
Título: Curso de Banco de Dados com MySQL
Ano: 2016.
Sinopse: O MySQL é um dos Sistemas Gerenciadores de Banco
de Dados mais populares do mercado. Ele pertence à Oracle e é
utilizado na maioria dos sites atualmente. Este curso vai guiá-lo
pelos comandos mais famosos da Linguagem SQL e ensinar téc-
nicas modernas de modelagem de dados.
Link do vídeo:
https://www.cursoemvideo.com/course/curso-banco-dados-mysql/
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.
CARVALHO, Vinícius. MySQL - Comece com o principal banco de dados open source
do mercado. São Paulo. Casa do Código Editora. 2015.
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.
NIXON, Robin. Learning PHP, MySQL & JavaScript. Sebastopol. O’Reilly Media, Inc.
2009.
Plano de Estudo:
1. ORIENTAÇÃO A OBJETOS COM PHP
2. WEB SERVICE
3. CONSIDERAÇÕES FINAIS
4. REFERÊNCIAS
Objetivos de Aprendizagem:
● Conceituar e contextualizar a respeito da Orientação a Objetos e PHP.
● Fornecer conceitos sobre o encapsulamento em PHP.
● Compreender os tipos de frameworks utilizados em Web Services.
● Estabelecer a importância dos frameworks REST, XML-RPC e SOAP na utilização
nos Web Services.
86
INTRODUÇÃO
Esta unidade inicia os estudos com uma introdução a Orientação a Objetos com
PHP, que é apresentado os conceitos de classe, criação de objetos, construtores, herança
e muito mais.
Na segunda parte dos nossos estudos trataremos dos conceitos dos principais
padrões de web service. Será apresentado uma introdução aos padrões REST, XML-RPC
e SOAP.
Agora, vamos em frente! E continuando os estudos. Só falta um pouquinho para
você concluir a disciplina! Vamos lá! Mas tenha em mente que o melhor, deixamos para o
final…
Divirta-se e bom Estudo!
1.1. INTRODUÇÃO
Foi com a versão do PHP 3, que foi introduzido o suporte para programação
orientada a objetos (OO). Embora ainda utilizável, o suporte foi extremamente simplista e
não melhorou muito com o lançamento do PHP 4, na qual, a compatibilidade com versões
anteriores era a principal preocupação. Devido à demanda popular por suporte aprimorado
à OO, o modelo de objeto foi completamente redesenhado para o PHP 5, adicionando uma
grande quantidade de recursos e mudando o comportamento do próprio “objeto base”. Se
você é novo no PHP, esta unidade abordará o modelo orientado a objetos.
1.2. OBJETOS
A principal diferença na OO em oposição à Programação Funcional é que os dados
e o código são empacotados juntos em uma entidade, que é conhecida como um objeto. As
aplicações orientados a objetos são geralmente divididos em vários objetos que interagem
entre si. Cada objeto é geralmente uma entidade do problema, que é independente e possui
várias propriedades e métodos. As propriedades são os dados do objeto, que basicamente
significam as variáveis que pertencem ao objeto. Os métodos são as funções que o objeto
suporta. Indo um passo além, a funcionalidade destinada a outros objetos serem acessados
O código PHP da Figura 74 define a classe, cria duas instâncias, define o nome de
cada instância apropriadamente e imprime os nomes.
Depois que esse tipo for definido, poderemos criar quantos objetos desejar, da
mesma forma que podemos criar quantos inteiros quiser, dado o tipo inteiro. Na termino-
logia orientada a objetos, o termo class é usado como uma referência à definição de tipo
geral, que especifica os membros de dados e as funções de membro que cada instância
dessa classe deverá ter.
1.3.1. Herança
Depois que escrever um programa que usa a classe Agenda, talvez deseje fazer
uma versão mais específica do programa para uma finalidade específica. O que gostaríamos
realmente de fazer é copiar a maior parte do código da classe Calendário, mas alterá-lo em
apenas alguns locais, para que seja impresso de forma diferente ou tenha um conjunto de
feriados culturalmente apropriado ou nos permita agendar compromissos.
1.3.4. Destruidores
São o oposto de construtores e especificam todas as ações de limpeza que deverão
acontecer quando um objeto for dispensado.
1.4. Terminologias
Existem alguns termos padrão no jargão da OO para todos os conceitos de que
foi falado até agora. Vários desses termos têm nomes alternativos, que incluímos entre
parênteses.
Antes de poder usar um objeto, você deverá definir uma classe com a palavra-cha-
ve class, antes de poder usar um objeto. As definições de classe contém o nome da classe,
que diferencia maiúsculas de minúsculas, suas propriedades e seus métodos.
O Exemplo abaixo define a classe Usuario com duas propriedades, que são $nome
e $senha (indicadas pela palavra-chave public - consulte “Propriedade e escopo do méto-
Aqui foi usada uma função muito importante chamada print_r. Ela pede ao PHP
para exibir informações sobre uma variável em formato legível. (O _r significa legível para
humanos.) No caso do novo objeto $object, ele exibirá a mensagem conforme código a
seguir:
A saída informará que em qualquer caso, o $object será um objeto definido pelo
usuário que possui o nome e a senha das propriedades.
Para criar um objeto com uma classe especificada, você deverá usar a palavra-cha-
ve new, assim: $object = new Class. Aqui estão algumas maneiras pelas quais poderíamos
fazer isso: $object = new Usuario; e $temp = new Usuario (‘nome’, ‘senha’);
Uma classe poderá exigir ou proibir argumentos; poderá permitir também argumen-
tos, sem precisar explicitamente deles.
Como você pode ver a sintaxe para acessar a propriedade de um objeto é: $object->
propriedade. Da mesma forma, você chamará um método como este: $object-> método().
Depois de criar um objeto, ele será passado por referência, quando você o passa
como um parâmetro. Na metáfora da caixa de fósforos, é como manter vários segmentos
anexados a um objeto armazenado em uma caixa de fósforos, para que você possa seguir
qualquer thread anexado para acessá-lo.
Em outras palavras, fazer atribuições de objetos não copia objetos em sua totali-
dade. Você verá como isso funciona no exemplo da Figura 79, onde definimos uma classe
Usuario muito simples, sem métodos e apenas o nome da propriedade.
1.9. Construtores
Ao criar um novo objeto, você poderá passar uma lista de argumentos para a classe
que estiver sendo chamada. Estes argumentos serão passados para um método especial
dentro da classe, chamado de construtor, que inicializa várias propriedades. Para fazer isso,
você usará o nome da função __construct, isto é, construção precedida por dois caracteres
sublinhado (underline). Exemplo na Figura 81.
Você também poderá criar métodos destruidores. Essa habilidade é útil quando o
código faz a última referência a um objeto ou quando um script chega ao final. O exemplo
abaixo mostra como você poderá criar um método de destruição. O destruidor poderá fazer
a limpeza, como liberar uma conexão com um banco de dados ou algum outro recurso
que você reservou dentro da classe. Como você reservou o recurso dentro da classe, será
necessário liberá-lo aqui ou ele permanecerá indefinidamente. Muitos problemas em todo
o sistema são causados por programas que reservam recursos e esquecem liberá-los. O
exemplo da Figura 82 apresenta um método destruidor.
1.11.1. public
Os membros públicos podem ser referenciados em qualquer lugar, inclusive por
outras classes e instâncias do objeto. Esse é o padrão quando as variáveis são
declaradas
com as palavras-chave var ou public ou quando uma variável é explicitamente declarada
na primeira vez que for usada. As palavras-chave var e public são intercambiáveis porque,
embora seja obsoleta, var será retida para compatibilidade com versões anteriores do PHP.
Os métodos são considerados públicos por padrão.
1.11.2. protected
Esses membros podem ser referenciados apenas pelos métodos de classe do
objeto e de qualquer subclasse.
● Use public quando o código externo deverá acessar esse membro e as classes
de extensão também deverão herdá-lo.
● Use protected quando o código externo não deverá acessar esse membro,
mas as classes de extensão deverão herdá-lo.
● Use private quando o código externo não deverá acessar esse membro e as
classes de extensão também não deverão herdá-lo.
Você poderá definir um método como estático, o que significa que ele será chama-
do em uma classe, não em um objeto. Um método estático não terá acesso a nenhuma
propriedade de objeto e será criado e acessado como no exemplo da Figura 53.
Figura 84 - Exemplo: Criando e acessando um método estático. Elaborado pelo autor, 2019.
A maioria dos dados e métodos se aplicará a instâncias de uma classe. Por exem-
plo, em uma classe de usuário, você quer fazer coisas como definir a senha de um usuário
específico ou verificar quando o usuário foi registrado. Esses fatos e operações se aplicam
separadamente a cada usuário e, portanto, usam propriedades e métodos específicos da
instância.
Mas, ocasionalmente, você deseja manter dados sobre uma classe inteira. Por
exemplo, para informar quantos usuários estão registrados, você armazenará uma variável
que se aplica a toda a classe Usuario. O PHP fornece propriedades e métodos estáticos
para esses dados.
Figura 86 - Definindo uma classe com uma propriedade estática. Elaborado pelo autor, 2019.
Figura 87 - Saída com uma propriedade estática. Elaborada pelo autor, 2019.
1.14. Herança
Depois de escrever uma classe, você poderá derivar subclasses dela. Isso poderá
economizar muita reescrita de código: você poderá pegar uma classe semelhante àquela
Nome: Paulo
Senha: 123
Telefone: 012 345 6700
Email: paulo@bloggs.com
Figura 89 - Substituindo um método e usando o operador parent. Elaborado pelo autor, 2019.
Esse código cria uma classe chamada Pai e uma subclasse chamada Filho que
herda suas propriedades e métodos e, em seguida, substitui o teste do método. Portanto,
quando a linha 3 chama o método test(), o novo método será executado. A única maneira
de executar o método de teste sobrescrito na classe Pai é usar o operador pai, conforme
mostrado na function test2() da classe Filho. O código gera o seguinte resultado:
[Classe Filho] Eu sou Luke
[Class Pai] Eu sou seu pai
Se você desejar garantir que seu código chame um método da classe atual, você
poderá usar a palavra-chave self, assim: self::method ();
Quando você estender uma classe e declarar seu próprio construtor, deverá estar
ciente de que o PHP não chamará automaticamente o método construtor da classe pai. Se
você quiser ter certeza de que todo o código de inicialização será executado, as subclasses
deverão sempre chamar os construtores pais, como na Figura 90.
Tigres têm...
Pêlos: TRUE
Listras: TRUE
Depois de ter digerido o conteúdo deste capítulo, você deverá ter uma forte noção
do que o PHP pode fazer por você. Você deverá ser capaz de usar funções com facilidade
e, se desejar, escrever código orientado a objetos.
O PHP poderá ser usado para criar servidores e clientes em REST, XML-RPC e
SOAP. No entanto, particularmente com o SOAP, a sintaxe é tão complexa que um pacote
de terceiros pode ser altamente útil para ajudar com as etapas de serialização, embaralha-
2.1. REST
O que é o REST?
REST é um acrônimo para REpresentational State Transfer (Transferência de
Estado Representacional) e representa um estilo de arquitetura de software que pode ser
seguido ao projetar sistemas de software. Ele é ideal para aplicativos de software baseados
em serviços da Web.
Os princípios relacionados ao REST foram descritos pela primeira vez por Roy
Fielding em sua dissertação de Ph.D. e seu ponto principal é que já temos tudo o que
precisamos para implementar serviços da Web - no próprio HTTP.
Todos os serviços REST, portanto, deverão ser alcançados por URLs (Uniform Re-
source Locator, e em português é conhecido por Localizador Padrão de Recursos) normais
usando o método HTTP GET e retornam XML sem nenhuma quebra automática codificada.
Para todas as intenções e propósitos, um serviço REST é apenas uma página XML na
Web, embora geralmente não seja destinado a ser lido por um ser humano usando um
navegador.
Como a maioria dos serviços usam XML, as ferramentas XML serão úteis tanto
para solicitações de criação quanto para análise de respostas no lado do cliente. No lado do
servidor também, ferramentas XML serão necessárias para fazer o inverso, para analisar o
A extensão DOM permite que você opere em documentos XML por meio da API do
DOM. A API é totalmente orientada a objetos e adere aos padrões DOM, portanto, a maioria
das classes é equivalente aos conceitos encontrados na especificação do DOM. Isso ajuda
a disponibilizar o documento padrão do DOM ao usar essa API.
Você poderá encontrar maiores informações sobre DOM em: http://www.php.net/
dom
A extensão SimpleXML fornece uma API muito simples e fácil de usar para traba-
lhar com documentos XML em PHP. O modelo de objeto PHP que poderia ser construído
a partir de um documento XML usando SimpleXML pode ser processado com seletores de
propriedade PHP normais e iteradores de array, facilitando muito a vida de desenvolvedo-
res PHP quando se trata de trabalhar com construções XML já conhecidas. (ABEYSINGHE.
2008. p 17).
Você poderá encontrar maiores informações sobre SimpleXML em: http://www.php.
net/simplexml
2.3.1. Tonic
2.3.2. Konstrukt
A estrutura de serviços da Web WSO2 para PHP possui suporte abrangente para
clientes e serviços no estilo REST. Você pode fornecer e consumir serviços usando os prin-
cípios do REST. As classes WSService e WSClient podem ser usadas no lado do servidor
e no lado do cliente, respectivamente. A vantagem dessa estrutura é que um determinado
serviço pode ser exposto tanto como um serviço REST quanto como um serviço SOAP
simultaneamente.
2.3.5. Madeam
2.3.6. dbscript
O Tonic ajudará a aderir aos princípios REST corretos, mas poderá não ter matu-
ridade em comparação a um framework como o Zend Framework. O mesmo se aplica a
Konstrukt.
O Zend Framework é um framework muito maduro e, além do suporte a REST,
é equipado com um conjunto muito útil de APIs de bibliotecas PHP que seriam úteis ao
desenvolver de aplicativos PHP.
O WSO2 WSF / PHP será uma boa escolha caso haja a necessidade de fazer
uso de serviços da Web avançados, especialmente serviços da Web baseados em SOAP,
juntamente com serviços no estilo REST. O WSO2 WSF / PHP fornecerá um mapeamento
fácil do design do aplicativo para a implementação, quando se tratar de aplicativos estilo
REST.
O Madeam seria ideal para aplicações que seguem um princípio de projeto Model-
Um dos atributos mais notáveis do dbscript são seus recursos internos para lidar
com formatos de feed, como o Atom.
XML é uma das palavras-chave mais populares nos negócios de software atual-
mente; mas o que isso significa para o desenvolvedor PHP? Bem, poderia muito bem ser
a pré-condição necessária para uma Internet melhor - mais rápida para desenvolver, mais
interativa, menos viciada e mais acessível a um público maior. Com o PHP, você já está em
uma excelente posição para integrar o XML ao seu arsenal de desenvolvimento da Web à
medida que a tecnologia amadurece.
XML significa eXtensible Markup Language. XML é uma forma de SGML, a Lin-
guagem de marcação generalizada padrão, mas você não precisa saber nada sobre o
SGML para usar o XML. Ele define a sintaxe para documentos estruturados que humanos
e máquinas podem ler.
Talvez a maneira mais fácil de entender o XML seja pensar em todas as coisas
que o HTML não pode fazer. O HTML também é uma linguagem de marcação, mas os
documentos HTML são tudo menos estruturados. Tags de HTML (tecnicamente conhe-
cidas como elementos) e atributos são apenas marcadores de identificação simples para
o navegador. Por exemplo, um par de tags <H1> e </H1> correspondentes designa um
cabeçalho de nível superior. Os navegadores interpretam isso como significando que você
deseja que o texto do cabeçalho seja exibido em uma fonte realmente grande, em negrito
2.4.3. RPC
Dentro da URL, o nome da função pode ser visto no parâmetro “método” (flickr.pho-
tos.search), as tags particulares para procurar são encontradas em tags =, e o parâmetro
format solicita a resposta em formato XML-RPC.
Há uma diferença distinta entre usar um serviço de estilo RPC, com nomes e parâ-
metros de função incluídos nos dados fornecidos e ter um serviço que seja verdadeiramente
A criação de uma camada de serviço RPC para um aplicativo poderá ser obtida
de maneira muito simples, envolvendo uma classe e expondo-a por HTTP. O exemplo das
Figuras 93 e 94 mostra uma classe muito básica que oferece algumas funcionalidades.
2.4.4. XML-RPC
Suponha que greeting() seja uma função que receba uma entrada de string e re-
torne uma saída de string consistindo na string “Hello”, prefixada na string de entrada. Ele
retornará uma resposta formatada de maneira semelhante a Figura 97.
Observe que, diferentemente do REST, você não está simplesmente pedindo da-
dos de volta - você está chamando uma função específica em outra máquina usando tipos
especificados. Essa função específica simplesmente retorna dados, mas isso é totalmente
arbitrário. Além disso, ao contrário do REST, o XML-RPC suporta todos os tipos nativos do
PHP, exceto objetos e recursos, e também alguns que o PHP não possui (structs, data-time,
base-64 binary).
2.5. SOAP
SOAP já foi um acrônimo como um Simple Object Access Protocol, no entanto, isso
foi descartado e agora é apenas “SOAP”. O SOAP é um serviço de estilo RPC que se co-
munica através de um formato muito específico de XML. Como o SOAP é bem especificado
quando segue as convenções do WSDL, pouco trabalho é necessário para implementá-lo
em um aplicativo ou para integrá-lo. O PHP tem um conjunto realmente excelente de biblio-
tecas SOAP para cliente e servidor.
O SOAP oferece ainda mais tipos de dados do que o XML-RPC. Você deve, no en-
tanto, especificar muito mais também. Fora isso, os dois protocolos são muito semelhantes.
Obviamente, o SOAP também desfruta de maior aceitação da Big Software.
REFLITA
“A melhor maneira de prever o futuro é inventá-lo.” (Allan Kay)
Referência: https://www.tecmundo.com.br/internet/3145-frases-impactantes-sobre-
-tecnologia-e-informatica.htm
Caro(a) Aluno(a)!
Chegamos ao final desta unidade IV 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!
Você recebeu nesta unidade, uma introdução aos conceitos de Orientação a Obje-
tos com PHP e uma introdução aos conceitos de Web Service.
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 profissional.
Sucesso!
Um grande abraço!
LIVRO
Título: Laravel para ninjas
Autor: Ademir C. Gabardo
Editora: Novatec Editora Ltda.
Sinopse: As aplicações web modernas têm evoluído rapidamente. A
demanda por ferramentas capazes de entregar conteúdo dinâmico
como APIs REST e de frameworks para consumo de dados como
Angular.JS e similares é crescente. Nesse contexto, frameworks
modernos como o Laravel são ferramentas indispensáveis para
a produção de sistemas web em tempo hábil, com qualidade e
de fácil manutenção. No livro Laravel para Ninjas são abordados
temas como: Instalação do ambiente para desenvolvimento no
Windows, MAC OS X e Linux.
Instalação e uso do Composer, um gerenciador de dependências
para PHP.
Instalação do framework Laravel e execução dos primeiros testes
e muito mais.
FILME/VÍDEO
Título: Curso Web Services RESTful com PHP e Laravel
Ano: 2017
Sinopse: Neste curso você vai aprender a criar um Web Service
utilizando o framework Laravel. Neste curso você aprender todos
os conceitos, terminologias e ferramentas necessárias para de-
senvolver um web service de alto nível.
Link do vídeo: https://www.youtube.com/watch?v=Ffxt6VSaUNM
ABEYSINGHE, Samisa. RESTful PHP Web Services. Birmingham. Packt Publishing Ltd.
2008.
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.
CARVALHO, Vinícius. MySQL - Comece com o principal banco de dados open source
do mercado. São Paulo. Casa do Código Editora. 2015.
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.
MITCHELL, Lorna Jane. PHP Web Services. Sebastopol. O’Reilly Media, Inc. 2016.
NIXON, Robin. Learning PHP, MySQL & JavaScript. Sebastopol. O’Reilly Media, Inc.
2009.
KUROSE, James F.; ROSS, Keith W. Redes de computadores e a internet: uma aborda-
gem top-down. 6 ed. Pearson Education do Brasil, 2016. Disponível em: http: Disponível
em: http: <//fcv.bv4.digitalpages.com.br
SILVA, Edilson Alfredo da. Introdução a linguagens de programação para CLP. São
Paulo: Blucher, 2018. Pearson Education do Brasil, 2016. Disponível em: http: Disponível
em: http: <//fcv.bv4.digitalpages.com.br
BENJON, Davi. Interação humano-computador. São Paulo: Perason Prentice Hall, 2011.
Disponível em: http: <//fcv.bv4.digitalpages.com.br
BIANCHINI, Clécio; FATSCHART, Fábio; CUSIN, Cesar. Open Web Platform. Rio de Janei-
ro, RJ: Brasport, 2014. Disponível em: http: <//fcv.bv4.digitalpages.com.br