Problemas com quebra de linha em CSS

Mais um post de dica rápida, mas bem valiosa – pelo menos pra mim foi BASTANTE!!

Quem nunca teve problemas com quebra de linha? Colocamos um texto mais longo dentro de uma DIV ou de um P e o comportamento que esperamos é do texto sendo quebrado quando está para sair da caixa do elemento pai. Contudo, alguma vezes o texto sai da caixa como na imagem abaixo.

Texto sem quebra
Texto sem quebra

Quebrei a cabeça pra descobrir que quando um texto tem no lugar de espaços em branco normais o nosso “amigo”   – que expressa um espaço em branco em caracteres especiais do HTML – ele considera que o texto é uma “palavra” só, toda amarrada com o  . Por isso ele escapa da caixa e fica com esse comportamento horrível! Levei 4h para descobrir isso, gastas entre pesquisas no Google e tentativa e erro tirando algumas partes do código.

Então, se retirar os   de seu texto e deixar espaços em branco normais, o texto se quebra normalmente!

texto-com-quebra
Texto com quebra

JSON e Codificação

Dica rápida – para futuras referências!!

Trabalhando com json_encode do PHP, descobri que se jogarmos strings em outros formatos sem ser UTF-8, ele pode gerar saída null. Ou seja, quando estiver jogando valores para serem codificados depois como JSON, é bom antes usar a função utf8_encode para garantir a codificação como UTF-8!!

$dados = array(
    'nome'  => utf8_encode('Marcio'),
    'email' => utf8_encode('marcio@email.com')
);

header('Content-Type: application/json; charset=utf-8');
echo json_encode($dados);

Usando PUT e DELETE no Silex

Uma pequena dica no Silex que deve ser a dúvida de MUITA gente trabalhando com ele: como usar outros métodos sem ser GET e POST no Formulário.

Antes, era mais simples, mas nas versões mais novas, precisamos de duas etapas. Primeiro, em qualquer local antes do famoso $app->run, coloque o seguinte:

Symfony\Component\HttpFoundation\Request::enableHttpMethodParameterOverride();

Este trecho está dizendo ao Silex que estou permitindo sobrescrita do métodos HTTP. Assim, posso configurar um formulário para usar PUT e DELETE ao invés dos “consagrados” GET e POST:

<form action="form.php" method="post">
  <input type="hidden" name="_method" value="put" />
  ...
</form>

Assim, mudamos o método de post (que está configurado na tag form) para put (configurado usando uma tag input do tipo hidden com valor put). Não se restringe a esses dois métodos. Podemos usar outros, como HEAD, PATCH, OPTIONS, etc.

Espero que esta dica tenha ajudado, pois demorei pra achar como faz isso no Silex e essas pequenas dicas ajudam no dia a dia. E serve pra futuras referências pra mim! 😀

CSS for Developers and Out of the Box!!

Estive ontem – 01/10/2012, segunda-feira – no #horaextra Salvador. Mais uma vez uma boa dose de conversas sobre TI, discussões sobre testes, TDD, BDD, agilidade, #startupdojoba, etc. São boas horas de engradecimento pessoal e profissional.

Durante as conversas surgiu aquele papo de que ninguém gosta de CSS. Cada vez mais descubro que estou sozinho! Funcionalidades de um site, portal, sistema fazem diferença, mas, cada vez mais, vejo que um bom design e usabilidade bem trabalhada prende as pessoas no site. São dois vetores que, quanto maior a influência, mais usuários. Funcionalidade… BOM!! Site bonito… BOOOM!!!! Usabilidade 10… MUUUUUITO BOOOOOOOM!!!!!!! Continue lendo “CSS for Developers and Out of the Box!!”

Handlers com prazo de validade!

No projeto que estou atualmente, uma das ferramentas que mais utilizo é o jQuery! Até porque o Strophe – biblioteca de comunicação com servidor XMPP – usa bastante ele. Uma das coisas com que me deparei no projeto usando jQuery foi a necessidade de fazer com que um evento ocorresse apenas uma vez sobre um elemento. Mais especificamente, um click em cima de um item de menu.

Dava até pra fazer usando algo como isso: Continue lendo “Handlers com prazo de validade!”