A partir do estudo desta unidade, você deverá ser capaz de:
compreender o funcionamento das linguagens JavaScript e PHP, bem como e entender sobre o banco de dados;
entender a lógica de uma página Web integrada com banco de dados e linguagem de programação PHP;
construir um banco de dados simples e integrar com uma página Web usando a linguagem PHP;
criar funções dinâmicas utilizando a linguagem JavaScript.
PLANO DE ESTUDOS
A cada tópico desta unidade, você encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado.
Bem-vindo à Unidade 3 da disciplina Desenvolvimento de Interfaces Web. Nesta etapa, conheceremos algumas estruturas mais complexas relacionadas à programação Javascript e PHP.
Nesta Unidade, abordaremos a sintaxe e a lógica por trás do Javascript, explicando conceitos, como conversão, operadores e declarações condicionais. Também abordaremos a questão principal e mais prática em banco de dados: consultas e análises. Consideraremos as consultas, como select, insert, update e delete, bem como o uso do join.
Quais são os objetivos de aprendizagem da Unidade 3? Confira.
Compreender o funcionamento das linguagens JavaScript e PHP, bem como banco de dados;
Entender a lógica de uma página Web integrada com banco de dados e linguagem de programação PHP;
Construir um banco de dados simples e integrar com uma página Web usando a linguagem PHP;
Criar funções dinâmicas utilizando a linguagem JavaScript.
JavaScript é uma linguagem de script multiplataforma e orientada a objetos que adiciona interatividade e capacidade de resposta às suas páginas da Web. O JavaScript permite que um desenvolvedor de site controle como uma página da Web se comporta. Isso torna o JavaScript fundamentalmente diferente do HTML, a linguagem responsável pela estrutura de um documento da Web, e do CSS, a linguagem que molda a aparência das páginas da Web.
Programas escritos em JavaScript são chamados de scripts. No navegador, eles são conectados diretamente ao documento HTML e, assim que a página é carregada, são executados imediatamente. O processo de execução de um script é chamado de "interpretação".
Se o script PHP for processado no lado do servidor, usando o interpretador PHP, o JavaScript será executado no navegador do usuário pelo interpretador JavaScript. Hoje, todos os navegadores suportam JavaScript, tornando-se assim a linguagem da Web. No navegador, o JavaScript pode fazer tudo relacionado à manipulação do documento HTML, interação com o visitante e, com algumas limitações, com o servidor:
Valida se os formulários HTML personalizados foram preenchidos corretamente;
Interage com webcam, microfone e outros dispositivos;
Altera estilos de elementos HTML, oculte, mostre elementos etc.;
Exibe pop-ups e caixas de diálogo;
Responde às ações do visitante, manipula cliques do mouse, movimentos do cursor etc.
Já o PHP é uma linguagem de programação especialmente projetada para escrever aplicações Web (scripts) que rodam no lado do servidor. Se você está apenas começando com PHP, então você precisa ter um conhecimento básico das seguintes linguagens: HTML, CSS e JavaScript.
Que tal se relacionar com os colegas por meio de um Fórum? Esse recurso favorece o diálogo, a troca de opiniões e de saberes, estimulando o debate e a reflexão em torno de temas, situações, problemas ou ideias encontradas em nossa vida acadêmica e pessoal.
Leia o artigo "Introdução ao Javascript", que serve para contextualizar brevemente a linguagem Javascript.
Vamos à indicação de documentários e vídeos? Eles também servem para propósitos didáticos, complementando a educação formal.
Nada melhor do que ver como as coisas se conectam e quais marcos foram importantes para o entendimento dessa jornada do Javascript e do atual cenário do desenvolvimento de software front-end moderno.
Por fim, lembre-se de reservar uma hora do seu dia para os estudos (por meio da leitura do Livro Didático), para o desenvolvimento das Autoatividades e para buscar conhecimento por meio de outras referências bibliográficas. Restando dúvidas, entre em contato com a tutoria interna e os professores disponíveis nos diversos canais de comunicação disponibilizados.
Bons estudos!
Siga em frente!
No Tópico 1, veremos a linguagem de programação Javascript e sua importância no desenvolvimento Web. Essa linguagem permite que um desenvolvedor de site controle como uma página da Web se comporta.
Isso torna o JavaScript fundamentalmente diferente do HTML, a linguagem responsável pela estrutura de um documento da Web, e do CSS, a linguagem que molda a aparência das páginas da Web.
Comentaremos também sobre a sintaxe e a lógica por trás dela, explicando conceitos, como conversão, operadores e declarações condicionais em Javascript. Ao final deste tópico, também discutiremos sobre as funções em Javascript e objetos.
JavaScript é uma linguagem de script multiplataforma e orientada a objetos que adiciona interatividade e capacidade de resposta às suas páginas da Web. O JavaScript permite que um desenvolvedor de site controle como uma página da Web se comporta. Isso torna o JavaScript fundamentalmente diferente do HTML, a linguagem responsável pela estrutura de um documento da Web, e do CSS, a linguagem que molda a aparência das páginas da Web.
Programas escritos em JavaScript são chamados de scripts. No navegador, eles são conectados diretamente ao documento HTML e, assim que a página é carregada, são executados imediatamente. O processo de execução de um script é chamado de "interpretação".
Javascript é uma linguagem que tem bastantes problemas de compatibilidade entre navegadores, e é de comum conhecimento que existem navegadores que se encaixam melhor à linguagem. O Internet Explorer é o navegador que tem o maior problema de compatibilidade com Javascript.
JavaScript é uma linguagem de programação leve que os desenvolvedores Web geralmente usam para criar interações mais dinâmicas ao desenvolver páginas da Web, aplicativos, servidores e ou até mesmo jogos. Os scripts JS não requerem um compilador para serem executados, eles são executados pelo navegador do lado do usuário. Java é uma linguagem pautada em classes que é rápida, altamente segura e confiável.
Se o script PHP for processado no lado do servidor, usando o interpretador PHP, o JavaScript será executado no navegador do usuário pelo interpretador JavaScript. Hoje, todos os navegadores suportam JavaScript, tornando-se assim a linguagem da Web. No navegador, o JavaScript pode fazer tudo relacionado à manipulação do documento HTML e à interação com o visitante. Com algumas limitações, o servidor:
Valida se os formulários HTML personalizados foram preenchidos corretamente.
Interage com webcam, microfone e outros dispositivos.
Altera estilos de elementos HTML, oculte, mostre elementos etc.
Exibe pop-ups e caixas de diálogo.
Responde às ações do visitante e manipula cliques do mouse, movimentos do cursor etc.
Envia solicitações para o servidor e baixa dados sem recarregar a página.
O JavaScipt é uma linguagem incrivelmente poderosa e eficiente que você definitivamente deveria experimentar!
Hoje, todos os navegadores suportam JavaScript, tornando-se, assim, a linguagem da Web. No navegador, o JavaScript pode fazer tudo relacionado à manipulação do documento HTML e à interação com o visitante e com algumas limitações, com o servidor. Uma dessas interações atualiza dinamicamente algumas informações no banco de dados utilizado para a aplicação.
A sintaxe JavaScript é um conjunto de regras de como os programas JavaScript são criados. Veremos as estruturas lexicais básicas da língua.
Ao escrever programas em JavaScript, o conjunto de caracteres unicode é usado. Ao contrário do ASCII de 7 bits, que é adequado apenas para inglês, e do ISO Latin-1 de 8 bits, que é adequado apenas para o inglês e os principais idiomas da Europa Ocidental, o Unicode de 16 bits suporta praticamente todos os idiomas escritos do planeta.
Em JavaScript, os tipos de dados podem ser divididos em duas categorias: tipos simples (também chamados de primitivos) e compostos (também chamados de referência ou objeto). JavaScript é uma linguagem de programação flexível ou dinâmica que permite que tipos de dados sejam definidos, analisados e compilados em tempo real, em tempo de execução. Isso significa que você não precisa determinar o tipo da variável de antemão. O tipo será determinado automaticamente durante a execução do programa.
3.2.1 TIPOS DE DADOS
Antes de olhar para cada tipo de dados, vamos primeiro olhar para o operador typeof. O operador typeof retorna uma string descrevendo o tipo de dados da variável. O script, no exemplo acima, declara variáveis, inicializa-as (atribui valores) e então infere o tipo de cada variável.
Quando um valor de um tipo simples é atribuído a uma variável, o próprio valor (por exemplo, um número) é gravado na variável. Quando atribuímos uma variável de tipo simples a outra, ela copia o valor desta. Quando atribuímos um valor de um tipo composto (referência) a uma variável, uma referência ao valor (referência de objeto) é gravada na variável. Quando atribuímos uma variável (em cujo valor uma referência a um valor composto) a outra variável, a referência ao valor composto é copiada.
3.2.2 TIPOS PRIMITIVOS
Todos os tipos de dados em JavaScript, exceto objetos, são imutáveis ou imutáveis. Isso significa que seus valores não podem ser modificados, mas apenas substituídos por um valor novo e diferente. Por exemplo, strings não podem ser corrigidas caractere por caractere, elas só podem ser reescritas completamente. Valores desses tipos são chamados de "primitivos".
Os dados mais simples que um programa pode operar são chamados de literais. Literais são números ou strings que são usados para representar valores em JavaScript. As informações fornecidas podem ser muito diversas e, portanto, os valores são de vários tipos. Os tipos de dados mais simples em JavaScript são chamados de tipos de dados básicos: números, strings e booleanos. Todos eles são "primitivos".
Tipo booleano (lógico) "booleano"
Valores lógicos ou booleanos (após o nome de seu inventor – Boole) podem ter apenas um de dois valores: true(true) ou false(false). Valores true ou false geralmente aparecem em comparação ou operações lógicas.
Qualquer expressão pode ser usada como uma expressão de comparação. Qualquer expressão que retorne 0, null, undefined ou a string vazia é interpretada como false. Uma expressão que especifica algum outro valor é interpretada como true.
Tipo de dados numérico
Em JavaScript, não há distinção entre um número inteiro e um número de ponto flutuante – na verdade, o JavaScript representa todos os números como um valor de ponto flutuante. JavaScript usa o formato de 64 bits definido pelo padrão IEEE-754 para representar números. Esse formato é capaz de representar números na faixa de ±1,7976931348623157 × 10308 a ±5 × 10 -324.
Um número que está diretamente no código do programa é chamado de literal numérico. Além dos literais inteiros decimais, o JavaScript reconhece valores hexadecimais. Os números em formato hexadecimal podem incluir qualquer sequência de números de 0 a 9 e letras de a a f, que devem começar com a sequência de caracteres "0x".
var a = 255;
var b = 0xFF;
Tipo de dados de string
O tipo de string (string) é uma sequência ordenada e imutável de valores de 16 bits, cada um representando um caractere unicode (letras, números, pontuação, caracteres especiais e espaços). Strings podem estar vazias ou conter um ou mais caracteres. Strings são criadas usando aspas duplas (") ou simples ('). Você pode usar aspas duplas em uma string entre aspas simples e vice-versa – aspas simples podem ser usadas em uma string entre aspas duplas.
Quadro 1- TIPOS DE DADOS STRING
FONTE: o autor.
Veja o resultado a seguir:
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Em JavaScript, não há diferença entre aspas duplas e simples, mas as aspas no início e no final de uma string não devem ser distinguidas. Por exemplo, tal expressão causará um erro de sintaxe.
Quadro 2- DEFINIÇÃO COM ASPAS
FONTE: o autor.
Observação: o JavaScript não possui um tipo de dados especial para um único caractere, como charC, C++ e Java. Um único caractere é representado por uma string de comprimento um.
Tipo de dados nulo
O tipo nulo (null) contém um único valor especial, null. A palavra-chave null não pode ser usada como um nome de função ou variável. O valor null é uma referência a um objeto "vazio" e tem um propósito especial – geralmente é usado para inicializar uma variável que posteriormente receberá um valor.
O operador typeof para o valor null retorna a string "objeto", indicando que o valor null é um objeto "vazio" especial.
Quadro 3- VARIÁVEL NULA
FONTE: o autor.
Veja o resultado logo a seguir:
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
3.2.2 TIPO DE DADOS INDEFINIDOS
Um tipo indefinido (undefined) forma seu próprio tipo, que contém um único valor especial, undefined. Esse é o valor de uma variável declarada com o operador var mas não inicializada.
Quadro 4- TIPO DE DADO INDEFINIDO
FONTE: o autor.
Um valor undefined retorna ao acessar uma variável que nunca recebeu um valor ou uma propriedade de objeto inexistente ou elemento de array. Deve-se notar que uma variável com um valor undefined é diferente de uma variável que não está definida.
Quadro 5- VARIÁVEL INDEFINIDA
FONTE: o autor.
Veja o resultado do erro logo a seguir.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Nesse exemplo, o método alert() imprime o valor da variável age, ou seja, undefined. No segundo caso, uma variável não declarada é passada para o método alert() car, o que resulta um erro.
O exemplo a seguir pode confundir um pouco os programadores iniciantes, porque operador typeof para variáveis não inicializadas e não declaradas retorna o valor undefined.
Quadro 6- VARIÁVEL INDEFINIDA
FONTE: o autor.
Veja o resultado logo a seguir:
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
No exemplo acima, a variável é age declarada, mas nada é escrito nela, então seu valor é exatamente undefined. A variável car não é declarada – ela, de fato, não existe. No entanto, typeof retorna uma string undefined em ambos os casos. Há algum sentido nisso, é claro, porque é impossível realizar qualquer operação em qualquer uma dessas variáveis, embora tecnicamente sejam completamente diferentes.
O valor undefined é derivado de null, portanto, o operador de equivalência ECMA-262 ==os considera iguais.
Quadro 7- VARIÁVEL INDEFINIDA NULA
FONTE: o autor.
Embora os valores null estejam undefined relacionados, eles são usados de maneiras diferentes. Você não deve atribuir explicitamente um valor a uma variável undefined, mas ao null esse requisito não se aplica. Se o objeto necessário não estiver disponível, use null. Isso indica que o valor null foi inserido como um ponteiro para um objeto vazio e destaca sua diferença de undefined.
Para distinguir null e undefined no programa, você pode usar o operador de identidade ===.
Quadro 8- DISTINÇÃO DE INDEFINIDO E NULO
FONTE: o autor.
3.2.3 TIPOS DE DADOS SYMBOL
Um symbol é um valor único, imutável e primitivo que é usado para criar identificadores exclusivos. Para criar um symbol, você precisa chamar a função Symbol:
var mySymbol = Symbol();
Para definir um symbol, você pode usar o operador typeof. Se o valor for um símbolo, uma string será retornada symbol:
Quadro 9- USO DE TYPEOF
FONTE: o autor.
Observe o resultado do código a seguir:
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
A função symbol tem um parâmetro opcional — uma string que serve para descrever o symbol.
Quadro 10- FUNÇÃO SYMBOL
FONTE: o autor.
Observe o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Uma característica importante de um symbol é também que seu significado é único. Você pode usar o symbol como um nome de propriedade, que é garantido que não será repetido com nenhuma outra propriedade. Mesmo que dois caracteres tenham o mesmo nome, isso não significa que sejam iguais.
Quadro 11- FUNÇÃO SYMBOL
FONTE: o autor.
Observe o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
3.2.4 TIPO DE DADOS OBJETO
Além dos tipos de dados primitivos discutidos acima, o JavaScript suporta um tipo de dados composto, o objeto. Um objeto consiste em muitos valores (elementares, como números e strings, ou complexos, como outros objetos), que são chamados de propriedades do objeto. As propriedades são acessadas pelo nome da propriedade (às vezes, chamado de "por chave").
O nome da propriedade é uma string, então você pode pensar em objetos associando strings com valores. Juntas, essas informações formam pares de valores-chave. Em JavaScript, os objetos podem ser criados usando uma das duas sintaxes.
Quadro 12- OBJETO
FONTE: o autor.
A criação de um objeto com um literal de objeto começa com a definição de uma variável comum. O lado direito dessa instrução escreve um literal de objeto, que é uma lista entre colchetes de pares nome-valor{} separados por vírgula entre colchetes.
A segunda maneira de criar objetos envolve o uso de um construtor Object(). Nesse caso, a expressão é usada primeiro new Object() e, em seguida, as propriedades do objeto resultante são determinadas e inicializadas.
3.2.5 RESULTADOS
A primeira característica de trabalhar com tipos em JavaScript é que existem três tipos de conversão. Acompanhe.
Para string: string(value) – no contexto de string ou quando adicionado a uma string;
Para numerar: Número(valor) – em contexto numérico, incluindo unário mais +valor;
Para valor booleano: Boolean(valor) – no contexto booleano, também pode ser convertido por dupla negação: !!valor.
Qualquer valor que não esteja nessa lista: false, undefined, null, 0, -0, NaN, "", é convertido em true.
O operador == não converte implicitamente em um número se ambos os operandos forem strings.
O operador + com dois operandos não causa uma conversão implícita para um tipo numérico se pelo menos um operador for uma string.
Quando você aplica o operador == a null ou undefined, nenhuma conversão para um número é executada. O valor nulo é apenas nulo ou indefinido e não é igual a qualquer outra coisa.
Ao converter null e undefined para números, null é convertido para o número 0, enquanto undefined é convertido para NaN (não um número).
Uma variável é uma área nomeada de memória que armazena dados. Como em qualquer linguagem de programação, as variáveis JavaScript são como contêineres. Esses contêineres podem ser nomeados e usados posteriormente para recuperar e modificar dados armazenados.
3.4.1 DECLARANDO VARIÁVEIS
Antes que uma variável possa ser usada em JavaScript, ela deve ser declarada. Para declarar ou, em outras palavras, criar uma variável, a palavra-chave usada é var (de variável - variável).
Quadro 13- DECLARANDO VARIÁVEIS
FONTE: o autor.
Uma variável declarada com a palavra-chave var pode receber um valor inicial (isso é chamado de inicialização de variável).
Quadro 14- DECLARANDO VARIÁVEIS
FONTE: o autor.
O valor da variável é armazenado na área de memória correspondente e o acesso posterior a ela é realizado quando acessado pelo nome. Se a variável não for inicializada, seu valor inicial permanece indefinido undefined.
Quadro 15- VARIÁVEL INDEFINIDA
FONTE: o autor.
Observe o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Se desejar, você pode declarar várias variáveis de uma só vez, separando-as com vírgulas.
Quadro 16- SEPARAÇÃO DE VARIÁVEIS
FONTE: o autor.
JavaScript é uma linguagem não tipada. Isso significa que uma variável JavaScript pode conter um valor de qualquer tipo, diferentemente de uma variável Java ou C, que só pode conter um tipo de dado específico detalhado quando declarado.
Por exemplo, em JavaScript, você pode atribuir um número a uma variável e depois atribuir uma string à mesma variável. O tipo de valor de uma variável pode mudar durante a execução do programa, e o JavaScript cuida disso automaticamente. O valor em uma variável pode ser alterado quantas vezes você quiser.
Quadro 17- ALTERANDO VALOR DE VARIÁVEIS
FONTE: o autor.
Observe o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Ao declarar, você pode inicializar uma variável e depois copiar o valor da variável em uma nova variável. Quando uma variável com valor primitivo é atribuída a outra, é criada uma cópia do valor armazenado no local de memória e, em seguida, escrito no endereço da outra variável, por exemplo.
Quadro 18- DECLARANDO VARIÁVEIS
FONTE: o autor.
Este msg1 contém o valor de string "String". Quando uma variável msg2 é inicializada com o valor de variable msg1, ela também recebe o valor "String". A variável agora não está msg2 relacionada msg1, porque contém uma cópia do valor. Essas variáveis podem ser usadas individualmente sem efeitos colaterais no script.
3.4.2 NOMES DE VARIÁVEIS
O nome da variável é um identificador e, portanto, segue as mesmas regras. Os nomes das variáveis podem começar com um dos seguintes caracteres:
letra maiúscula ou minúscula;
caractere sublinhado _;
cifrão $.
Após o primeiro caractere de um nome de variável, você pode usar uma sequência de letras, números e sublinhados sem espaços ou pontuação. Como o JavaScript diferencia maiúsculas de minúsculas, as letras incluem os caracteres "A" a "Z" (maiúsculas) e os caracteres "a" a "z" (minúsculas). Você pode usar letras ISO 8859-1 ou unicode, como å ou ü.
Exemplos de nomes de variáveis válidos:
myName, my_adress, _x, tel512_7456.
Exemplos de nomes de variáveis inválidos:
var 512group;
var my-adress;
var my adress;
Ao escolher nomes de variáveis, você não pode usar palavras-chave, ou seja, palavras usadas nas definições de construções de linguagem. Por exemplo, você não pode escolher as palavras var, return, class, const, true, false, function, super, switch e várias outras.
Existem regras comprovadas para nomear variáveis. Acompanhe.
Nomes compostos por uma letra, assim como nomes que não carregam carga semântica, só podem ser usados se forem usados em um pequeno pedaço de código e seu uso for óbvio.
Use nomes compostos com várias palavras para descrever a finalidade das variáveis com a maior precisão possível.
Há duas maneiras de combinar palavras para criar um nome: usando "notação de camelo" (inglês camelCase) ou escrevendo palavras por meio do caractere sublinhado. Geralmente, o primeiro é usado.
Ao escolher nomes, use apenas o inglês, porque é costume entre os desenvolvedores de todo o mundo usar o inglês para nomes de variáveis.
3.4.3 ESCOPOS VARIÁVEL
Como outras linguagens de programação, JavaScript possui variáveis locais e globais. O conceito de escopo variável desempenha um papel fundamental aqui. O escopo de uma variável é a parte do programa para a qual a variável é definida.
Existem dois tipos de escopo em JavaScript.
As variáveis globais têm um escopo global: elas podem ser usadas em qualquer lugar do programa, bem como em programas chamados de outros arquivos.
As variáveis locais têm um escopo local: são variáveis definidas apenas no código da função usando a palavra-chave var ou apenas dentro do bloco {...}, no qual a variável é declarada usando a palavra-chave let.
Dentro de um corpo de função, uma variável local tem precedência sobre uma variável global de mesmo nome.
Quadro 19- CORPO DE FUNÇÃO
FONTE: o autor.
Veja o resultado o código a seguir.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Ao declarar variáveis com escopo global, a instrução var pode ser omitida, mas ao declarar variáveis locais, a instrução deve sempre ser usada var.
age = 15;
No modo estrito "usar estrito", isso não é mais permitido:
"use strict";
age = 15; // error: age is not defined
Você entenderá mais sobre escopo de variável quando estivermos abordando as funções.
É melhor usar variáveis locais, em vez de variáveis globais em seu código, porque as restrições de escopo reduzem a chance de que o valor de tal variável seja acidentalmente substituído pelo valor de outra variável com o mesmo nome.
3.4.4 CONSTANTES
Uma constante é uma variável que nunca muda. Você pode criar uma constante nomeada somente leitura usando o const. Como regra, os nomes das constantes são escritos em letras maiúsculas, separados por sublinhados. O resto da sintaxe para um identificador de constante é a mesma de um identificador de variável regular.
Os nomes das constantes não devem ser iguais aos nomes das variáveis declaradas no mesmo escopo, por exemplo, o script a seguir lançará um erro de sintaxe.
const MAX_SIZE = 99;
var MAX_SIZE = 33;
Tentativas de alterar o valor de uma constante também resultarão um erro.
Quadro 20- CONSTANTES
FONTE: o autor.
Veja o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Operadores, expressões e instruções JavaScript são os blocos de construção básicos dos programas. Com a ajuda deles, você pode manipular valores, compará-los, realizar cálculos e resolver muitos outros problemas. Em nossos estudos, você aprenderá como os operadores trabalham e aprenderá a usá-los da melhor maneira possível.
Para trabalhar com dados, o JavaScript suporta todos os operadores padrão, a maioria dos quais são encontrados em outras linguagens de programação. Os operadores variam de operadores matemáticos e bit a bit a operadores relacionais e de comparação. Os operadores em JavaScript são únicos no sentido de que podem ser usados com uma ampla variedade de valores, incluindo strings, números, booleanos e até objetos.
Os operadores são para compor expressões. Um operador é aplicado a um ou dois dados, que são chamados de operandos ou argumentos do operador.
Por exemplo, no exemplo a seguir, o sinal de mais +(mais) é um operador que combina dois operandos em uma expressão.
var x = 5 + 7
Os operadores que operam em um único operando são chamados de unários. Essas são as instruções mais simples em JavaScript.
O -operador (menos), no exemplo a seguir, é um operador unário que realiza uma mudança de sinal para o operando 3.
Quadro 21- EXEMPLO DE OPERADOR
FONTE: o autor.
A maioria dos operadores JavaScript combina duas expressões em uma mais complexa. Assim, esses operadores operam em dois operandos e são chamados de binários.
Quadro 22- EXEMPLO DE OPERADOR
FONTE: o autor.
3.5.1 TIPO DE OPERANDO
Ao trabalhar com expressões, deve-se prestar atenção aos tipos de operandos passados aos operadores, bem como aos tipos de dados retornados por esses operadores. Alguns operadores só podem interagir com operandos de um tipo específico. Por exemplo, em JavaScript, é ilegal multiplicar strings.
Quadro 23- EXEMPLO DE OPERANDO
FONTE: o autor.
O interpretador JavaScript, se possível, converte a expressão em questão para o tipo requerido, então a seguinte expressão é perfeitamente válida.
Quadro 24- EXEMPLO DE OPERANDO
FONTE: o autor.
Existem operadores que se comportam de forma diferente, dependendo do tipo de operandos passados para eles. Por exemplo, o operador de adição +, que normalmente realiza a adição de operandos numéricos, realiza a concatenação de strings ("colagem"). O resultado dessa operação é uma string composta pelos valores string dos operandos.
Quadro 25- EXEMPLO DE OPERANDO
FONTE: o autor.
Além disso, se você passar uma string e um número para o operador de adição, o número será convertido em uma string e as duas strings resultantes serão concatenadas. E não importa se a string do operando está à direita ou à esquerda, em qualquer caso, o argumento não string será convertido em uma string.
Quadro 26- EXEMPLO DE OPERANDO
FONTE: o autor.
O operador de desvio condicional (if) implementa a execução de determinados comandos, desde que alguma expressão lógica (condição) assuma o valor "true" true. O operador ternário (?:) é uma construção alternativa if…else que permite encurtar seu código escrevendo a condição em uma linha.
3.6.1 IF DECLARAÇÃO
O operador condicional if (traduzido do inglês “if”) implementa a execução de determinados comandos, desde que alguma expressão lógica (condição) assuma o valor “true” true.
A condição nessa construção pode ser qualquer expressão. JavaScript converte automaticamente o resultado de uma expressão em um booleano, chamando a função Boolean() nele. Se a condição for equivalente a true, a instrução será executada, caso contrário, não será.
A instrução a ser executada pode ser representada por uma única linha ou um bloco de código (um grupo de linhas entre chaves), por exemplo:
Quadro 27- DECLARAÇÃO IF
FONTE: o autor.
É recomendado que você sempre use chaves, mesmo se você precisar executar apenas uma linha de código. Isso mostra claramente o que precisa ser feito em cada caso e melhora a legibilidade do código.
3.6.2 CONSTRUÇÃO IF…ELSE, ELSE IF
Use a construção if....else para executar a primeira instrução se a condição for verdadeira true; e a segunda, se a condição for false.
O exemplo a seguir exibirá a janela de boas-vindas apropriada com base na hora atual em seu navegador.
Quadro 28- DECLARAÇÃO IF ELSE
FONTE: o autor.
A instrução else if é usada quando uma das muitas partes de código precisa ser executada. Tecnicamente, esta não é uma instrução JavaScript, mas apenas um estilo de programação comum que consiste em repetir instruções if/else.
No exemplo a seguir, usando a construção else if, uma das quatro janelas de boas-vindas será exibida dependendo da hora do dia.
Quadro 29- DECLARAÇÃO IF ELSE
FONTE: o autor.
3.6.3 OPERADOR TERNÁRIO (?:)
O operador condicional (?:) é o único operador ternário (do latim ternarius, “triplo”) com três operandos em JavaScript. O operador ternário retorna seu segundo ou terceiro operando, dependendo do valor da expressão lógica dada pelo primeiro operando.
O primeiro operando é utilizado como condição, é avaliado e convertido, se necessário, para um valor booleano. Se a condição for verdadeira, valor1 true será avaliado e retornado. Se a condição for false, value2 será avaliado e retornado :false.
Por exemplo:
Quadro 30- OPERADOR TERNÁRIO
FONTE: o autor.
Esse código é lido assim: se a for maior que b , então c = a , caso contrário c = b .
Você pode escrever a mesma coisa com if/else.
Quadro 31- DECLARAÇÃO IF ELSE
FONTE: o autor.
O operador condicional ?: tem associatividade da direita para a esquerda, portanto, as duas instruções a seguir são equivalentes:
z = a?b:c?d:e?f:g;
z = a?b:(c?d:(e?f:g));
Há outra abreviação para a instrução if/else, baseada no uso do AND lógico &&. Lembre-se de que o operador && avalia o segundo operando somente se o resultado do primeiro operando for true. Em programação, esse processo é chamado de avaliação incompleta, pois, se, na lógica AND && o primeiro operando retornar false, então, o resultado total também será false. Portanto, o cálculo e a conversão do segundo operando, nesse caso, não são realizados.
A instrução switch permite escolher qual dos vários blocos de código deve ser executado com base nos valores possíveis de uma determinada expressão. Cada um desses valores é chamado de caso. A instrução switch substitui vários ao mesmo tempo if. É uma maneira mais visual de comparar uma expressão com várias opções ao mesmo tempo.
A sintaxe do operador switch é a seguinte:
Quadro 32- USO DO SWITCH
FONTE: o autor.
A execução da instrução começa com a avaliação da expressão n. Às vezes, é chamado de teste. É feita uma verificação de igualdade estrita entre o valor da expressão de teste n e os valores dos rótulos nas cláusulas case (o primeiro valor value1, depois o segundo value2 e assim por diante) na ordem em que aparecem em o corpo da instrução switch.
Se uma correspondência for estabelecida, o switch inicia a execução a partir da diretiva case correspondente e, mais adiante, até o break mais próximo (ou até o final do switch se não houver break). Se não houver correspondência, as instruções de ramificação padrão serão executadas. A ramificação padrão é opcional, portanto, se estiver ausente, o controle é transferido para a seguinte à instrução switch , ou seja, seu corpo é simplesmente ignorado.
A instrução break sai imediatamente da instrução switch. Ele pode aparecer em todas as variantes de caso, mas não é obrigatório. Se não estiver presente, a próxima instrução do bloco switch será executada. Veja um exemplo de como a instrução switch funciona.
Quadro 33- USO DO SWITCH
FONTE: o autor.
Veja o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Se não houver instrução break em nenhuma opção, o controle será transferido para as instruções relacionadas às opções a seguir. Nesse caso, as demais verificações de conformidade com a expressão não serão realizadas. O interpretador JavaScript sairá da instrução switch somente quando chegar ao final dela ou encontrar uma quebra. Obviamente, isso não é o que geralmente é necessário para resolver o problema de seleção. Portanto, cada bloco case geralmente precisa terminar com uma instrução break ou return.
3.7.1 LOOP WHILE
A instrução while cria um loop com uma pré-condição. Entre parênteses após a palavra while indicam alguma expressão lógica ou valor. O loop iniciará se o valor dessa expressão for igual true será executado até que essa condição se torne false. O seguinte loop while é executado enquanto i é menor que 3.
Quadro 34- LOOP WHILE
FONTE: o autor.
Veja o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Após o final da terceira iteração, a condição i < 3 não é mais verdadeira, então o loop termina. Para criar um loop infinito, basta especificar um valor booleano como condição true. Essa é uma maneira comum de criar um loop infinito. Em outros casos (por exemplo, se removermos i++ no código em nosso exemplo), é possível (em teoria) criar um loop infinito. Na prática, o navegador exibirá uma mensagem sobre o script “pendurado” e o visitante o interromperá.
3.7.2 DO…WHILE
A instrução do...while difere do laço while porque em do...while, o corpo do laço é executado primeiro, e então a condição para continuar o laço é verificada. Por causa desse recurso, do...while é chamado de loop com uma pós-condição. Assim, se a condição do...while for obviamente falsa, então, pelo menos uma vez, o bloco de instruções no corpo do loop do...while ainda será executado.
A instrução do...while é uma construção de duas instruções usadas juntas. A sintaxe para esta construção é:
Quadro 35- LOOP DO...WHILE
FONTE: o autor.
Veja o resultado do código abaixo:
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Esse loop continua enquanto i for menor que 4. É 0 no início do loop e incrementa em 1 em cada iteração.
Loops de pós-condição geralmente são usados se o corpo do loop deve ser executado pelo menos uma vez.
3.7.3 FOR LOOP
A instrução “for” é uma variante de um loop com uma pré-condição, que consiste em três expressões opcionais entre parênteses e separadas por ponto e vírgula, seguidas por uma instrução (geralmente uma instrução de bloco) a ser executada no loop.
Veja a descrição da sintaxe a seguir.
Inicialização: o valor inicial de uma variável, geralmente um contador, é atribuído. Executa apenas uma vez no início da execução da instrução. O escopo dessa variável será o corpo do loop;
Expressão: uma expressão booleana é avaliada em cada iteração do loop. Representa uma condição para continuar a operação do operador de loop. Quando o valor do contador atingir o limite especificado, o loop terminará;
A atualização: o valor pelo qual o contador de loop será incrementado ou decrementado. Calculado no final de cada iteração do loop. Para ser útil, como uma expressão de inicialização, deve ter efeitos colaterais. Em geral, esse efeito colateral é uma operação de atribuição, incremento ou decremento.
Para exemplo de laço, tem-se:
Quadro 36- LOOP FOR
FONTE: o autor.
Veja o resultado do código a seguir
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
As funções ajudam a reduzir a repetitividade do código transformando seções de código que ocorrem com frequência em blocos independentes que são definidos uma vez e podem ser chamados várias vezes. Nesse subtópico, veremos os fundamentos de sua aplicação e os mecanismos envolvidos.
Função (função) é um pedaço de código independente que resolve um problema específico. Cada função recebe um nome único pelo qual pode ser identificada e "chamada" no momento certo.
As funções na linguagem JavaScript são objetos e, portanto, podem ser manipuladas como objetos. Por exemplo, funções podem ser atribuídas a variáveis, elementos de matriz, propriedades de objetos, passadas como um argumento para funções e retornadas como um valor de funções.
JavaScript tem funções internas que podem ser usadas em programas, mas cujo código não pode ser editado ou visualizado. Exemplos de funções internas que você já viu são alert(), prompt(), confirm() e document.write(). Além de usar funções integradas, você pode criar suas próprias funções definidas pelo usuário.
Uma função (como qualquer objeto) deve ser declarada (definida) antes de ser usada. Uma função JavaScript é definida com a palavra-chave function seguida pelos seguintes componentes:
Um identificador que especifica o nome da função. Na maioria das vezes, verbos ou frases que começam com verbos são escolhidos como nomes de funções. Por convenção, os nomes das funções começam com uma letra minúscula;
Um par de parênteses () que pode incluir nomes de parâmetros separados por vírgulas (parâmetro1, parâmetro2 ...). Esses nomes de parâmetros no corpo da função podem ser usados como variáveis locais;
Um par de chaves {} com instruções JavaScript dentro. Essas instruções compõem o corpo da função, elas são executadas toda vez que a função é chamada.
Veja a sintaxe da função JavaScript.
Quadro 37- EXEMPLO DE FUNÇÃO
FONTE: o autor.
O código do programa localizado no corpo de uma função é executado não no momento da declaração da função, mas no momento de sua chamada. Sendo definida uma vez, a função pode ser chamada quantas vezes forem necessárias usando o operador ()( function call).
Quadro 38- EXEMPLO DE FUNÇÃO
FONTE: o autor.
Veja o resultado do código abaixo.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Esse código nos mostrará uma saudação na caixa de diálogo alert() duas vezes. O uso da função nos permitiu nos livrar da duplicação de código.
Observe que, apesar da ausência de parâmetros, você ainda precisa colocar parênteses () após o nome na declaração da função. Quando chamado, após o nome da função, colchetes vazios também são indicados ().
O interpretador JavaScript, ao encontrar a palavra-chave function, cria uma função e uma variável com o nome dessa função. A variável recebe uma referência de função.
Existe uma sintaxe alternativa para declarar uma função "Function Expression" (function expression), que é uma declaração de função que faz parte de uma expressão (por exemplo, uma atribuição).
Quadro 39- EXEMPLO DE FUNÇÃO
FONTE: o autor.
Veja o resultado do código a seguir.
INSPECIONAR COM CÓDIGO JAVASCRIPT
FONTE: o autor.
Como você pode ver, essa construção não parece mais padrão: a função não tem nome e está localizada no lado direito do comando de atribuição de variável sayHello. Essa função também pode ser chamada – desta vez, por meio da variável sayHello.
Se a função não tiver um nome, como no exemplo anterior, ela é chamada de "anonymous".
A diferença entre as declarações apresentadas é que as funções declaradas como "Declaração de Função" são criadas pelo interpretador antes que o código comece a ser executado (no estágio de parse), para que possam ser chamadas antes da declaração.
Um parâmetro de função é uma variável na função que conterá o valor de entrada passado de fora. Os parâmetros da função são listados entre parênteses () na definição da função.
Os parâmetros devem ser considerados como declarações de variáveis locais no corpo de uma função, cada uma das quais é inicializada no momento em que a função é chamada com o valor apropriado da lista de argumentos (ou valor padrão).
Os argumentos da função são os valores que você fornece para a função no momento em que ela é chamada.
O método fetch() no JavaScript é usado para solicitar dados de um servidor. A solicitação pode ser de qualquer tipo de API que devolva os dados em JSON ou XML. O método fetch() requer um parâmetro, a URL para solicitar e retorna uma promessa. Essa função serve para acessar e manipular trechos do pipeline em HTTP.Já o método “join()” em Javascript permite o agrupamento de todos os elementos de um Array em uma string com a possibilidade de definir o caractere de concatenação.
Um objeto é um tipo de dados fundamental na linguagem JavaScript. Um objeto é um valor composto: consiste em muitos valores (valores primitivos e outros objetos) e permite salvar e recuperar esses valores e objetos por nome. Além disso, apenas uma string pode ser um nome de propriedade (chave), mas qualquer tipo de dado pode ser um valor.
Definição do objeto
Um objeto em JavaScript é uma coleção não ordenada de propriedades, consistindo em pares chave-valor. Cada propriedade deve ter um nome exclusivo (chave), que deve ser uma string. O valor da propriedade pode ser qualquer coisa: um valor de um tipo simples ou outro objeto.
Existem três categorias de objetos em JavaScript.
Objetos do tipo base são objetos definidos pela especificação ECMAScript. Por exemplo, Arrays (array), funções (função), datas (data) e expressões regulares (RegExp) são objetos do tipo base.
Objetos de tempo de execução são objetos definidos no ambiente de tempo de execução (como um navegador da Web). Por exemplo, objetos do tipo HTMLElement que representam a estrutura de uma página da Web em JavaScript do lado do cliente são objetos de tempo de execução.
Objetos personalizados são quaisquer objetos criados como resultado da execução de código JavaScript.
Em nossos estudos sobre tipos de dados JavaScript, vimos que os objetos são valores mutáveis e as operações são executadas neles por referência, não por valor (como acontece com as primitivas). Se a variável obj_1 se referir a um objeto e à instrução var obj_2 = obj_1, uma referência ao mesmo objeto será gravada na variável obj_2, e não uma cópia dela. Quaisquer alterações que um objeto sofrer por meio da variável obj_2 também serão refletidas na variável obj_1.
Criar um objeto
Objetos JavaScript podem ser criados usando literais de objeto, a palavra-chave new.
Literal de objeto
Um literal de objeto é uma lista de propriedades separadas por vírgula (pares nome:valor) entre chaves {}. O nome da propriedade é separado do valor por dois pontos. O nome da propriedade pode ser um identificador ou uma string literal (uma string vazia é permitida). O valor da propriedade, conforme observado acima, pode ser qualquer expressão JavaScript.
O JavaScript sabe que os nomes de propriedade (chaves) são sempre strings, portanto, as aspas em torno de um nome de propriedade em um literal de objeto são opcionais. Nesse caso, os nomes de propriedade devem seguir as mesmas regras que os nomes de variáveis. Por exemplo, não devem conter espaços, hífens ou pontuação. Se o nome for uma palavra reservada JavaScript, deve ser colocado entre aspas.
4.3 OBJETOS DE MATRIZ
Muitas tarefas de programação são feitas com base na manipulação de coleções inteiras de dados e envolvem fluência em métodos de manipulação de array JavaScript. Aprender essas técnicas também é uma ótima maneira de alcançar o próximo nível de proficiência em JavaScript.
Uma matriz é uma coleção ordenada de valores numerados. Cada valor é chamado de elemento do array, e o número do elemento no array é chamado de índice. Como JavaScript é uma linguagem não tipada, um elemento de matriz pode ser de qualquer tipo e diferentes elementos da mesma matriz podem ter tipos diferentes. Um elemento de array pode até ser um objeto ou outro array.
Os objetos de matriz podem ser criados atribuindo valores de matriz literais a variáveis [] ou usando o new. Um array é definido literalmente enumerando os valores entre colchetes []. Nesse caso, os valores são separados por vírgulas e possuem um índice inteiro, aumentando sequencialmente de zero:
var colors = ["red", "yellow", "green"];
var names = [];
RESUMO DO TÓPICO 1
Neste tópico, você aprendeu:
Uma introdução a Javascript e sua sintaxe.
Os tipos de dados Javascript.
Uso constante em javascript.
Uso de variáveis com javascript.
Construção de blocos com condições.
Construção de blocos com loops.
As funções e os objetos.
AUTOATIVIDADE
1 Hoje, todos os navegadores suportam JavaScript, que, assim, se torna a linguagem da Web. No navegador, o JavaScript pode fazer tudo relacionado à manipulação do documento HTML e à interação com o visitante e com algumas limitações, com o servidor. Assinale a alternativa CORRETA que não condiz com tais interações:
a) ( ) Atualiza dinamicamente algumas informações no banco de dados utilizado para a aplicação.
b) ( ) Valida se os formulários HTML personalizados foram preenchidos corretamente.
c) ( ) Exibe pop-ups e caixas de diálogo.
d) ( ) Envia solicitações para o servidor e baixa dados sem recarregar a página.
2 JavaScript é uma linguagem de programação leve que os desenvolvedores Web geralmente usam para criar interações mais dinâmicas ao desenvolver páginas da Web, aplicativos, servidores e ou até mesmo jogos. Acerca da linguagem Javascript, analise as sentenças a seguir.
I- Os scripts JS não requerem um compilador para serem executados, eles são executados pelo navegador do lado do usuário.
II- Java é uma linguagem de programação orientada a objetos desenvolvida pela Microsoft desde 1991 e lançada oficialmente em 23 de maio de 1995.
III- Java é uma linguagem estruturada com base em classes que é rápida, altamente segura e confiável.
Assinale a alternativa CORRETA:
a) ( ) As sentenças I e II estão corretas.
b) ( ) Somente a sentença II está correta.
c) ( ) As sentenças I e III estão corretas.
d) ( ) Somente a sentença III está correta.
3 Desenvolvedores geralmente usam JavaScript ao lado de HTML e CSS. A linguagem de script funciona bem com CSS na formatação de elementos HTML. No entanto, o JavaScript ainda mantém a interação do usuário, algo que o CSS não pode fazer por si só. Sobre a sintaxe na linguagem Javascript, classifique V para as sentenças verdadeiras e F para as falsas.
( ) Em JavaScript, as instruções geralmente são separadas por um ponto e vírgula (;). Se várias instruções estiverem na mesma linha, um ponto e vírgula (;) deve ser colocado entre elas.
( ) A palavra-chave while pode ser digitada tanto como "while", tanto como "While" ou "WHILE".
( ) Os comentários permitem destacar um fragmento de programa que não é executado pelo interpretador JavaScript.
Assinale a alternativa que apresenta a sequência CORRETA:
a) ( ) V – F – F.
b) ( ) V – F – V.
c) ( ) F – V – F.
d) ( ) F – F – V.
4 Os tipos de dados predefinidos fornecidos pela linguagem JavaScript são conhecidos como tipos de dados primitivos. Os tipos primitivos de dados também são conhecidos como tipos de dados embutidos. Disserte sobre os tipos primitivos em Javascript.
5 As funções, na linguagem JavaScript, são objetos e, portanto, podem ser manipuladas como objetos. Por exemplo, funções podem ser atribuídas a variáveis, elementos de matriz, propriedades de objetos, passadas como um argumento para funções e retornadas como um valor de funções. Nesse contexto, disserte sobre os elementos que utilizamos ao criar uma função.
PHP é uma linguagem de programação usada para scripts em sites dinâmicos e interativos. Você vai encontrá-lo em vários tipos de aplicativos Web, desde sites de comércio eletrônico até sistemas de CRM, como HubSpot e Salesforce.
Aluno, no Tópico 2, abordaremos a linguagem PHP nos quesitos de introdução, comparação com o Javascript e sua sintaxe. Começaremos explicando seus tipos de dados, números e operadores.
Como em outras linguagens, também discutiremos sobre as instruções condicionais em PHP, bloos de controle de fluxo, controles de saltos bem como suas funções e a utilização de arrays.
PHP é uma linguagem de programação especialmente projetada para escrever aplicações Web (scripts) que rodam no lado do servidor. Se você está apenas começando com PHP, então você precisa ter um conhecimento básico das seguintes linguagens: HTML, CSS e JavaScript.
PHP é uma linguagem de script de propósito geral, amplamente utilizada e de código aberto. Os scripts PHP são executados no servidor e não podem ser copiados do site pelo navegador. PHP é a abreviação de Página Inicial Pessoal. O PHP foi criado em 1994 pelo programador dinamarquês Rasmus Lerdorf e era originalmente um conjunto de scripts em outra linguagem, Perl. Mais tarde, esse conjunto de scripts foi reescrito em um interpretador C.
Uma vantagem importante do PHP sobre Perl e C é a capacidade de criar documentos HTML com comandos PHP incorporados. Construções PHP embutidas em texto HTML são executadas pelo servidor toda vez que a página é visitada. O resultado de seu processamento, juntamente com o texto HTML usual, é transmitido ao navegador.
Uma diferença significativa entre o PHP e outros scripts executados no lado do cliente (como JavaScript) é que os scripts PHP são executados no lado do servidor. É possível configurar o servidor para que os documentos HTML sejam processados pelo processador PHP de tal forma que os usuários não possam nem saber se estão recebendo uma página HTML normal ou o resultado da execução de código PHP.
O script PHP é executado no servidor e o resultado do script é enviado de volta ao navegador do usuário como um documento HTML. A sintaxe de qualquer linguagem de programação é muito mais estudada por exemplos do que usando uma descrição monótona. Portanto, damos um exemplo do script mais simples em PHP.
Quadro 40- CÓDIGO PHP DENTRO DE TAG HTML
FONTE: o autor.
As instruções PHP terminam com um ponto e vírgula (;).
Observe que o código HTML é processado corretamente pelo interpretador PHP. Você pode ter ficado intrigado com o início do script: o que as tags HTML <html> e <body> estão fazendo aqui? Essa é a principal característica da linguagem PHP – um script PHP pode não ser diferente de um documento HTML comum.
O próprio código do script começa após a tag de abertura <?php e termina com a tag de fechamento ?>.
Quadro 41- COMENTÁRIO EM PHP
FONTE: o autor.
Assim, entre essas duas tags, o conteúdo é interpretado como um programa e não entra no documento HTML. Se você deseja exibir algo em uma página da Web, o script PHP usa o operador " echo".
Sensibilidade de maiúsculas e minúsculas do PHP
O PHP não tem palavras-chave (por exemplo if, else, while, echo etc.), classes, funções; e funções definidas pelo usuário não diferenciam maiúsculas de minúsculas.
2.3 INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO
Neste material usaremos a aplicação XAMPP, para instalar e configurar, siga os passos abaixo:.
2.3.1 PASSO 1: BAIXAR
XAMPP é uma versão disponibilizada pelo projeto sem fins lucrativos Apache Friends. Versões com PHP 5.5, 5.6 ou 7 estão disponíveis para download no site doApache Friends.
2.3.2 ETAPA 2: EXECUTAR . EXE ARQUIVO
Uma vez que o pacote de software tenha sido baixado, você pode iniciar a instalação clicando duas vezes no arquivo com o final.exe.
2.3.3 ETAPA 3: DESATIVAR QUALQUER SOFTWARE ANTIVÍRUS
Como um programa antivírus ativo pode afetar negativamente o processo de instalação, recomenda-se pausar temporariamente qualquer software antivírus até que todos os componentes XAMPP tenham sido instalados com êxito.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.4 ETAPA 4: DESATIVAR O UAC
O UAC (Controle de Conta de Usuário) pode interferir na instalação do XAMPP porque limita o acesso de gravação à unidade C:, portanto, recomendamos que você desative isso também durante o processo de instalação. Para descobrir como desativar o UAC, vá para as páginas de suporte doMicrosoft Windows.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.5 ETAPA 5: INICIAR O ASSISTENTE DE CONFIGURAÇÃO
Depois de abrir o arquivo .exe (depois de desativar o(s) seu(s) programa(s) antivírus(s) e anotar o Controle de Conta de Usuário, a tela inicial do assistente de configuração do XAMPP deve aparecer automaticamente. Clique em 'Avançar' para definir as configurações de instalação.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.5 ETAPA 6: ESCOLHER COMPONENTES DE SOFTWARE
Em 'Selecionar componentes', você tem a opção de excluir componentes individuais do pacote de software XAMPP da instalação. Mas para um servidor de teste local completo, recomendamos que você instale usando a configuração padrão e todos os componentes disponíveis. Depois de fazer sua escolha, clique em 'Avançar'.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.5 ETAPA 7: ESCOLHA O DIRETÓRIO DE INSTALAÇÃO
Na próxima etapa, você tem a chance de escolher onde deseja que o pacote de software XAMPP seja instalado. Se você optar pela configuração padrão, uma pasta com o nome XAMPP será criada em C:\ Para você. Depois de escolher um local, clique em 'Avançar'.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.5 ETAPA 8: INICIAR O PROCESSO DE INSTALAÇÃO
Uma vez que todas as preferências acima mencionadas tenham sido decididas, clique para iniciar a instalação. O assistente de instalação descompactará e instalará os componentes selecionados e os salvará no diretório designado. Esse processo pode levar vários minutos no total. Você pode acompanhar o progresso desta instalação mantendo um olho na barra de carregamento verde no meio da tela.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
2.3.5 ETAPA 9: BLOQUEIO DO FIREWALL DO WINDOWS
Seu firewall pode interromper o processo de instalação para bloquear alguns componentes do XAMPP. Use a caixa de seleção correspondente para habilitar a comunicação entre o servidor Apache e sua rede privada ou rede de trabalho. Lembre-se de que não é recomendável disponibilizar seu servidor XAMPP para redes públicas.
2.3.10 ETAPA 10: CONCLUIR A INSTALAÇÃO
Depois que todos os componentes estiverem descompactados e instalados, você poderá fechar o assistente de configuração clicando em 'Concluir'. Clique para marcar a caixa de seleção correspondente e abra o Painel de Controle XAMPP assim que o processo de instalação for concluído.
JANELA DO WINDOWS COM XAMPP
FONTE: o autor.
Os controles para os componentes individuais do servidor de teste podem ser acessados por meio do Painel de Controle XAMPP. A interface de usuário clararegistra todas as ações e permite que você inicie ou pare módulos individuais com um único. O Painel de Controle XAMPP também oferece vários outros botões, incluindo:
Config: permite que você configure o XAMPP, bem como os componentes individuais;
Netstat: mostra todos os processos em execução no computador local;
Shell: abre um shell UNIX;
Explorer: abre a pasta XAMPP no Windows Explorer;
Serviços: mostra todos os serviços atualmente em execução em segundo plano;
Ajuda: oferece links para fóruns de usuários;
Sair: fecha o Painel de Controle XAMPP.
PAINEL DE CONTROLE DO XAMPP
FONTE: o autor.
Módulos individuais podem ser iniciados ou interrompidos no Painel de Controle XAMPP por meio dos botões correspondentes em 'Ações'. Você pode ver quais módulos foram iniciados porque seus nomes estão destacados em verde sob o título 'Módulo'.
PAINEL DE CONTROLE DO XAMPP
FONTE: o autor.
Se um módulo não puder ser iniciado como resultado de um erro, você será informado disso imediatamente em fonte vermelha. Um relatório de erros detalhado pode ajudá-lo a identificar a causa do problema.
Uma fonte comum de erro conectada ao Apache são as portas bloqueadas. Se você estiver usando a configuração padrão, o XAMPP atribuirá o servidor Web à porta principal 80 e à porta SSL 443. O último destes, particularmente, é muitas vezes bloqueado por outros programas. No exemplo acima, é provável que a porta Tomcat esteja sendo bloqueada, o que significa que o servidor Web não pode ser iniciado. Há três maneiras de resolver esse problema:
Altere a porta conflitante: Vamos supor, por exemplo, que o programa de mensagens instantâneas Skype está bloqueando a porta SSL 443 (esse é um problema comum). Uma maneira de lidar com esse problema é alterar as configurações de porta do Skype. Para fazer isso, abra o programa e navegue por 'Ações', 'Opções' e 'Avançado', até chegar ao menu 'Conexões'. Você deve encontrar uma caixa marcada para permitir o acesso do Skype às portas 80 e 443. Desmarque essa caixa de seleção agora.
Altere as configurações da porta do módulo XAMPP: Clique no botão Configuração do módulo em questão e abra os arquivos httpd.conf ehttpd-ssl.conf. Substitua a porta número 80 em httpd.conf e a porta número 443 emhttpd-ssl.confpor quaisquer portas livres, antes de salvar os dados do arquivo. Agora clique no botão de configuração geral no lado direito e selecione 'Configurações de serviços e portas'. Personalize as portas do servidor de módulo para refletir as alterações nos arquivosconf..
Encerre o programa conflitante: A maneira mais simples de evitar conflitos de porta a curto prazo é acabar com o programa conflitante (Skype neste caso). Se você reiniciar o Skype depois que os servidores do módulo XAMPP já estiverem em execução, ele selecionará uma porta diferente e seu problema será resolvido.
PAINEL DE CONTROLE DO XAMPP
FONTE: o autor.
Você tem uma opção 'Admin' localizada no Painel de Controle para cada módulo em seu XAMPP.
Clique no botão Admin do seu servidor Apache para ir para o endereço da web de seu servidor web. O Painel de Controle agora será iniciado em seu navegador padrão e você será levado ao painel do host local do seu XAMPP. O painel apresenta inúmeros links para sites para obter informações úteis, bem como o projeto de código abertoBitNami, que oferece muitos aplicativos diferentes para o seu XAMPP, como o WordPress ou outros sistemas de gerenciamento de conteúdo. Como alternativa, você pode acessar o painel por meio delocalhost/dashboard/.
PAINEL DO XAMPP
FONTE: o autor.
Você pode usar o botão Admin do seu módulo de banco de dados para abrir ophpMyAdmin. Aqui, você pode gerenciar os bancos de dados de seus projetos da Web que você está testando em seu XAMPP. Alternativamente, você pode acessar a seção de administração do seu banco de dados MySQL vialocalhost/phpmyadmin/.
PAINEL DO XAMPP
FONTE: o autor.
Agora vamos falar de conceitos que nos ajudarão a entender a lógica por trás da linguagem PHP.
Uma variável é um contêiner (área de memória) para armazenar informações que são acessadas por nome. Todos os nomes de variáveis PHP devem começar com um caractere $, seguido pelo nome da variável. É esse prefixo que informa ao pré-processador PHP que está lidando com uma variável. O valor da variável segue o operador de atribuição (=).
Quadro 42- DECLARAÇÃO DE VARIÁVEL
FONTE: o autor.
Uma variável pode ter um nome curto (por exemplo, b e c) ou um nome mais descritivo (myname, score, total_volume).
Ao nomear variáveis, as seguintes regras devem ser observadas.
Uma variável começa com um prefixo $, seguido pelo nome da variável;
O primeiro caractere do nome deve ser uma letra ou um sublinhado (_);
Um nome de variável não pode começar com um número;
O nome da variável pode conter apenas caracteres alfanuméricos e sublinhados;
Os nomes das variáveis diferenciam maiúsculas de minúsculas ($page e $PAGE são variáveis diferentes).
Vejamos alguns nomes de variáveis PHP válidos e inválidos.
$_myName // válido;
$meuNome // válido;
$__ minhavar // válido;
$myVar21 // válido;
$_1Big // inválido - deve ser seguido por uma letra;
$1Big // inválido - deve começar com uma letra ou sublinhado;
$_er-t // válido - contém um caractere não alfanumérico (-).
Acessando valores de variáveis PHP
Se quisermos exibir o valor atribuído à nossa variável, podemos simplesmente nos referir a ela com o echo.
Quadro 43- DECLARAÇÃO DE VARIÁVEL
FONTE: o autor.
Veja o resultado do código abaixo:.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
O exemplo a seguir produzirá o mesmo resultado que o exemplo acima.
Quadro 44- DECLARAÇÃO DE VARIÁVEL
FONTE: o autor.
Veja o resultado do código a seguir:
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Usando variáveis, você pode exibir o resultado da adição aritmética.
Quadro 45- OPERAÇÃO ARITMÉTICA
FONTE: o autor.
Veja o resultado do código a seguir:.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Observe que, no exemplo acima, não precisamos informar ao PHP a qual tipo de dados a variável pertence. O fato é que o PHP é uma linguagem de tipagem fraca, ou seja, uma linguagem na qual você não precisa declarar variáveis explicitamente nem especificar seu tipo. O intérprete faz tudo isso sozinho.
Existem dois métodos de saída principais em PHP: echo e print. Operadores echo e print fazem a mesma coisa – exibem dados na tela, mas ainda têm algumas diferenças. As diferenças são pequenas: echo não tem valor de retorno e pode receber vários parâmetros (embora isso raramente seja usado) e print, quando usado, retorna 1, portanto, pode ser usado em expressões e recebe apenas um argumento.
Operador echo: emite uma ou mais linhas.
Na verdade, “echo” não é uma função (é uma construção de linguagem), portanto, não é necessário colocar os parâmetros entre colchetes .
Echo pode ser escrito de duas maneiras, com e sem parênteses: echo ou echo(). Se você usar a sintaxe de parênteses, poderá passar apenas um argumento. Ao usar a sintaxe sem parênteses, você pode passar vários argumentos separando-os com vírgulas.
O exemplo a seguir mostra como produzir texto usando um comando echo (observe que o texto pode conter marcação HTML).
Quadro 46- UDO DO ECHO
FONTE: o autor.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Echo também tem uma forma curta, que é um sinal de igual (=), imediatamente após a marca de início <?. Essa sintaxe abreviada só é válida quando a diretiva de configuração do PHP short_open_tag está habilitada.
Operador print
Print não é uma função "real" (é uma construção de linguagem), portanto, com o echo você pode escrever em duas versões (com e sem colchetes): print ou print(). Mas diferentemente de “echo”, com qualquer que seja a ortografia escolhida, print pode receber apenas um argumento.
PHP é uma linguagem de tipagem dinâmica. Isso significa que o tipo de dados que uma variável pode armazenar é inferido em tempo de execução e, ao contrário de outras linguagens de programação, o PHP não exige que você especifique o tipo de dados da variável.
3.3.1 TIPO STRING
String (string) é uma sequência de caracteres, como "Example world!". Uma string pode consistir em caracteres de qualquer alfabeto, incluindo números pares. Strings são colocadas entre aspas duplas quando são declaradas. Strings também podem ser escritas entre aspas simples, mas ao gerar variáveis, elas serão tratadas de forma diferente: variáveis com aspas duplas são substituídas por valores, já variáveis com aspas simples permanecem inalteradas.
3.3.2 INTEIROS
Um número inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2, ...}, geralmente com 32 bits de comprimento (-2147483648 a 2147483647). Os inteiros contêm apenas inteiros, incluindo números positivos e negativos, ou seja, números sem parte fracionária ou ponto decimal. Eles podem ser decimais (base 10), octal (base 8) ou hexadecimal (base 16). O padrão é decimal (base 10). Inteiros octais podem ser declarados com um prefixo inicial de 0 e inteiros hexadecimais com um 0 x inicial.
3.3.3 TIPO DOUBLE
O Double pode conter números com uma parte fracionária ou decimal, incluindo números positivos e negativos. Por padrão, as variáveis adicionam um número mínimo de casas decimais. No exemplo a seguir, $x é um número de ponto flutuante. A função PHP var_dump() retorna tipo de dados e valor.
Quadro 47- FUNÇÃO VAR_DUMP
FONTE: o autor.
Veja o resultado do código a seguir.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
3.3.4 TIPO BOOLEANO
Variáveis do tipo booleano podem ter dois valores: true e false. Na maioria das vezes, os valores booleanos são usados em construções condicionais.
Quadro 48- TIPO BOOLEANO
FONTE: o autor.
A expressão if() testa se a expressão entre parênteses é verdadeira. O exemplo verifica o valor da variável $foo. Se a expressão for true, então a expressão que segue o operador é executada if. Se a expressão (variável $foo) no operador if() for igual a false, então a expressão após o operador else será executada.
3.3.5 O VALOR NULO ESPECIAL
O valor null indica que nenhum valor foi atribuído à variável. O uso do null é útil nos casos em que você precisa indicar que uma variável não tem valor. Por exemplo, se simplesmente criarmos uma variável sem inicializá-la e tentarmos usá-la, o interpretador nos dará uma mensagem de diagnóstico de que a variável não está definida.
3.3.6 TIPO ARRAY
Array (array) é um tipo de dados composto que pode armazenar vários valores do mesmo tipo de dados e, no exemplo a seguir, $fruit é uma matriz.
Quadro 49- TIPO ARRAY
FONTE: o autor.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Uma matriz é criada usando uma construção array() que define elementos. A contagem de elementos em uma matriz começa do zero.
3.3.6 OBJETO PHP
Um objeto é um tipo de dados que armazena dados e informações sobre como processá-los. Em PHP, um objeto deve ser declarado explicitamente. Primeiro, devemos declarar a classe do objeto. Uma classe é um modelo para objetos e um objeto é uma instância de uma classe.
Quando objetos individuais são criados, eles herdarão todas as propriedades e o comportamento da classe, mas cada objeto terá valores de propriedade diferentes. Suponha que temos uma classe chamada Auto. Um carro pode ter propriedades como modelo, cor e assim por diante. Para armazenar os valores dessas propriedades, podemos definir variáveis como $model, $color etc.
Ao criar objetos separados (Volvo, BMW, Toyota etc.), eles herdam todas as propriedades e o comportamento da classe, mas cada objeto terá valores de propriedade diferentes. Se você criar uma função __construct(), o PHP chamará automaticamente essa função quando você criar um objeto da classe.
Ao trabalhar com números, deve-se notar que o PHP fornece conversão automática de tipo de dados. Por exemplo, se você atribuir um valor inteiro a uma variável, o tipo dessa variável será automaticamente um inteiro. Na próxima linha de código, você pode atribuir uma string à mesma variável e seu tipo mudará para uma string. Essa conversão automática às vezes pode quebrar seu código.
3.4.1 INTEIROS
O tipo de número mais simples no PHP é um inteiro. Como você já sabe, um inteiro é um número sem uma parte decimal. Por exemplo, 7 é um número inteiro, assim como 10358 ou -10358. Por outro lado, 10,0 e 5,58 são números de ponto flutuante.
Assim, um inteiro é um número não decimal entre -2147483648 e 2147483647. Um valor maior que (ou menor que) esse intervalo inteiro será armazenado float porque excede o limite de inteiro.
Outra característica dos números que devemos ter em mente é que, mesmo que seja 4 * 2.5 igual a 10, o resultado é armazenado como float, pois um dos operandos é float (2.5).
Acompanhe algumas regras básicas para determinar um número inteiro.
deve conter pelo menos um número;
não deve ter ponto decimal;
pode ser positivo ou negativo;
pode ser especificado em três formatos: decimal (base 10), hexadecimal (base 16 - prefixado com 0x) ou octal (base 8 - prefixado com 0).
Vamos verificar se o tipo da variável é um inteiro.
Quadro 50- TIPO INTEIRO
FONTE: o autor.
Resultado da execução do código:
bool(true);
bool(falso).
Veja o resultado do código a seguir.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
3.4.2 NÚMERO DE PONTO FLUTUANTE
Ao contrário dos inteiros, o float pode ser representado de várias maneiras. Os valores 4.54 e 7.0 são números de ponto flutuante. O PHP converterá automaticamente o número para tipo float quando números decimais ou muito grandes forem usados. O tipo float geralmente pode armazenar números até 1.7976931348623E+308 (dependente da plataforma) e ter uma precisão máxima de 14 dígitos.
O PHP possui as seguintes funções para verificar se uma variável é do tipo float.
is_float()
is_double()
Como is_double() é apenas um alias is_float(), você pode usar qualquer um deles e obter o mesmo resultado.
Quadro 51- TIPO FLUTUANTE
FONTE: o autor.
Resultado da execução do código:
bool(true);
bool(true).
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
3.4.3 PHP INFINITO
Em PHP, qualquer valor numérico acima PHP_FLOAT_MAX é considerado infinito na plataforma. Você pode verificar se um valor numérico é finito ou infinito usando as funções is_finite() e is_infinite().
A função PHP var_dump() retorna tipo de dados e valor.
Quadro 52- FUNÇÃO VAR_DUMP
FONTE: o autor.
Resultado da execução do código;
float(INF).
Veja o resultado do código a seguir.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
3.4.4 NAN SIGNIFICADO ESPECIAL
Algumas funções podem retornar um valor especial ao trabalhar com números NAN. O valor NAN é abreviado para Not a Number. Esse valor indica que alguma função matemática usada estava fora do intervalo para operações de ponto flutuante ou não conseguiu processar sua entrada. Por exemplo, log(-1) haverá NAN. Da mesma forma, acos(5) também será NAN. Você pode verificar se o valor retornado por uma operação matemática não é um número usando o is_nan(). A função PHP var_dump() retorna tipo de dados e valor.
Quadro 53- USO DO NAN
FONTE: o autor.
Resultado da execução do código:
float(NAN).
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
3.4.5 STRINGS NUMÉRICAS EM PHP
A função is_numeric() pode ser usada para determinar se uma string ou variável é verdadeiramente numérica ou não. Essa função retornará true para números escritos em notação octal, binária ou hexadecimal. Ele também retornará true se os números estiverem na forma exponencial, como +19.42e49.
O PHP usará implicitamente qualquer string numérica válida para o número quando for necessário. Os exemplos a seguir ajudarão você a entender melhor esse processo.
As funções matemáticas são projetadas para operar em variáveis do tipo numérico. Isso significa que os operandos serão variáveis do tipo int e float.
Os dados numéricos são processados usando as seguintes instruções PHP:
a soma de dois números;
diferença de números;
/ quociente da divisão de dois números;
% resto da divisão.
No exemplo a seguir, passamos vários argumentos para o operador “echo”, separando-os com vírgulas.
Quadro 54- ARGUMENTOS PARA OPERADOR ECHO
FONTE: o autor.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Função pi()
A função pi() retorna o valor de pi.
Quadro 55- FUNÇÃO PI
FONTE: o autor.
Funções min() e max()
As funções min() e max() podem ser usadas para encontrar o menor ou o maior valor em uma lista de argumentos.
Quadro 56- FUNÇÃO MIN, MAX
FONTE: o autor.
abs()
A função abs()retorna o módulo ou o valor absoluto (positivo) de um número.
Quadro 57- FUNÇÃO ABS
FONTE: o autor.
ceil()
Use a função ceil() para arredondar um número.
Quadro 58- FUNÇÃO CEI
FONTE: o autor.
floor()
Use a função floor() para arredondar um número para baixo.
Quadro 59- FUNÇÃO FLOOR
FONTE: o autor.
sqrt()
A função sqrt() retorna a raiz quadrada de um número.
Quadro 60- FUNÇÃO SQRT
FONTE: o autor.
round()
A função round() arredonda um número de ponto flutuante para o inteiro mais próximo.
Quadro 61- FUNÇÃO ROUND
FONTE: o autor.
Inteiro aleatório
A função rand() gera um número aleatório. Os argumentos opcionais especificam um intervalo de valores válidos. Se eles não estiverem definidos, o número será selecionado no intervalo de 0 a RAND_MAX.
Quadro 62- FUNÇÃO RAND
FONTE: o autor.
Toda vez que você executar nosso editor on-line obterá resultados diferentes. Para obter um número aleatório de um intervalo específico, adicione os parâmetros opcionais min e max e especifique o menor inteiro e o maior inteiro a serem retornados. Por exemplo, se você deseja obter um número inteiro aleatório entre 9 e 99 (inclusive), use rand(9, 99).
Em scripts PHP, instruções condicionais fornecem a base para a tomada de decisão. As instruções condicionais controlam essencialmente se uma parte de um script é executada com base no resultado de uma expressão específica (ou seja, se a expressão retorna um booleano true ou false).
PHP if declaração
O bloco de construção básico da codificação condicional em PHP é o if. A primeira linha de tal bloco consiste em uma instrução if, seguida por uma expressão entre parênteses (). Por exemplo:
Quadro 63- DECLARAÇÃO IF
FONTE: o autor.
A segunda etapa na criação de uma instrução if envolve especificar uma instrução entre chaves {} a ser executada se a expressão entre parênteses for () avaliada como true (true).
Quadro 64- DECLARAÇÃO IF
FONTE: o autor.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
No exemplo acima, se o valor da variável for $myVar maior que 2 , então a expressão será avaliada como true (true) e a instrução será executada. Se a expressão retornar false (false), a instrução não será executada.
Deve-se notar que, se usando “if” apenas uma linha de script for executada no corpo da instrução, as chaves são opcionais.
Quadro 65- DECLARAÇÃO IF
FONTE: o autor.
No entanto, se você deseja executar várias instruções no corpo da if instrução, esses vários scripts devem ser colocados entre chaves.
Quadro 66- DECLARAÇÃO IF
FONTE: o autor.
Resultado da execução do código:
myVar é maior que 2;
11.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Observe que a chave de fechamento não deve ser seguida por um ponto e vírgula. Os operadores if podem ser aninhados em outros operadores if.
Quadro 67- DECLARAÇÃO IF
FONTE: o autor.
Resultado da execução do código:
cinquenta.
Veja o resultado do código a seguir.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Preste atenção na última linha do exemplo: a instrução não precisa ser escrita exatamente sob o operador if, se a instrução não for grande em tamanho, ela poderá ser escrita em uma linha.
Já sabemos que o operador if permite executar um cenário se a condição for verdadeira. Se a condição for falsa, o script não será executado. No entanto, muitas vezes, é necessário executar alguns cenários quando uma determinada condição for verdadeira e outros cenários quando a condição for falsa. É aqui que a construção entra em jogo if ... else.
A sintaxe if ... else é a mesma do operador if, exceto que o operador else pode ser usado para indicar uma ação alternativa.
Conforme mostrado no exemplo acima, o script após o operador ifé executado quando a expressão é avaliada como verdadeira (ou seja, a variável $hisName contém a string "Igor"), e o script após o operador else é executado se o valor de $hisName não corresponder à string "Igor".
O operador else não pode ser usado separadamente do operador if. O operador else precisa ser colocado somente após o operador if e pode ser considerado como uma ação padrão.
O operador if ... else pode ser aninhado. Uma instrução if é aninhada se estiver dentro de outro bloco if ou else. Se vários operadores são usados no código PHP if, então o operador else sempre se refere ao mais próximo if.
Quadro 68- DECLARAÇÃO IF
FONTE: o autor.
A última instrução else não se aplica a if($a), pois não está localizada no bloco interno, portanto, a mais próxima é if($x). A instrução else dentro do bloco está relacionada a if($b), porque esta if é a mais próxima.
if... elseif... else
Se você precisar verificar várias condições seguidas, o operador ou é adequado para essa finalidade else if (essa é a mesma construção, escrita de maneira diferente). Não é uma construção autônoma do PHP – é um estilo de programação que usa instruções repetidas if/else.
Quadro 69- SINTAXE DA DECLARAÇÃO IF
FONTE: o autor.
3.7 SWITCH EM PHP
Um operador switch é semelhante a uma série de operadores if com a mesma condição. Muitas vezes, há a necessidade de comparar a mesma variável ou expressão com muitos valores diferentes e executar diferentes cenários, dependendo do valor que essa variável ou expressão assume. Essa é exatamente a situação para a qual o operador é conveniente switch.
Use o operador switch para selecionar um dos muitos blocos de código a serem executados.
Quadro 70- SWITCH CASE
FONTE: o autor.
É assim que o operador “switch” funciona: ele pega a expressão original n (na maioria das vezes uma variável), que é avaliada uma vez. Em seguida, o valor da expressão é comparado com todos os valores ao lado da palavra-chave case(rótulo), na ordem em que aparecem. Se houver uma correspondência, o bloco de código associado a esse caso será executado. Use break para evitar que o código salte automaticamente para o próximo rótulo. O operador default é usado se nenhuma correspondência for encontrada.
Observe que cada vez que a palavra-chave case é seguida por um valor (literal), que deve ser seguido por dois pontos.
Break
As instruções após o case serão executadas até que o operador seja encontrado break.
O interpretador PHP, ao encontrar a palavra-chave break, sai da instrução switch e prossegue para executar a instrução localizada após a chave de fechamento da instrução switch.
Se você não escrever uma instrução break, a instrução switch começará a executar o bloco de código no case rótulo cujo valor corresponde ao valor da expressão condicional e continuará executando as instruções até atingir o final de todo o bloco.
Qualquer expressão convertida em um tipo simples, ou seja, uma string (string), número (integer), número real (float) ou booleano ( ), pode ser usada no operador bool. Arrays ou objetos não são usados.
Continue
O operador continue é usado em construções switch e age como o operador break.
A lista de instruções a serem executadas em uma seção case também pode estar vazia, o que simplesmente transfere o controle para a lista de instruções na próxima seção case.
No mundo da programação e scripts, existem duas maneiras de escrever código. A primeira delas é escrever seções longas e monolíticas do roteiro. A outra é dividir o código em blocos organizados e autocontidos que podem ser reutilizados sem reinventar o mesmo código repetidamente.
Uma função é um bloco de código nomeado que pode ser chamado de qualquer outro pedaço de código para executar uma tarefa específica. Valores (argumentos) podem ser passados para uma função para que possam ser utilizados no script da função, e a função, por sua vez, pode retornar resultados para o local no script de onde foi chamada.
Funções em PHP vêm em duas formas.
Funções embutidas: funções que vêm com PHP para facilitar a vida do seu desenvolvedor Web, como print_r(), var_dump, gettype() fopen() etc.
Funções personalizadas: além das funções internas, podemos criar nossos próprios pacotes de código e usá-los sempre que necessário, simplesmente chamando-os.
Criando uma função PHP personalizada
O primeiro passo na criação de uma função PHP é fornecer um nome pelo qual você fará referência à função. De acordo com a convenção de nomenclatura para funções PHP, elas devem começar com uma letra ou sublinhado e não devem conter espaços ou pontuação. Também é importante garantir que o nome da sua função não entre em conflito com nenhuma das funções internas do PHP.
Uma função é um pedaço de código que toma outra entrada na forma de um parâmetro, processa-o e, em seguida, retorna um valor. Um recurso php function é um pedaço de código que pode ser usado várias vezes e aceita listas de argumentos como entrada e retorna um valor. A função “mail” envia emails por meio da programação em PHP. Já a função “fputs” é uma outra forma de chamar uma função de escrita como a “fwrite”.
As funções PHP são criadas usando a palavra-chave function seguida por um nome e, finalmente, um conjunto de parênteses (). Em seguida, o corpo da função (o script que faz o trabalho da função), que está entre chaves {}.
Observação: os nomes das funções não diferenciam maiúsculas de minúsculas.
Parâmetros de função PHP
Parâmetros (ou argumentos, como são mais comumente chamados) podem ser passados para uma função. Os argumentos são especificados após o nome da função entre parênteses (). Você pode adicionar quantos argumentos quiser, simplesmente separando-os com vírgulas. As mesmas regras se aplicam a nomes de parâmetros que se aplicam a nomes de variáveis em geral.
Passando parâmetros para uma função por referência
Por padrão, os parâmetros da função são passados por valor, portanto, se o valor de um argumento for alterado dentro da função, ele não será afetado fora da função. Se você deseja permitir que a função altere os valores dos parâmetros, o último deve ser passado por referência.
A passagem de parâmetros por referência é feita adicionando um e comercial (&) ao nome do parâmetro na definição da função, conforme mostrado no exemplo a seguir.
Quadro 71- FUNÇÃO
FONTE: o autor.
Veja o resultado do código abaixo.
CÓDIGO PHP EXECUTADO NO NAVEGADOR
FONTE: o autor.
Os arrays PHP fornecem uma maneira de agrupar muitas variáveis para que possam ser referenciadas e manipuladas com uma única variável. De muitas maneiras, um array é uma lista independente de variáveis.
O que é uma matriz?
Um array é uma coleção de valores que são armazenados em uma única variável. Se você tiver uma lista de elementos (por exemplo, uma lista de nomes de smartphones), pode-se armazenar smartphones em variáveis separadas..
Quadro 72-DECLARAÇÃO DE VARIÁVEIS
FONTE: o autor.
Mas e, se você precisar armazenar nomes de cidades em variáveis e, dessa vez, houver centenas delas, em vez de três? Não é indicado armazenar nomes de cidades em variáveis separadas e, nesse caso, você precisará de um array PHP.
Depois que uma matriz é criada, os elementos podem ser adicionados, removidos, modificados, classificados e muito mais. Os elementos em uma matriz podem ser de qualquer tipo de dados e uma matriz pode conter qualquer combinação de tipos de dados, por isso, não é necessário que todos os elementos em uma matriz sejam do mesmo tipo.
RESUMO DO TÓPICO 2
Neste tópico, você aprendeu:
Uma introdução ao PHP.
A sintaxe e lógica de programação em PHP.
As variáveis, os tipos de dados, PHP echo/print.
Construção de estruturas de condição em PHP.
Construção de estruturas de loop em PHP.
Construção e uso de funções em PHP.
Uso de estrutura de dados em PHP.
AUTOATIVIDADE
1 Loops, em qualquer linguagem de programação, são estruturas usadas para executar o mesmo bloco de código um número especificado de vezes. Sobre PHP, acerca da sintaxe correta para se adicionar 1 (um) à variável contador, assinale a alternativa CORRETA:
a) ( ) $contador++
b) ( ) $contador=+1
c) ( ) Contador++
d) ( ) ++contador
2 O termo PHP significa PhP Hypertext Preprocessor. Originalmente, o "PHP" dentro da sigla era para Personal Home Page. Porém, à medida que a linguagem evoluiu e pegou, ela acabou sendo usada para mais do que apenas páginas pessoais. Então, essa sigla, por sua vez, tornou-se apenas o "P" dentro do PHP. Acerca da linguagem PHP, analise as sentenças a seguir.
I- Um conteúdo será considerado como um código PHP pelo interpretador se estiver dentro do par de tags <?php ?>.
II- A expressão “$echo” representa um exemplo de utilização de operador de comparação.
III- Em PHP, as variáveis são definidas com o símbolo "$" antes do nome da variável.
Assinale a alternativa CORRETA :
a) ( ) As sentenças I e II estão corretas.
b) ( ) Somente a sentença II está correta.
c) ( ) As sentenças I e III estão corretas.
d) ( ) Somente a sentença III está correta.
3 Dentro do código PHP que opera um site, variáveis e matrizes ordenadas e associativas podem ser gerenciadas. O código PHP também lida e valida formulários HTML e executa loops de código. Acerca da linguagem PHP, classifique V para as sentenças verdadeiras e F para as falsas.
( ) Todos os nomes de variáveis PHP devem começar com um caractere $, seguido pelo nome da variável.
( ) Os nomes das variáveis não diferenciam maiúsculas de minúsculas.
( ) Se quisermos exibir o valor atribuído à nossa variável, podemos simplesmente nos referir a ela com o echo.
Assinale a alternativa que apresenta a sequência CORRETA:
a) ( ) V – F – V.
b) ( ) V – F – F.
c) ( ) F – V – F.
d) ( ) F – F – V.
4 Os valores atribuídos a uma variável PHP podem ser de diferentes tipos de dados, incluindo tipos simples de string e numéricos para tipos de dados mais complexos, como matrizes e objetos. Disserte sobre os tipos de números em PHP.
5 No mundo da programação e scripts, existem duas maneiras de escrever código. A primeira delas é escrever seções longas e monolíticas do roteiro. A outra é dividir o código em blocos organizados e autocontidos que podem ser reutilizados sem reinventar o mesmo código repetidamente. Nesse contexto, disserte sobre estrutura de dados em PHP.
Aluno, no Tópico 3, abordaremos o conceito de banco de dados de forma genérica e, logo em seguida, discutiremos sobre o MySQL: como instalar e como criar banco de dados e tabelas.
Também abordaremos a questão principal e mais prática em banco de dados: consultas e análises. Trataremos das consultas: select, insert, update e delete, bem como o uso do join.
Bancos de dados são um componente-chave em muitos websites e aplicações e estão no centro de como os dados são armazenados e trocados pela Internet. Neste tópico, você irá compreender os conceitos mais importantes para seu uso.
As empresas geralmente coletam informações sobre clientes, funcionários, operações, finanças, entre outras. Essas informações podem ser bem utilizadas. Por exemplo, você pode analisá-lo e entender como pode aumentar os lucros. Com base nele, você pode criar modelos de ML complicados que ajudarão a melhorar o produto. Ou, no final, essas informações podem simplesmente ser revendidas para outras empresas.
Para coletar e analisar informações, é preciso ser capaz de armazená-las. Claro, você pode salvar informações em formato impresso em pastas regulares ou em arquivos do Excel. E muitas empresas ainda retêm informações dessa maneira. No entanto, isso é adequado apenas para pequenas empresas com uma pequena quantidade de dados. Quando uma empresa cresce, há muitos dados, então, essas opções de armazenamento de informações se tornam inadequadas. Assim, os bancos de dados precisam de socorro.
Bancos de dados ajudam a resolver muitos problemas que pastas e arquivos do Excel não podem resolver. Acompanhe.
O banco de dados pode armazenar uma enorme quantidade de dados – bilhões e trilhões de registros.
Os bancos de dados ajudam a proteger os dados – eles permitem que você dê acesso aos dados apenas a um determinado círculo de pessoas. Ao mesmo tempo, você pode definir restrições sobre quem pode acessar quais dados e qual tipo de acesso, apenas leitura ou edição também.
Os bancos de dados podem ajudar a manter os dados corretos por meio de vários tipos de verificações.
Os bancos de dados podem permitir que um grande número de pessoas interaja com os dados ao mesmo tempo.
Então, o que é um banco de dados? Em suma, é uma certa estrutura na qual a informação é armazenada. Pouco se sabe a partir dessa definição. No entanto, é difícil dar uma definição mais específica, pois existem muitos tipos de banco de dados e todos eles são completamente diferentes. Essa definição ficará mais clara quando descrevermos melhor os tipos mais populares de banco de dados com exemplos específicos.
Existem muitos tipos diferentes de bancos de dados. Os tipos mais populares são:
Bancos de dados relacionais.
Valor-chave do banco de dados.
Bancos de dados orientados a documentos.
Bancos de dados de gráficos.
Bancos de dados de colunas.
Um banco de dados relacional armazena e organiza pontos de dados relacionados entre si. Com base no modelo de banco de dados relacional, um banco de dados relacional apresenta conjuntos de dados, como uma coleta de tabelas, e fornece aos operadores relacionais para manipular os dados de forma tabular. Um banco de dados relacional é um banco de dados que consiste em tabelas. A chave primária é uma coluna (ou grupo de colunas) de uma tabela que contém valores únicos para cada linha.
Um banco de dados relacional é um tipo de banco de dados que se concentra na relação entre elementos de dados armazenados. Ele permite que os usuários estabeleçam links entre diferentes conjuntos de dados dentro do banco de dados e usem esses links para gerenciar e referenciar dados relacionados. Uma chave estrangeira é uma coluna em uma tabela que contém a chave primária de outra tabela. A chave primária e a chave estrangeira ajudam não apenas a conectar tabelas de banco de dados relacionais entre si. Elas também ajudam a monitorar a integridade e a exatidão dos dados no banco de dados.
O banco de dados SQL tem sido, há muito tempo, o cavalo de trabalho testado e verdadeiro da empresa back-end e no centro de tudo o que fazemos nesta era eletrônica. O SQL foi criado, no início da década de 1970, na IBM, como método de acesso ao sistema de banco de dados System R da IBM. Em uma distribuição estruturada com base em fontes, o servidor mysqld é instalado no diretório libexec. Em uma distribuição binária, o servidor mysqld é instalado no diretório bin. Tanto na distribuição baseada em fontes quanto na binária, os programas clientes são instalados no diretório bin.
Outros tipos de bancos de dados que não são relacionais costumam ser chamados de bancos de dados noSQL, eles podem ser:
Valor-chave do banco de dados (exemplo - Redis): o nome indica que tipo de dados é conveniente armazenar em um banco de dados chave-valor. Esse banco de dados armazena dados que são convenientemente representados como um par chave-valor.
Orientado a documentos (exemplo - Mongo DB): em um banco de dados orientado a documentos, a unidade de armazenamento é o documento (que pode estar no formato json ou xml ou qualquer outro). A conveniência de tais bancos de dados é que eles podem gravar, de forma rápida e fácil, qualquer tipo de dados, enquanto esses dados não precisam ter uma estrutura clara. A desvantagem de tais bancos de dados é que os dados neles são inconvenientes para analisar.
Bancos de dados de gráficos (exemplo - Orient DB): como o nome sugere, um banco de dados gráfico armazena dados na forma de gráficos. Esse tipo de banco de dados é conveniente quando você precisa encontrar informações não apenas sobre algum objeto, mas também sobre as conexões desse objeto com outros.
Bancos de dados de coluna (coluna) (exemplos - Cassandra, Clickhouse): os bancos de dados relacionais armazenam dados como linhas. Quanto aos bancos de dados colunares, os dados são escritos na forma de colunas. Portanto, a busca de dados em um banco de dados colunar não se faz pesquisando todas as linhas, como ocorre em um banco de dados relacional, mas pesquisando o valor requerido naquelas colunas da tabela que nos interessam.
Abaixo, veremos algumas peculiaridades desse banco de dados:
Aqui está um exemplo simples para criar um banco de dados chamado TUTORIAIS. Abra o phpMyAdmin, selecione a opção SQL e digite o código abaixo, em seguida clique em EXECUTAR:
Quadro 73- CRIAR BANCO DE DADOS
FONTE: o autor.
Isso criará um banco de dados MySQL chamado TUTORIALS. Conforme visualizado a seguir:
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
Criar um banco de dados usando script PHP
O PHP usa a função mysqli query() ou mysql_query() para criar ou excluir um banco de dados MySQL. Essa função recebe dois parâmetros e retorna true em caso de sucesso ou false em caso de falha.
Para começar, o comando de criação de tabela requer os seguintes detalhes:
nome da tabela;
nome dos campos;
definições para cada campo;
Aqui está uma sintaxe SQL genérica para criar uma tabela MySQL:
Quadro 74- CREATE TABLE
FONTE: o autor.
Agora, vamos criar a seguinte tabela no banco de dados TUTORIALS. Para isso, clique no banco de dados “tutorials” no lado esquerdo, depois em SQL, e digite o código abaixo.
Quadro 75- CREATE TABLE TUTORIAIS
FONTE: o autor.
Veja o código no ambiente de desenvolvimento a seguir:
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
Agora, vejamos o resultado após o clique em Executar.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
MySQL é um sistema de gerenciamento de banco de dados de código aberto que está sendo usado para gerenciar sistemas de banco de dados, recuperando dados de tabelas de banco de dados etc. O comando DESCRIBE table localiza informações sobre a estrutura de uma tabela.
Veja alguns itens que precisam de explicação a seguir.
O atributo de campo not null está sendo usado, porque não queremos que esse campo seja null. Portanto, se um usuário tentar criar um registro com um valor null, o MySQL gerará um erro.
O atributo de campo AUTO_INCREMENT diz ao MySQL para adicionar um número a mais no valor que estiver sido declarado.
A palavra-chave primary key é usada para definir uma coluna como chave primária, criando tabelas a partir do prompt de comando.
O MySQL não termina um comando até que você dê um ponto e vírgula (;) no final do comando SQL.
Os dados são inseridos em tabelas MYSQL, usando o comando SQL INSERT INTO. Veremos abaixo algumas situações de inserção de dados.
Aqui está uma sintaxe SQL genérica do comando INSERT INTO para inserir dados na tabela MySQL.
Quadro 76- INSERT INTO
FONTE: o autor.
Para inserir tipos de dados de string, é necessário manter todos os valores entre aspas duplas ou simples, por exemplo, "valor".
Inserindo dados do prompt de comando
Para inserir dados do prompt de comando, usaremos o comando SQL INSERT INTO para inserir dados na tabela MySQL tutorials_tbl.
O exemplo a seguir criará três registros na tabela tutorials_tbl.
Quadro 77- TABELA TUTORIAIS
FONTE: o autor.
Veja o código acima no ambiente de desenvolvimento.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
Veja o resultado do código.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
No exemplo acima, não fornecemos um tutorial_id, porque, no momento da criação da tabela, demos a opção AUTO_INCREMENT para esse campo. Portanto, o MySQL se encarrega de inserir esses IDs automaticamente. Aqui, NOW() é uma função MySQL, que retorna a data e hora atuais.
O comando SQL SELECT é usado para buscar dados de qualquer banco de dados relacional. Você pode usar esse comando no prompt mysql> assim como em qualquer script como PHP.
Aqui está a sintaxe SQL genérica do comando SELECT para buscar dados da tabela MySQL:
Quadro 78- SELECT QUERY
FONTE: o autor.
Buscando dados de um prompt de comando
Isso usará o comando SQL SELECT para buscar dados da tabela MySQL tutorials_tbl.
O exemplo a seguir retornará todos os registros da tabela tutorials_tbl.
Quadro 79- TABELA TUTORIAIS
FONTE: o autor.
Veja o código acima no ambiente de desenvolvimento e seu resultado.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
WHERE Clause in MySQL é uma palavra-chave usada para especificar os critérios exatos de dados ou linhas que serão afetados pela instrução SQL especificada. A cláusula WHERE pode ser usada com instruções SQL, como INSERT, UPDATE, SELECT e DELETE para filtrar registros e executar várias operações nos dados.
Sintaxe
Observe abaixo um exemplo de sintaxe dessa sentença:
Quadro 80- SELECT
FONTE: o autor.
Você pode usar uma ou mais tabelas separadas por uma vírgula para incluir várias condições usando uma cláusula WHERE, mas a cláusula WHERE é uma parte opcional do comando SELECT.
Você pode especificar qualquer condição usando a cláusula WHERE.
Você pode especificar mais de uma condição usando os operadores AND ou OR .
Uma cláusula WHERE pode ser usada junto com o comando SQL DELETE ou UPDATE também para especificar uma condição.
Buscando dados do prompt de comando.
O exemplo a seguir retornará todos os registros da tabela tutorials_tbl para os quais o nome dO autor. é Sanjay.
Quadro 81- TABELA TUTORIAIS
FONTE: o autor.
Veja o código no ambiente de desenvolvimento e seu resultado.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
A menos que seja realizada uma comparação LIKE em uma string, a comparação não diferencia maiúsculas de minúsculas. Você pode tornar sua pesquisa sensível a maiúsculas e minúsculas usando a palavra-chave BINARY da seguinte maneira.
Quadro 82- EXEMPLO LIKE
FONTE: o autor.
Veja o resultado do código abaixo no ambiente de desenvolvimento.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
Para armazenar dados em tabelas, usamos bancos de dados. Depois que os dados são escritos para tais tabelas, é comum que você precise atualizar campos específicos em algum momento ao longo da vida útil dos dados. Para fazer isso, podemos utilizar a instrução UPDATE no idioma SQL. Uma consulta de atualização é uma forma de consulta de ação que faz várias atualizações para vários registros ao mesmo tempo.
Quadro 83- EXEMPLO UPDATE
FONTE: o autor.
A cláusula WHERE é muito útil quando você deseja atualizar as linhas selecionadas em uma tabela.
Atualizando dados do prompt de comando.
Isso usará o comando SQL UPDATE com a cláusula WHERE para atualizar os dados selecionados na tabela MySQL tutorials_tbl.
O exemplo a seguir atualizará o campo tutorial_title para um registro com o tutorial_id como 3.
Quadro 84- TITLE TUTORIAL
FONTE: o autor.
Veja o código abaixo no ambiente de desenvolvimento.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
Se você deseja excluir um registro de qualquer tabela MySQL, pode usar o comando SQL DELETE FROM. Você pode usar esse comando no prompt mysql>, assim como em qualquer script como PHP.
O bloco de código a seguir possui uma sintaxe SQL genérica do comando DELETE para excluir dados de uma tabela MySQL.
Quadro 85- DELETE QUERY
FONTE: o autor.
Se a cláusula WHERE não for especificada, todos os registros serão excluídos da tabela MySQL fornecida.
Você pode especificar qualquer condição usando a cláusula WHERE.
Você pode excluir registros em uma única tabela por vez.
A cláusula WHERE é muito útil quando você deseja excluir linhas selecionadas em uma tabela.
Excluindo dados do prompt de comando
Isso usará o comando SQL DELETE com a cláusula WHERE para excluir os dados selecionados na tabela MySQL – tutorials_tbl.
O exemplo a seguir excluirá um registro do tutorial_tbl cujo tutorial_id é 3.
Quadro 86- TABELA TUTORIAIS
FONTE: o autor.
Veja o resultado do código no ambiente de desenvolvimento.
PAINEL DE CONTROLE DO PHPMYADMIN
FONTE: o autor.
O QUE É MySQL? ENTENDA A TECNOLOGIA E SUAS PRINCIPAIS VANTAGENS
San Internet
O MySQL vem ganhando bastante notoriedade no ecossistema moderno de Big Data. Considerado o banco de dados mais popular da atualidade, a tecnologia pode ser utilizada de forma eficaz, por qualquer empresa do ramo de TI (Tecnologia da Informação).
Em um contexto de transformação digital, é fundamental que as organizações busquem soluções eficientes para gerenciar suas informações. É aqui que o MySQL surge.
Quer entender melhor como ele funciona e quais os benefícios para seu empreendimento? Continue acompanhando o conteúdo a seguir!
O que é um sistema de banco de dados?
Antes de tudo, vamos te explicar a relação entre banco de dados e MySQL. Um sistema de bancos de dados permite o armazenamento de informações valiosas com segurança e organização, eficiência e acessibilidade digital.
Nesse sentido, trata-se de uma ferramenta indispensável para qualquer companhia que utiliza dados cadastrais e outras informações para funcionar — prestadoras de telefonia, empresas de soluções digitais e outras.
Para atender aos inúmeros requisitos de tantas organizações diferentes, o banco de dados se subdivide em duas categorias: sistema relacional e não relacional. Então, para que você entenda a funcionalidade do MySQL, focaremos no tipo relacional mais adiante.
O que é o MySQL?
Conforme dissemos logo acima, é um RDBMS (Sistema de Banco de Dados Relacional). Foi criada pela empresa sueca MySQL AB, em 1994. Contudo, foi adquirida pela norte-americana Sun Microsystems em 2008, que acabou ficando com a patente do servidor.
O sistema apresenta diversas particularidades. A primeira delas é que se trata de um software de código aberto; pode ser usado livremente e modificado sempre que necessário.
Na prática, qualquer negócio pode instalar e alterar seu código fonte, a fim de adaptar suas configurações para a realidade da empresa.
Além disso, funciona sob o modelo cliente-servidor. Sempre que os clientes pedem acesso às informações, se conectam ao servidor relacional. Mas, o que significa um banco de dados relacional?
Esse tipo fornece confiabilidade e facilidade de armazenamento. Isso é possível graças à sua construção; formato de linhas e colunas, que agrupa os dados de forma clara e ordenada.
E como ele funciona?
Você entendeu mais acima que o MySQL funciona sob o modelo cliente-servidor, que é quando vários dispositivos se conectam ao servidor, por meio de uma rede específica.
Os clientes podem fazer as solicitações em suas telas, que utilizem uma IGU (Interface Gráfica do Usuário). A partir disso, o servidor compreende as instruções recebidas, e tenta entregar o melhor resultado. Esse processo acontece da seguinte forma:
criação do banco de dados: o MySQL cria um ambiente para armazenar e manipular os dados, determinando a relação de cada coluna;
solicitações do cliente: as solicitações podem ser feitas diretamente no MySQL, basta digitar o comando SQL;
resposta do servidor: o servidor responde conforme a informação dada pelo cliente.
No caso do cliente, é importante esclarecer qual IGU foi utilizado. O ideal é que seja simples e leve — como o MySQL —, a fim de garantir a eficiência na operação. De todo modo, cada cliente precisa selecionar seu IGU conforme suas necessidades.
Qual a diferença entre SQL e MySQL?
Entre os sistemas RDBMS mais populares do mercado, o MySQL está no topo da lista atualmente. Como você já entendeu até aqui, ele segue o modelo cliente-servidor.
Porém, como o cliente e o servidor se comunicam em um ambiente relacional? Utilizando a linguagem SQL (Structured Query Language).
Todo sistema RDBMS costuma ser escrito em diferentes linguagens de programação, mas sempre usam o SQL em sua estrutura base para se comunicar com o banco de dados. O próprio SQL é um excelente exemplo disso, que foi desenvolvido em C e C++.
Ele indica ao servidor o que fazer com a informação recebida. Então, exerce as seguintes funções:
data query: pede informações específicos ao banco de dados;
data manipulation: realiza operações diversas para modificar os dados, seus valores e visuais;
data identity: classifica os tipos de informações e determina as relações da colunas e linhas no ambiente de armazenamento;
data access control: oferece soluções de segurança para proteger as informações armazenadas, incluindo quem pode visualizá-las e utilizá-las.
Qual é a finalidade do MySQL?
O servidor MySQL é usado para gerenciar as informações de um banco de dados.
Por ter uma interface descomplicada, fácil de usar e se adaptar a muitos sistemas operacionais, muitas companhias que trabalham com um grande volume de dados a utilizam.
Entre elas, podemos citar instituições como a NASA, o Bradesco, HP, Sony e outras.
Quais são as vantagens de usar o MySQL?
Já deixamos claro a popularidade do MySQL por aqui. Não é à toa que grandes empresas do mundo a utilizam para gerenciar seus dados. Veja logo abaixo os maiores benefícios de utilizar esse RDBMS para gerir seu negócio.
Facilidade de uso - Vale destacar novamente sua facilidade de manuseio. Você pode alterar seu código-fonte para atender às necessidades da sua companhia, sem precisar fazer maiores investimentos.
Porém, caso deseje mais suporte e recursos, é possível fazer um upgrade para a versão corporativa. Todo o processo é rápido e simples.
Desempenho - O MySQL oferece máximo desempenho e velocidade. Isso porque, ele conta com um enorme leque de servidores cluster, facilitando o armazenamento de grande quantidade de dados, bem como a execução de atividades mais pesadas.
Segurança - A segurança dos dados deve ser a primeira preocupação de qualquer negócio na escolha de um RDBMS. O MySQL apresenta um Sistema de Privilégios de Acesso e Gerenciamento de Contas de Usuário.
Trata-se de recurso que fortalece a proteção das informações armazenadas. Além disso, dispõe de verificação auto-hospedada e criptografia de senhas.
Alta disponibilidade - Não é novidade que os dados são o cerne de qualquer empreendimento. Sejam eles parte de um aplicativo, dispositivo móvel ou sistema corporativo armazenado em nuvem. Dessa forma, é crucial que eles estejam disponíveis para manuseio a todo momento.
Inclusive, alguns softwares não suportam períodos de inatividade, mesmo que somente por alguns minutos. Por isso, quando falamos na alta disponibilidade do MySQL, nos referimos ao seu desempenho nos momentos de falha.
Isso pode acontecer por erros técnicos no host, no banco de dados, no sistema operacional, ou ser um problema de hardware. Para evitar essas situações, esse RDBMS oferece disponibilidade 24h, além de um conjunto de soluções:
Replicação: permite que as informações sejam copiadas para outros servidores, a fim de assegurar backups em caso de falhas, mas também para distribuir as cargas de trabalho. Isso garante a alta disponibilidade do banco de dados;
Gestão de failovers com GTID (Global Transaction Identifiers): caso haja uma falha antes da finalização dos backups, o sistema identifica as transações interrompidas e compara os dados replicados com GTIDs — IDs de transação adicionadas a cada processo concluído.
Replicação de grupo: consiste em uma solução mais eficiente de replicação, pois não exige qualquer intervenção manual. Nesse processo, um grupo de servidores coordena-se automaticamente para controlar a gestão de failover e outras atividades;
MySQL Cluster CGE (Carrier Grade Edition): uma versão do banco de dados que apresenta ainda mais disponibilidade. O MySQL conseguiu essa funcionalidade a partir da sua arquitetura share-nothing. O Cluster é capaz de replicar os dados na memória em pouquíssimo tempo, aumentando a disponibilidade.
Amplamente utilizado - Como mostramos nos tópicos anteriores, o MySQL vem sendo utilizado por inúmeros segmentos do mercado.
Isso significa que ele oferece muitos recursos, especialmente para programadores experientes.
Então, caso precise modificar algo específico dentro desse RDBMS, não terá dificuldades para encontrar desenvolvedores dispostos a trabalharem com o sistema.
Conclusão
Como você pode notar, o MySQL é um sistema de gestão de banco de dados relacional, bastante popular e que oferece inúmeros recursos interessantes. Empresas ao redor do mundo o utilizam para organizar seus dados corporativos.
Informações confidenciais valiosas, códigos de backend e construções de aplicativos voltados para o cliente estão entre os principais dados armazenados nesse ambiente.
Nesse sentido, se você pretende trabalhar com esse RDBMS, é importante cuidar para que a implementação aconteça de forma integrada e organizada.
Assim, será possível coletar, transformar e compartilhar dados com rapidez, confiabilidade e segurança para qualquer sistema.
FONTE: <https://blog.saninternet.com/mysql>. Acesso em: 30 set. 2022.
RESUMO DO TÓPICO 3
Neste tópico, você aprendeu:
Uma introdução a banco de dados.
Introdução a banco de dados MySQL.
Os tipos de banco de dados.
MySQL, Connection, Data Types.
As consultas e as análises.
Procedimentos de inserções usando MySQL;
AUTOATIVIDADE
1 MySQL é um sistema de gerenciamento de banco de dados de código aberto que está sendo usado para gerenciar sistemas de banco de dados, recuperando dados de tabelas de banco de dados etc. Para localizar informações sobre a estrutura de uma tabela, utiliza-se, no MySQL, determinado comando. Acerca desse comando, assinale a alternativa CORRETA:
a) ( ) SELECT DATABASE .
b) ( ) DESCRIBE fields.
c) ( ) SHOW TABLES.
d) ( ) DESCRIBE table.
2 Um banco de dados relacional armazena e organiza pontos de dados relacionados entre si. Com base no modelo de banco de dados relacional, um banco de dados relacional apresenta conjuntos de dados, como uma coleta de tabelas, e fornece aos operadores relacionais para manipular os dados de forma tabular. Acerca de banco de dados relacionais, analise as sentenças a seguir.
I- Um banco de dados relacional é um banco de dados que consiste em tabelas.
II- Um banco de dados relacional possui duas características muito importantes: os dados não necessariamente são distribuídos de acordo com o significado das tabelas; e existem relacionamentos entre tabelas.
III- A chave primária é uma coluna (ou grupo de colunas) de uma tabela que contém valores únicos para cada linha.
Assinale a alternativa CORRETA :
a) ( ) As sentenças I e II estão corretas.
b) ( ) Somente a sentença II está correta.
c) ( ) As sentenças I e III estão corretas.
d) ( ) Somente a sentença III está correta.
3 Um banco de dados relacional é um tipo de banco de dados que se concentra na relação entre elementos de dados armazenados. Ele permite que os usuários estabeleçam links entre diferentes conjuntos de dados dentro do banco de dados e usem esses links para gerenciar e referenciar dados relacionados. Em relação ao assunto banco de dados relacionais, classifique V para as sentenças verdadeiras e F para as falsas.
( ) Uma chave estrangeira é uma coluna em uma tabela que contém a chave primária de outra tabela.
( ) A chave primária e a chave estrangeira ajudam não apenas a conectar tabelas de banco de dados relacionais entre si. Elas também ajudam a monitorar a integridade e a exatidão dos dados no banco de dados.
( ) Structured Query Language (SQL) é mais frequentemente usado para interagir com bancos de dados não relacionais.
Assinale a alternativa que apresenta a sequência CORRETA:
a) ( ) V – F – F.
b) ( ) V – V – F.
c) ( ) F – V – F.
d) ( ) F – F – V.
4 Outros tipos de bancos de dados que não são relacionais costumam ser chamados de bancos de dados no SQL. Disserte sobre alguns exemplos deles.
5 Um banco de dados é uma tabela que consiste em linhas e colunas. SQL é a linguagem dos bancos de dados. Facilita a recuperação de informações específicas de bancos de dados que são mais utilizados para análise. Comente sobre a WHERE CLAUSE.