UNSIGNED e ZEROFILL: Para que servem as colunas no MySQL?

Está procurando uma ajuda para entender para que servem as colunas UNSIGNED e ZEROFILL no MySQL?

Apesar do nome Dicas de PHP, o blog também tem dicas de MySQL. Abaixo uma breve explicação das colunas UNSIGNED e ZEROFILL.

UNSIGNED no MySQL

Para todos os campos do tipo “inteiros” no MySQL, podemos definir o atributo opcional UNSIGNED. Esse atributo é usado para permitir somente valores positivos em uma coluna do banco, o que acaba gerando uma faixa numérica maior de números positivos.

Por exemplo, uma coluna do tipo INT:

  • Faixa normal: de -2147483648 a 2147483647
  • Faixa UNSIGNED: de 0 a 4294967295

Tipo TINYINT:

  • Faixa: de -128 até 127
  • Faixa UNSIGNED: 0 a 255

ZEROFILL no MySQL

Já o atributo opcional ZEROFILL, preenche espaços vazios da coluna com o número zero. Por exemplo, uma coluna que é declarada como INT(4) com a opção ZeroFill, o valor “5” é recuperado como “0005”.

Se você especificar para uma coluna numérica ZEROFILL, automaticamente o MySQL adiciona o atributo UNSIGNED a coluna.

1 Star2 Stars3 Stars4 Stars5 Stars (35 votos, média: 4,14 de 5)
Loading...

Validar CPF PHP: Veja exemplos, é muito fácil. Aprenda!

Está procurando como validar cpf php? Neste artigo você encontra dicas de como realizar essa validação de forma fácil, com um exemplo de código que pode ser aplicado em qualquer projeto.

Validar CPF em PHP

Para validar CPF, você pode usar o exemplo abaixo ou criar uma função com suas regras de negócio, com base no exemplo abaixo:

function validarCPF( $cpf = '') { 

	$cpf = str_pad(preg_replace('/[^0-9]/', '', $cpf), 11, '0', STR_PAD_LEFT);
	// Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso
	if ( strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999') {
		return FALSE;
	} else { 
                // Calcula os números para verificar se o CPF é verdadeiro
		for ($t = 9; $t < 11; $t++) {
			for ($d = 0, $c = 0; $c < $t; $c++) {
				$d += $cpf{$c} * (($t + 1) - $c);
			}
			$d = ((10 * $d) % 11) % 10;
			if ($cpf{$c} != $d) {
				return FALSE;
			}
		}
		return TRUE;
	}
}

O exemplo acima irá ajudar a validar cpf php. Existem outras ferramentas onde é possível verificar CPF é falso, via ferramenta online.

Veja os links abaixo:

Outra questão que pode ocorrer durante o desenvolvimento de uma aplicação PHP ou em outra linguagem, é a necessidade de criar um CPF válido, para efeturar testes no sistema.

Veja abaixo uma lista de links onde é possível gerar CPF válido:

Esses dados de CPF devem ser usados somente para teste de ferramentas em desenvolvimento.

Não pode ser usado em sistemas, ou para criação de contas com dados falsos.

1 Star2 Stars3 Stars4 Stars5 Stars (36 votos, média: 4,80 de 5)
Loading...

Templates PHP: Dicas de como usar, bibliotecas e exemplo

A principal função de templates PHP é separar todo o código PHP da interface HTML.

Existem diversas soluções no mercado, algumas presentes há anos. Talvez a mais utilizada seja a Smarty para criar templates php. Outra que também é bastante utilizada é Template Power.

Talvez a Template Power seja um plus mais leve para sua biblioteca, mas a preferência por qual usar deve ser de escolha do programador. Fica aqui apenas a dica dessas bibliotecas para usar templates PHP.

Outra maneira simples para usar templates com PHP, é as funções que passamos abaixo.

A estrutura para templates PHP

Nessa estrutura HTML abaixo, marcamos algumas tags que serão as referências para o código PHP fazer as substituições por valores dinâmicos.

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>{titulo}</title>
</head>
<body>
	<section>
		<article>
			<header>
				<h1>{artigo_titulo}</h1>
			</header>
			<div>{artigo_conteudo}</div>
		</article>
	</section>
	<footer>{rodape}</footer>
