Sunday, July 28, 2019

mysqli_fetch_array, list() e MYSQLI_NUM

mysqli_fetch_array is a function that recovers an array of results from a succesfull MySQL query. It can be used with the optional arguments of MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH that will determine how the array will be called.

list() is a language construct that allows a group of variables to receive values from an array like they were one.

list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM) basically this gets the array of results from a SQL query and fills the variables inside the list with its contents treating them as an array. As list() only works with numerically indexed variables we used mysqli_fetch_array with the MYSQLI_NUM argument.

Thursday, July 25, 2019

Porque Precisamos do Transform:Translate(-25%) para Centralizar Um Elemento Posicionado Absolutamente

Muitos programadores de desenvolvimento web tem essa dúvida do motivo de se usar Transform: TranslateX(-25%) e/ou Transform: TranslateY(-25%) depois de se posicionar um elemento no modo absoluto.

O display: absolute tem suas peculiaridades e essa e uma delas. Acompanhe pelas figuras:

1) Você tem um elemento como o body e quer posicionar um outro elemento exatamente no meio deste:

2) Um div por exemplo:

3) Intuitivamente parece que simplesmente usando
display: absolute;
top: 50%;
left: 50%;
já seria suficiente mas não é o que ocorre.

4) Isso acontece porque o elemento é posicionado de acordo com seu canto superior esquerdo. Não o seu centro:

5) Assim você usa o translate para compensar metade do tamanho do elemento para posicionar de maneira adequada. 100%-50%=50%.
top: 50%; (metade do elemento pai, neste caso o body, na altura)
transform: translateY(-50%); (movendo metade do elemento filho, o div, para cima)
left: 50%; (metade da largura do body)
transform: translateY(-50%); (movendo metade do elemento filho, o div, para esquerda)


Assim você centraliza o elemento como queria no início com quatro linhas de CSS.






PHP - Quando o Echo e o \n e o \t não funcionam



No PHP é comum quando se usar o echo para imprimir código HTML de qualquer maneira.

Os programadores mais organizados podem querer usar o \n e o \t para tentar organizar o código hierarquicamente para esse ficar mais fácil de ler e manter.

Mas aí vem a surpresa do \n e do \t não funcionarem com o echo. Porque isso acontece?

É bem simples na verdade. Foi decidido na especificação oficial do PHP que esses códigos de escape só funcionariam com aspas duplas mas não com aspas simples.

Assim isso não funciona:

echo '<select>\n';

Mas isso sim:

echo "<select>\n";

Ou seja sempre use aspas duplas com código de escape de caracteres.

Uma alternativa é combinar strings como abaixo:

echo '<div>ipsum lorem</div>' . "\n";

O Processing é Muito Bom!


Processing é uma platafoma de programação que usa o Java de uma maneira muito prática. Você não precisa se preocupar com muita preparação e declarações de módulos antes de ver resultados.

O Processing é voltado mais para gráficos e animações com suporte para 2D e 3D possibilitando interação do usuário com o programa facilmente.

Com o uso de variáveis e funções já prontas não é necessário se preocupar com a criação de código para manipular a entrada de dados por mouse e teclado, o que torna a prototipagem simples.

Com pouco tempo de uso da plataforma já é possível criar gráficos e animações relativamente complexos e programar de maneira interativa, vendo os resultados e alterando o código de acordo com o que você quer criar na tela.

Assim o Processing é indicado para artistas, crianças e adolescentes, iniciantes em programação e pessoas que querem resultados rápidos.

Falarei mais do Processing em breve aqui no Blog com alguns tutoriais para quem quiser se iniciar na programação ou gráficos.