Validação de campos de Textfields é sempre complicado para quem esta começando,
esta
dica cobre a maioria de tipos de campos pra validação, neste exemplo
utilizamos duas classes uma que ira pegar o conteúdo do text field e
passar para outra Matches, que fara a comparação.
E
muito interessante manter esse esquema principalmente se você irá
utilizar varias classes para serem analisadas, assim se economiza muitas
linhas de código;
Esta Classe recebe as String passadas pela Classe de Validação e retorna um boleano.
import java.text.Normalizer;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Edson Pessotti
*/
public class Matches {
public boolean matchesOnlyNumber(String text) {
return text.matches("[0123456789]+");
}
public boolean matchesOnlyText(String text) {
CharSequence cs = new StringBuilder(text);
text= Normalizer.normalize(cs, Normalizer.Form.NFKD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
return text.matches("[Ww a-zA-Z]+"); /
}
public boolean matchesOnlyAlfa(String text) {
CharSequence cs = new StringBuilder(text);
text= Normalizer.normalize(cs, Normalizer.Form.NFKD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
return text.matches("[wdWD a-zA-Z0-9/_-]+");
}
public boolean matchesOnlyValor(String text) {
return text.matches("[\"^[-+]?\\d{1,3}(\\.\\d{3})*,\\d{2}$\"]+");
}
public boolean matchesOnlyCPF(String text) {
return text.matches("[/(^\\d{3}\\.\\d{3}\\.\\d{3}\\-\\d{2}$)|(^\\d{2}\\.\\d{3}\\.\\d{3}\\/\\d{4}\\-\\d{2}$)/ ]+"); //Passa para o método matches a regex
}
}/////////
//////////
Esta parte do código deve estar na classe de validação, cada qual chama o metodo matches
corrrespondente ao seu tipo. recebendo um boleno caso não bata com o formato exibe mensagem
de erro. suporta os principais tipos para validação, caso você tenha uma sugestão melhor e só deixar nos comentários.
if(!cli.matchesOnlyAlfa(tcep.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir Letras no CEP.");
}
if(!cli.matchesOnlyAlfa(tnome.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir números no nome.");
}
if(!cli.matchesOnlyAlfa(tinsc.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir Letras na Iscrição Estadual.");
}
if(!cli.matchesOnlyAlfa(tcnpj.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir Letras no CNPJ/CPF.");
}
if(!cli.matchesOnlyAlfa(tfone.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir Letras no Telefone.");
}
if(!cli.matchesOnlyText(tramo.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir números no ramo.");
}
if(!cli.matchesOnlyText(tcidade.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir números no Cidade.");
}
if(!cli.matchesOnlyText(testado.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir números no Estado.");
}
if(tendereco.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Ops!! Vamos Preencher o Endereço Gente.");
}
if(!cli.matchesOnlyAlfa(tbairro.getText())) {
JOptionPane.showMessageDialog(null, "Você não pode inserir números no Bairro.");
}
Até A próxima.
Edson pessotti
sábado, 16 de dezembro de 2017
segunda-feira, 9 de outubro de 2017
PHP Arrays
Arrays
Nesta lição veremos o que array, como usá-los e o que podemos fazer com eles.Entender arrays pode ser um pouco difícil no início. Mas, não desanime, vamos tentar... nós iremos tornar o processo de aprendizado o mais fácil possível.
O que é array?
Array é uma coleção (ou conjunto) de elementos indexados na qual cada um dos elementos tem um número identificador único.Parece confuso? Creia, não é tão complicado.
Imagine uma lista de palavras separadas por vírgula como a mostrada a seguir:
maçãs, peras, bananas, laranjas, limões
frutas(0) = maças
frutas(1) = peras
frutas(2) = bananas
frutas(3) = laranjas
frutas(4) = limões
esta é a idéia por trás de arrays. Vamos ver um exemplo prático.
Como usar um array?
Continuaremos com o array de frutas. Passo a passo mostraremos como fazer para a lista funcionar como um array. Primeiro vamos criar uma variável para conter a lista como mostrado a seguir:<?php $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; ?>
<?php $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; $arrFrutas = explode(",", $listadefrutas); ?>
Observe que chamamos a função explode com dois argumentos:
- a lista a ser dividida
- e o delimitador - isto é, o caractere usado para separar os itens da lista (no caso do exemplo a vírgula) colocado entre aspas ",".
Vamos comentar o script e colocá-lo em uma página PHP:
<html> <head> <title>Array</title> </head> <body> <?php // Lista separada por vírgula $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; // Cria um array seprando os itens da lista (tendo a vírgula como delimitador) $arrFrutas = explode(",", $listadefrutas); // Escreve os valores do array echo "<p>Lista de frutas:</p>"; echo "<ul>"; echo "<li>" . $arrFrutas[0] . "</li>"; echo "<li>" . $arrFrutas[1] . "</li>"; echo "<li>" . $arrFrutas[2] . "</li>"; echo "<li>" . $arrFrutas[3] . "</li>"; echo "<li>" . $arrFrutas[4] . "</li>"; echo "</ul>"; ?> </body> </html>
Loop por um array
Na lição 5 estudamos loops. A seguir veremos como realizar um loop por um array.Quando você conhece o número de itens de um array não encontra problemas para definir um loop por ele. Você começa em 0 e desenvolve o loop até atingir o número de itens do array. No exemplo das frutas um loop pelo array seria como mostrado a seguir:
<html> <head> <title>Array</title> </head> <body> <?php // Lista separada por vírgula $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; // Cria um array seprando os itens da lista (tendo a vírgula como delimitador) $arrFrutas = explode (",", $listadefrutas); echo "<p>Lista de frutas:</p>"; echo "<ul>"; // Loop pelo array $arrFrutas for ($x=0; $x<=4; $x++) { echo "<li>" . $arrFrutas[$x] . "</li>"; } echo "</ul>"; ?> </body> </html>
Como você pode notar a variável $x (que cresce de 0 a 4 no loop) foi usada para chamar o array.
Como encontrar o tamanho de um array
Mas, o que acontecerá se uma outra fruta for adicionada à lista? Nosso array passará a ter mais um item cujo número identificador será 5. Já deu para ver o problema? Precisamos alterar o loop para que ele funcione de 0 a 5, caso contrário não serão incluídos todos os elementos do array.Não seria maravilhoso se pudéssemos saber automaticamente quantos itens um array tem?
É isso exatamente o que faremos a seguir com uso da função foreach. Agora podemos criar um loop que funciona em todo array independentemente do número de itens nele contido:
<?php foreach ($arrFrutas as $x) { echo $x; } ?>
Outro exemplo
A seguir mostramos um exemplo, usando array, para escrever os nomes dos meses:<html> <head> <title>Array</title> </head> <body> <?php // Cria um array dos meses. // Cria um array com os meses. Notar a vírgula antes do mês de janeiro. Isto é necessário //porque não existe mês representado pelo número $arrMes = array("","Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"); // Chama o array com o número do mês - escreve no navegador do usuário echo $arrMes[date("n")]; ?> </body> </html>
PHP comentários.
Programas Documentados
Programação pode ser uma grande aventura se não tomarmos certos cuidados, um programa pode se tornar bastante confuso de entender. Nesta lição falaremos sobre comentários, sua importância e a maneira correta de inseri-los em seus scripts.Por que é importante documentar seus programas?
Quando codificamos, estamos escrevendo programas usamos uma linguagem estritamente técnica as vezes subjetivas, que com o passar do tempo podem perder seu significado interpretativo, e pode não refletir claramente o que você estava pensando quando criou o script.Ora, isso pode criar dificuldades para terceiros (ou mesmo para você) quando se tratar de entender como o script foi estruturado e como consequência tornar extremamente árdua a tarefa de identificação e correção de erros.
Isso não quer dizer que você como um bom programador deva deixar todo seu árduo trabalho totalmente aberto e com entendimento facilitado de fálcil entendimento a qualquer um, Isso é claro e desejável nas empresas, mas não quando falamos de seus próprios projetos.
Comentários são usados para se escrever pequenos textos explanatórios no script. O servidor ignora qualquer comentário no script e eles não afetam ou interferem com a funcionalidade do script.
No mundo dos negócios é comum as Companhias exigirem que os scripts e programas sejam comentados, pois é considerado um alto risco aceitar um sistema no qual a identificação e correção de erros se torna uma tarefa difícil pela falta de comentários.
também e muito possível criarmos um index com arquivos explicativos, assim se você deseja uma segurança maior esse e o caminho, empresas nem sempre preferem programas comentados, principalmente se você esta fazendo um programa WEB de acesso a contas restritas, esse tipo de código e muito facilmente acessado, tenho visto muitos códigos de grandes empresa como Oracle Microsoft etc. que parecem verdadeiros ninhos de ratos, com muitos links externos códigos emaranhados quase impossível de ser decifrado ou muito trabalhoso, assim fica a merce dos ventos
o tipo e codificação e documentação...
Como inserir comentários?
É fácil inserir um comentário. Você simplesmente começa um texto de comentário escrevendo duas barras: "//".Observe um exemplo mostrado na lição 5 no qual inserimos comentários:
<html> <head> <title>Loops</title> </head> <body> <?php // Escreve código de cores usando três loops // Vermelho pode estar entre 0 e 255 for ($intRed=0; $intRed<=255; $intRed=$intRed+30) { // Verde pode estar entre 0 e 255 for ($intGreen=0; $ intGreen<=255; $intGreen=$intGreen+30) { // Azul pode estar entre 0 e 255 for ($ intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) { // O código de cores tem o formato rgb(vermelho,verde,azul) $strColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")" // Aqui escrevemos o código da cor echo "<span style='color:" . $strColor . "'> " . $strColor . " </span>"; // Fecha os loops } } } ?>
Condicionais PHP
Condicionais
Condicionais são usadas para executar um bloco de script sempre que determinada condição seja satisfeita. Por exemplo: uma condição pode estabelecer que uma data seja posterior a 1 de janeiro de 2012 ou que uma variável seja maior do que 7.If...
A primeira condicional que estudaremos é o if cuja sintaxe é mostrada a seguir:if (condition) { Comandos PHP }
<html> <head> <title>Loops </title> </head> <body> <?php $x = 2; if ($x > 1) { echo "<p>A variável $x é maior que 1 </p>"; } ?> </body> </html>
if ... else ...
Vejamos agora a condicional else cuja sintaxe é mostrada a seguir:if (condição) { comandos PHP } else { Comandos PHP }
Na Lição 4 mostramos como encontrar o número representativo do mês. No exemplo a seguir usaremos este número em uma condicional if else para encontrar em qual das estações do ano estamos:
<html> <head> <title>Condicionais</title> </head> <body> <?php if (date ("m") == 3) { echo "<p>Estamos no outono!</p> "; } else { echo "<p>Eu não sei em que estação estamos!</p> "; } ?> </body> </html>
Contudo, existem várias maneiras de aperfeiçoar a condicional tornando-a mais precisa. Observe a seguir alguns operadores de comparação que podemos usar na condicional mostrada:
== Igual
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
!= Diferente
Existem também operadores lógicos:
&& e
|| ou
! não
Operadores se destinam a criar condicionais mais precisas e com seu uso podemos melhorar o exemplo mostrado anteriormente fazendo com que o retorno do script seja a estação primavera em todos os meses que ela ocorre e não somente em março:
<html> <head> <title>Condicionais</title> </head> <body> <?php if (date("m") >= 3 && date("m") <= 5) { echo "<p> Estamos no outono!</p> "; } else { echo "<p> A estação atual é primavera, verão ou inverno!</p> "; } ?> </body> </html>
date("m") >= 3 && date("m") <= 5
Se o número que representa o mês for maior ou igual a 3 e menor ou igual a 5
Contudo nosso exemplo só funciona para os meses de março, abril e maio, Os demais meses não são contemplados pela condicional. Assim, vamos aperfeiçoá-lo mais:
if ... elseIf ... else...
Usando elseif podemos expandir a condicional e fazer com que nosso script funcione para todos os meses do ano:
<html> <head> <title>Condicionais</title> </head> <body> <?php if (date("m") >= 3 && date("m") <= 5) { echo "<p>Estamos no outono!</p>"; } elseif (date("m") >= 6 && date("m") <= 8) { echo "<p>Estamos no inverno!</p>"; } elseif (date("m") >= 9 && date("m") <= 11) { echo "<p>Estamos na primavera!</p>"; } else { echo "<p>Estamos no verão!</p>"; } ?> </body> </html>
Escrever condicionais é uma questão de lógica e método. O exemplo mostrado é bem esclarecedor, porém o uso de condicionais pode tornar-se bem mais complexo.
switch ... case
Outra maneira de se escrever condicionais é com uso do método switch:switch (expressão) { case 1: comandos PHP break; case 2: comandos PHP break; default: comandos PHP break; }
Na lição 4 nós vimos que a função date("w") retorna um número representando dia da semana. Vamos mostrar um exemplo para escrever o nome do dia da semana em lugar do número que o representa:
<html> <head> <title>Condicionais</title> </head> <body> <?php switch(date("w")) { case 1: echo "Hoje é segunda-feira"; break; case 2: echo "Hoje é terça-feira"; break; case 3: echo "Hoje é quarta-feira"; break; case 4: echo "Hoje é quinta-feira"; break; case 5: echo "Hoje é sexta-feira"; break; case 6: echo "Hoje é sábado"; break; default: echo "Hoje é domingo"; break; } ?> </body> </html>
Em geral switch é uma boa alternativa para a condicional if else. Qual delas usar em uma determinada situação depende somente de você. Use aquela que você considera mais fácil e lhe pareça mais lógica. Criar scripts lógicos e claros pode se constituir em um grande desafio para o desenvolvedor.
PHP loops
Loops
Na linguagem PHP existem diferentes estruturas de controle destinadas a gerenciar a execução de scripts. Nesta lição nós estudaremos os loops. Loops são usados para executar repetidamente uma parte de um script em um determinado número de vezes ou até que seja encontrada uma determinada condição.Loop "while"
A sintaxe para um loop while é conforme mostrada a seguir:while (condição) { Comandos PHP de execução }
Vejamos um exemplo bem simples:
<html> <head> <title>Loops</title> </head> <body> <?php $x = 1; while ($x <= 50) { echo "<p>Este texto se repete 50 vezes</p>"; $x = $x + 1; } ?> </body> </html>
Além disto o restante do script é auto-explicável. No começo a variável $x recebe o valor 1. A seguir o loop pede para o servidor executar o comando de escrever um texto enquanto a variável for menor do que 50. A cada execução a variável é incrementada de 1 unidade.
Loop "for"
Outra maneira de executar um loop é com uso de for conforme mostrado a seguir:for (Inicialização; Condição; passo) { Comandos PHP de execução }
<html> <head> <title>Loops</title> </head> <body> <?php for ($x=0; $x<=50; $x=$x+5) { echo '<p>A variável $x agora tem o valor igual a ' . $x . '</p>'; } ?> </body> </html>
Observe outro exemplo:
<html> <head> <title>Loops</title> </head> <body> <?php for ($x=1; $x<=6; $x=$x+1) { echo "<h" . $x . "> Cabeçalho nível</h" . $x . ">"; } ?> </body> </html>
Loops dentro de loops
A princípio não existe limite para a quantidade de loops a usar. Você pode facilmente aninhar loops e criar muitas repetições.Mas, cuidado! A execução de PHP torna-se lenta quando desenvolvemos scripts extensos e complicados. Por exemplo: observe a seguir o script com três loops capaz de escrever 16 milhões de cores!
Com a finalidade de não tornar a página de carregamento muito lento nós reduzimos drasticamente o número de repetições para passos de 30 limitando o número de cores escritas para 512.
<html> <head> <title>Loops </title> </head> <body> <?php for ($intRed=0; $intRed<=255; $intRed=$intRed+30) { for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) { for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) { $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")"; echo "<span style='color:" . $StrColor . "'>" . $StrColor . "</span>"; } } } ?> </body> </html>
segunda-feira, 25 de setembro de 2017
Trocar a imagem com JavaScript
Existem muitas formas de se fazer isso, abaixo segue um exemplo que uso bastante em meus sites;
No código HTML:
<img class="poe2" id="jojo" src="jojo.jpg" alt="Smiley face" height="160" width="220"onmouseover="altfoto(this)"/>
NO código javaScript:
function altfoto(img) {
// debugger
var src = img.src.substr(img.src.lastIndexOf('/') + 1, img.src.length);
if (src == 'jojo.jpg') {
img.src = 'jojo2.png';
} else {
img.src = 'jojo.jpg';
}
}
No código HTML:
<img class="poe2" id="jojo" src="jojo.jpg" alt="Smiley face" height="160" width="220"onmouseover="altfoto(this)"/>
NO código javaScript:
function altfoto(img) {
// debugger
var src = img.src.substr(img.src.lastIndexOf('/') + 1, img.src.length);
if (src == 'jojo.jpg') {
img.src = 'jojo2.png';
} else {
img.src = 'jojo.jpg';
}
}
INte!!
segunda-feira, 7 de agosto de 2017
PHP datas e horas
Trabalhando com datas e horas
Nesta lição abordaremos maneiras diferentes de trabalhar com datas e horas usando o PHP. Começaremos mostrando exemplos bem simples com a finalidade de mostrar o que PHP é capaz de fazer. Nesta lição estudaremos com detalhes a função date do PHP.
Funções para data e hora
PHP nos fornece uma série de funções relacionadas a data e hora. Nesta lição veremos a mais importante destas funções; a função date.
Usando-se os diferentes parâmetros previstos para a função date ela retornará o grupo data/hora em diferentes formatos. Os parâmetros mais usuais são:
- date("y")
- Retorna o ano atual - para o dia de hoje o valor retornado é: 17
- date("m")
- Retorna o mês atual - para o dia de hoje o valor retornado é: 08
- date("F")
- Retorna o nome do mês atual - para o dia de hoje o valor retornado é: August
- date("d")
- Retorna o dia do mês atual - para o dia de hoje o valor retornado é: 07
- date("l")
- Retorna o nome do dia da semana atual - para o dia de hoje o valor retornado é: Monday
- date("w")
- Retorna o número correspondente ao dia da semana atual - para o dia de hoje o valor retornado é: 1
- date("H")
- Retorna a hora atual - para o dia de hoje o valor retornado é: 19
- date("i")
- Retorna o minuto atual - para o dia de hoje o valor retornado é: 09
- date("s")
- Retorna o segundo atual - para o dia de hoje o valor retornado é: 41
O exemplo a seguir ilustra o uso da função date
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body>
<?php
echo "<p>Hoje é " . date("l") . "</p>";
?>
</body>
</html>
A hora é: 1502132981
Ops... aqui parece coisa para nerds. A função time() retorna a hora atual em número de segundos contados desde 1 de janeiro de 1970 às 12:00 PM, GMT.
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body>
<?php
echo "<p>São decorridos exatamente " . time() . " segundos desde 1 de janeiro de 1970, 12:00 PM, GMT </ p> ";
?>
</body>
</html>
A representação da hora em segundos, contados desde 1 de janeiro de 1970 às 12:00 PM, GMT é chamada "timestamp" (UNIX timestamp) que é uma representação muito útil quando se trabalha com datas/horas passadas e futuras.
Por padrão, a função date usa o timestamp atual (isto é, o valor corrente de time()). Mas, usando um parâmetro você pode especificar o retorno da função em um diferente time stamp e assim trabalhar com datas passadas e futuras. No exemplo a seguir nós definimos o timestamp para 0 segundos a partir de 1 de janeiro de 1970 às 12:00 PM, GMT. Fazendo assim podemos verificar qual foi o dia da semana de 1 de janeiro de 1970.
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body>
<?php
echo "<p>O dia da semana em 1 de janeiro de 1970 foi " . date("l",0) . "</p>";
?>
</body>
</html>
A menos que você seja um gênio da matemática é muito complicado calcular o número de segundos passados desde de 1 de janeiro de 1970 para uma determinada data. Felizmente existe uma função chamada mktime que realiza o cálculo.
A sintaxe para a função mktime é (hora, minuto, segundo, mês, dia, ano). O exemplo a seguir faz a conversão para a data da chegada do homem à lua (21 de julho de 1969 às 02:56):
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body>
<?php
echo mktime (2,56,0,7,21,1969);
?>
</body>
</html>
Notar que o retorno foi um número negativo. Isto indica que a data é anterior a 1 de janeiro de 1970.
Agora já podemos no valer do que até aqui aprendemos e usar a função date para saber qual foi o dia da semana em que ocorreu o evento histórico da chegada do homem à lua.
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body>
<?php
echo date("l", mktime(2,56,0,7,21,1969));
?>
</body>
</html>
Mas afinal qual a utilidade prática?
Até agora tudo parece muito teórico. Afinal de que maneira posso usar uma do tipo time() de uma forma prática? Ao aprender algo novo é importante saber se você poderá usar o que aprendeu em uma página web.
Considere que o que você aprende neste tutorial é a construção de blocos de códigos - o que você pode fazer com eles depende somente da sua criatividade e está limitado apenas pela sua imaginação! Eu ousaria afirmar que você já aprendeu muito mais do que está pensando. Por exemplo: você acha que é capaz de criar um background para uma página que mude a cada dia da semana e funcione em todos os navegadores?
Claro que você é capaz! Observe o exemplo a seguir:
<html>
<head>
<title>Grupo data/hora</title>
</head>
<body background="background_<?php echo date("w"); ?>.png">
</body>
</html>
O exemplo mostrado, que usa uma imagem de fundo dinâmica, requer que você construa apenas sete imagens e as nomeie como background_1.png, background_2.png, background_3.png, etc.
Se o usuário entra no seu site na terça feira a imagem de fundo será background_2.png e no dia seguinte será background_3.png. Fácil e simples!
Na próxima lição estudaremos os blocos de código destinados a construção de loops e aqueles destinados a repetição de código.
PHP é legal. Você não acha?
quinta-feira, 22 de junho de 2017
Escopo e Contesto Variaveis Global e Local.
Variáveis:
Uma palha sobre o tipo boleano(comun em outras linguagens), no PHP não existe tipo boleano que é utilizado para retornar os valores falso e verdadeiro, mas como se tem por convenção que 0 = falso e 1 = Verdadeiro, para alanizarmos o retorno usamos o tipo inteiro integer, testando seu conteúdo se zero e falso qualquer coisa diferente e verdadeiro.
Podemos também verificar se uma variável esta definida ou não, o PHP oferece a função isset(nome-variável), em si e uma função boleana que retorna 0 ou 1 e podemos testar a condição com o comando IF.
EX:
<?php
if(isset($variteste)){
echo “A variável $variteste está definida”;}
// a função isset testou a existência da variável e se o resultado for 1 imprime a menssagem.
?>
Escopo de variáveis
Agora vamos ao tópico da aula escopo e contgexto :
O escopo de uma variável pode ser local ou global, isso vai depender do contexto onde ela definida.
Uma variável local só tem ação dentro dos limites do contesto onde foi definida, se declararmos uma variável dentro de uma função(veremos mais tarde), ela só será efita dentro da função que foi declarada.
<?php
$dep=1O; // variável global
functionTeste()
{
echo$conta=9;/*referencia uma variável de escopo local*/
$conta=$dep + $conta // resultado será 9;
}
?>
Explic.:
Na maioria das linguagens uma variável global pode ser acessada e modificada em todos contextos do script.
Em PHP e diferente no exemplo acima vimos que o valor da conta não se alterou porque a variável dep apesar de ser globalnão fica acessível dentro de cotestos “fechados “ como o de uma função.
E as variáveis declardas dentro da função também não são acessíveis fora dela.
Pode-se perceber então que esta é uma pequena diferença em relação a linguagem C, Java, etc onde variáveis globais estão automaticamente disponíveis para funções sem sobrescrever uma definição local.
Isto pode causar problemas quando inadvertidamente modificar-se uma variável global.
No PHP, as variáveis globais precisam ser declaradas como globais dentro de uma função, se for utilizada em uma.
A palavra-chave global
Exemplo #1 Usando global
<?php
$a=3;
$b=4;
functionExemplo()
{
global $a,$b; //declaração que disponibilisa as variáveis.
$b=$a+$b;
}
Soma();
echo$b; // o resultado deste ECHO será 7;
?>
Uma outra forma de acessar uma variável global é utiliazando o array especial $GLOBALS:
O exemplo anterior poderia ser reescrito como:
Exemplo #2 Usando $GLOBALS no lugar de global
<?php
$a=1;
$b=2;
functionSoma()
{
$GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b']; //O Resultado seria 3.
}
O array $GLOBALS é um array associativo, sendo o nome da variável global a chave do array e o seu conteúdo da variável como o valor do elemento do array. Veja que $GLOBALS existe em qualquer escopo, isto porque $GLOBALS é uma superglobal.
Referência → http://php.net/manual/pt_BR/language.variables.scope.php
quarta-feira, 21 de junho de 2017
Variáveis PHP ARRAY
Variáveis
→ Arrays.
Quando
temos um registro que pode ter vários valores relacionados, para
podermos armazenar este dados então precisaremos de um tipo
diferente de variável, uma variável que seja capaz de armazenar
varias variáveis, permitindo o acesso individual, para isso a
maioria das linguagens de programação nos oferece o recurso de
arrays..
arrays
são listas indexadas onde podemos acessar seus elenemtos pelo nome
e índice,
Definição
de Arrays:
$a[0]=12;
$a[1]=34;
$a[4]=76;
ou
assim:
$a=array(
12 , 34 , 76);
com
strings ficaria assim:
$a[0]
=”edson”;
$a[1]=”alfredo”;
$a[2]=”Admir”;
ou
$a
=array(“edson” , “alfredo”, “ ademir”);
$a[1]
= Alfredo;
Arrays
são muito úteis em programação servem para agrupar diversos
conjuntos de dados e realizar acesso direto ou sequencial à seus
registros assim podemos gerênciar listas e filas de prioridade, uma
string pode ser considerada uma array linear; alem da array linear
temos as arrays multidimensional que veremos adiante.
Ou
seja depois de criar um arrays podemos alterar , inserir imprimir
seus valores etc;
[exemplo]
<?php
//
$nomes=array(“Pedro”,
“fernando”,”Ademar”,”Tico”); //c cria a array nomes e
atribuie valores.
//
echo
($nomes[2]. '<br>'); // Imprime Ademar.
//
echo
($nomes[0]. '<br>'); // Imprime Pedro.
//
?>
Outra
coisa muito importante sobre as variáveis são o Contexto e Escopo.
Mas o que seria isto ??
Contexto
O contexto é o
conjunto de variáveis e seus respectivos valores num determinado
ponto do programa. Na chamada de uma função, ao iniciar a execução
do bloco que contém a implementação da mesma é criado um novo
contexto, contendo as variáveis declaradas dentro do bloco, ou seja,
todas as variáveis utilizadas dentro daquele bloco serão eliminadas
ao término da execução da função.
Escopo
O escopo de uma
variável em PHP define a porção do programa onde ela pode ser
utilizada. Na maioria dos casos todas as variáveis têm escopo
global. Entretanto, em funções definidas pelo usuário um escopo
local é criado. Uma variável de escopo global não pode ser
utilizada no interior de uma função sem que haja uma declaração.
Vamos
aprofundar mais neste assunto na próxima Teste de PHPaula.
terça-feira, 20 de junho de 2017
ALA - 6 Definiçõesde Variáveis PHP
Variáveis
PHP.
O
tratamento de variáveis em PHP e muito extenso e detalhado cabendo
um estudo mais detalho, à parte.
Atribuindo
nomes corretamente:
As
variáveis no PHP são representadas por um cifrão ($) seguido pelo
nome da variável. Os nomes de variável são case-sensitive.
Nomes
de variável seguem as mesmas regras como outros rótulos no PHP. Um
nome de variável válido inicia-se com uma letra ou sublinhado,
seguido de qualquer número de letras, números ou sublinhados. Em
uma expressão regular, poderia ser representado assim:
'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Nomes
válidos:
ed98
_ed98
ed_98
ed98_
Nomes
inválidos:
9edson
-edsn
^edon
Nota: $this é uma variável especial que não pode ser atribuída.
Vimos
os tipos possíveis de variáveis veremos como defini-las, ' atribuir
um valor inicial'.
As
Strings merecem uma atenção elas podem ser definidas basicamente de
duas formas:
a)
Ente aspas simples ( ' ) - O testo será interpretedato tal qual
digitado com exceção de \\ e \' - dessa forma se vamos dar um salto
de linha com o caractere n devereos colacar uma bvarra invertida à
sua frente para que ele seja interpretado como um comando de salto)
b)
Já com as aspas duplas ( " ) - todo o texto será interpretado
coo digitado inclusive as barras invertidas.
Exemplo:
<?
$meutime
= "Palmeras";
$php
= '* $meutime *\n';
echo
"$php";
?>
A
saída imprimirá"* $meutime *\n".
<?
$meutime=
"Palmeiras";
$php
= "* $meutime *\n";
echo
"$php";
?>
A
saída imprimirá "* Palmeiras *" (com salto de linha ao
final).
Variáveis Inteiras de Ponto Flutuante (double ou float) podem ter um valor em ponto flutuante com atribuições que sigam as seguintes sintaxes:
- $php = 7.774;
- $php = 77e4; # equivale a 770.000
Por
padrão atribuímos valores através de expressão,,
$meu_nome
= “Edson”;
$valor=10.00;
Podemos
também atribuir o valor de um variável a outra variável,a
alteração de uma destas variáveis não afetará a outra.
$saque=$valor*2;
O
PHP também oferece um outro meio de atribuir valores a variáveis:
. Isto significa que a nova variável simplesmente
referencia (em outras palavras, "torna-se um apelido para"
ou "aponta para") a variável original. Alterações na
nova variável afetam a original, e vice versa.
Para
atribuir por referência, simplesmente adicione um e-comercial (&)
na frente do nome da variável que estiver sendo atribuída (variável
de origem) Por exemplo, o trecho de código abaixo imprime 'My
name is Bob' duas vezes:
<?php
$foo=Bob'//Atribui
o valor 'Bob' a variável $foo
$bar=&$foo;//
Referecia $foo através de $bar.
$bar
= "My name is $bar"; // Altera $bar...
echo
$bar;
echo
$foo; // $foo é alterada também.
?>
Uma
observação importante a se fazer, é que somente variáveis
nomeadas podem ser atribuídas por referência.
<?php
$foo
= 25;
$bar
= &$foo; // Esta atribuição é válida.
$bar
= &(24 * 7); // Inválido; referencia uma expressão sem nome.
Function
test()
{
return
25;
}
$bar
= &test(); // Inválido.
?>
$bar
= &test(); // Inválido.
?>
Não
é necessário inicializar variáveis no PHP, contudo é u
ma ótima
prática. Variáveis não inicializadas tem um valor padrão de tipo
dependendo do contexto no qual são usadas - padrão de booleanos é
FALSE, de inteiros e ponto-flutuantes é zero, strings (por exemplo,
se utilizados em echo), são definidas como vazia e arrays tornam-se
um array vazio.
Exemplo
#1 Valores padrões de variáveis não inicializadas
<?php
//
Limpa e remove referência (sem uso de contexto) a variável;
imprime NULL
var_dump($unset_var);
//
Uso de booleano; imprime 'false' (Veja sobre operadores ternário
para saber mais sobre a sintaxe)
echo
($unset_bool ? "true" : "false"); // false
//
Uso de string; imprime 'string(3) "abc"'
$unset_str
.= 'abc';
var_dump($unset_str);
//
Uso de inteiro; imprime 'int(25)'
$unset_int
+= 25; // 0 + 25 => 25
var_dump($unset_int);
//
Uso de float/double; imprime 'float(1.25)'
$unset_float
+= 1.25;
var_dump($unset_float);
//
Uso de array; imprime array(1) { [3]=> string(3) "def"
}
$unset_arr[3]
= "def"; // array() + array(3 => "def") =>
array(3 => "def")
var_dump($unset_arr);
//
Uso de objeto; cria novo objeto stdClass (veja
http://www.php.net/manual/en/reserved.classes.php)
//
Imprime: object(stdClass)#1 (1) { ["foo"]=> string(3)
"bar" }
$unset_obj->foo
= 'bar';
var_dump($unset_obj);
?>
Funções para Manipulação de variáveis :
- debug_zval_dump — Exibe a representação de um interno zend value
- boolval — Obtém o valor booleano de uma variável
- doubleval — Sinônimo de floatval
- empty — Determina se a variável é vazia
- floatval — Obtém o valor em ponto flutuante da variável
- get_defined_vars — Retorna um array com todas variáveis definidas
- get_resource_type — Retorna o tipo de resource
- gettype — Obtém o tipo da variável
- import_request_variables — Importa variáveis GET/POST/Cookie para o escopo global
- intval — Retorna o valor inteiro da variável
- is_array — Verifica se a variável é um array
- is_bool — Verifica se a variável é um boleano
- is_callable — Verifica se o conteúdo da variável pode ser chamado como função
- is_double — Sinônimo de is_float
- is_float — Informa se a variável é do tipo float
- is_int — Informa se a variável é do tipo inteiro
- is_integer — Sinônimo de is_int
- is_iterable — Verify that the contents of a variable is an iterable value
- is_long — Sinônimo de is_int
- is_null — Informa se a variável é NULL
- is_numeric — Informa se a variável é um número ou uma string numérica
- is_object — Informa se a variável é um objeto
- is_real — Sinônimo de is_float
- is_resource — Informa se a variável é um resource
- is_scalar — Informa se é uma váriavel escalar
- is_string — Informa se a variável é do tipo string
- isset — Informa se a variável foi iniciada
- print_r — Imprime informação sobre uma variável de forma legível
- serialize — Generates a storable representation of a value
- settype — Atribui um tipo para a variável
- strval — Retorna o valor string de uma variável
- unserialize — Creates a PHP value from a stored representation
- unset — Destrói a variável especificada
- var_dump — Mostra informações sobre a variável
- var_export — Mostra ou retorna uma representação estruturada de uma variável
Variáveis
de ARRAYS próxima aula:
Ref:
https://secure.php.net/manual/pt_BR/language.variables.basics.php
Assinar:
Postagens (Atom)
Programa exempo para consulta em bd Mysql com programa C
#include<stdio.h> #include<mysql/mysql.h> # ...
-
Este ebook e exelente e muito didático, tem me ajudado muito a aprender gambas, sempre quis estudar gambas, mas só estou podendo faze-lo a...
-
O Ryzen 9 3950X possui 16 núcleos e uma arquitetura baseada em 7nm Veja também:AMD e Samsung assinam parceria para trazer Radeon aos smartp...