</body>
</html>

Usando os símbolos de chaves “{}”, marcamos itens no HTML para serem substituídos.

Agora, para fazer a alteração das marcações, vamos criar duas funções bem simples, conforme abaixo:

function getTemplate( $template, $folder = "templates/" ) 
{
	$arqTemp = $folder.$template; // criando var com caminho do arquivo
	$content = '';

	if ( is_file( $arqTemp ) ) // verificando se o arq existe
		$content = file_get_contents( $arqTemp ); // retornando conteúdo do arquivo

	return $content;
}

A função getTemplate é responsável por ler o arquivo e retornar ele com as tags de marcação. Já a função parseTemplate é quem vai ler o template carregado e substituir as tags de marcação.

Veja abaixo um arquivo PHP que irá utilizar as funções para criar templates em PHP.

function parseTemplate( $template, $array ) 
{
	foreach ($array as $a => $b)// recebemos um array com as tags
		$template = str_replace( '{'.$a.'}', $b, $template );

	return $template; // retorno o html com conteúdo final
}

$arrTags = array(
	'titulo'=>'Dicas de PHP',
	'artigo_titulo'=>'Templates em PHP - Dicas de PHP',
	'artigo_conteudo'=>'Demonstração de como criar um sistema simples de templates com PHP',
	'rodape'=>'© Dicas de PHP - Todos direitos reservados 2012 '
);

$template 		= getTemplate( 'templates/dicas.html' );
$templateFinal 	= parseTemplate( $template, $arrTags );

echo $templateFinal; // output do código

O resultado final do código, deve ser o HTML abaixo:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>Dicas de PHP</title>
</head>
<body>
	<section>
		<article>
			<header>
				<h1>Templates em PHP - Dicas de PHP</h1>
			</header>
			<div>Demonstração de como criar um sistema simples de templates com PHP</div>
		</article>
	</section>
	<footer>© Dicas de PHP - Todos direitos reservados 2012 </footer>
</body>
</html>

Esse código é facilmente adaptado para usar template em PHP.

No padrão MVC no PHP isso é muito útil para separar as camadas de códigos, como os controllers, models e views.

Usando filesize do PHP para descobrir tamanho de arquivos

Uma boa dica, é a função abaixo para descobrir o tamanho de arquivos. Ela sempre irá retornar o tamanho do arquivo, junto com a nomenclatura correta sobre o tamanho do arquivo. Para o método, foi usado as funções is_file, realpath e filesize.

function tamanhoArquivo( $arquivo, $digitos = 2 ) {
	
	if (is_file($arquivo)) {
		$arquivoPath = $arquivo;
		
		if (!realpath($arquivoPath)) {
			$arquivoPath = $_SERVER["DOCUMENT_ROOT"].$arquivoPath;
		}
	
		$arquivoTamanho = filesize($arquivoPath);
		$tamanhos = array("TB","GB","MB","KB","B");
		$total = count($tamanhos);
		
		while ($total-- && $arquivoTamanho > 1024) {
			$arquivoTamanho /= 1024;
		}
		
		return round($arquivoTamanho, $digitos)." ".$tamanhos[$total];
	
	}
	
	return false;

}

Como debugar códigos PHP

Uma dica rápida de como é possível fazer debug em códigos PHP, é usando a função abaixo:

function deb( $obj = '', $die = false ) {
	
	echo '<pre>' . print_r( $obj, 1 ) . '</pre>'; // usamos print_r para exibir detalhes do objeto, array ou string
	if( $die ) die; // linha para matar o script, caso seja necessário
	
}

A idéia da função é, em tempo de execução mesmo, exibir o conteúdo que esta presente em uma variável, objeto, array ou outro tipo de elemento que pode ser necessário.

Para exibir o conteúdo, usamos a função print_r. Ela apenas exibe as keys e values. Caso prefira ver a tipagem dos valores, pode trocar pela função var_dump, conforme abaixo:

function deb( $obj = '', $die = false ) {
	
	echo '<pre>' . var_dump( $obj, 1 ) . '</pre>'; // usamos var_dump para exibir detalhes do objeto, array ou string
	if( $die ) die; // linha para matar o script, caso seja necessário
	
}

Qualquer dúvida só deixar comentário!