Desde a versão 5.4 do PHP ficou mais fácil transformar entidades em JSON através da função json_encode(). Basta implementar a interface JsonSerializable, no qual o único método que precisa ser implementado pela subclasse é o jsonSerialize.
Session Keep Alive
Uma maneira fácil de manter a sessão ativa no lado do servidor sem sobrecarregá-lo com longos tempos de timeout, é usar um script que redireciona o usuário para a tela de login após um determinado período de inatividade (teclado e mouse ociosos), e fazer requisições assíncronas ao servidor para manter a sessão ativa durante a atividade.
Stack Overflow Em Português
Foi anunciado hoje no blog do StackExchange o lançamento oficial do Stack Overflow em Português. Conforme destacado na publicação do blog, esse é o primeiro Stack Overflow internacional.
Visite agora mesmo a nova comunidade e crie a sua conta: http://pt.stackoverflow.com
Simple Javascript Support Detection
Partindo do princípio que o seu navegador não suporta javascript e depois contrariando via o próprio javascript, é possível fazer uma simples verificação se o navegador do usuário está com javascript habilitado ou não.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Visualizar demo online.
FreezeHeader jQuery Plugin
Se você está precisando de algum script para manter o cabeçalho da tabela sempre visível mesmo ao rolar a página, lhe apresento o plugin (jQuery) freezeheader criado pelo menu amigo Laerte.
Aproveitando também para parabenizá-lo por seu plugin ter ficado entre os 100 melhores de 2013.
Links
Demo: http://laertejjunior.github.io/freezeheader Github: https://github.com/laertejjunior/freezeheader
PHP: Slim Framework Action Based
Há algum tempo utilizo o Slim Framework como base de meus projetos. E o motivo é sua simplicidade, velocidade e facilidade.
E para criar CRUD, eu utilizo um trecho de código para trabalhar rotas semelhante aos frameworks action based. Seguindo a convenção /controlador/método.
Exemplo:
Para a URI /clients/add terei uma classe controladora ClientsController com um método público (a ação) add. E o script tentará renderizar a página add.php dentro do diretório clients. E para a URI /clients/view/1 será necessário ter o método view que recebe um parâmetro (nesse caso “1”).
Abaixo segue o trecho semelhante ao que está disponível no meu repositório no Github (porém nesse repositório utilizo o Twig como template engine): rogeriolino/slimapp-skeleton.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
Para utilizar o slimapp-skeleton basta clonar o repositório e depois fazer a instalação das dependências via Composer.
Angular.js: Inplace Editing
HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Futeria on Firefox OS
Após inscrever meu aplicativo Futeria e ganhar um Geeksphone Keon (developer preview) da Mozilla. Anuncio que em breve o aplicativo também estará disponível para o Firefox OS.
PHP: 5.5 New Features
A versão 5.5 do PHP foi lançada no mês passado, e trouxe algumas funcionalidades relevantes. Entre elas, seguem abaixo as mais interessantes (pelo menos para mim):
Generators
Com o Generators você pode iterar com um dado dentro de uma função sem a necessidade de criar um array para ser retornado.
1 2 3 4 5 6 7 8 9 10 |
|
Ou um exemplo do próprio site php.net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Repare que não há necessidade de criar um array, populá-lo, retorná-lo, e só depois iterá-lo para imprimir os valores.
Finally
Mesmo já possuindo a bastante tempo o bloco try/catch, só agora a partir da versão 5.5 foi introduzida a keyword finally. No qual você define um bloco para ser executado de qualquer maneira (mesmo que caia no catch).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
::class
Agora é possível resolver o nome da classe apenas através de MinhaClass::class.
1 2 3 4 5 6 7 |
|
empty()
Agora é possível passar expressões para a função empty() e não mais apenas variáveis.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Veja mais
Para saber mais sobre a nova versão acesse os links abaixo:
http://www.php.net/releases/5_5_0.php http://br2.php.net/manual/en/migration55.php
E o php.net também lançou sua versão nova (ainda em beta). Clique aqui para abrir a versão beta.
UTF-8 Icons
Com a adoção dos navegadores mais modernos, muitos projetos estão adotando os ícones UTF-8 em botões. Assim diminui a dependência de imagens tornando o carregamento mais rápido. Exemplo: http://dev.rogeriolino.com/exemplos/css/utf8_icons/index.html
Prós
Não há necessidade de imagens como dependência;
Pode usar a cor que desejar;
São escaláveis, muito fáceis de alterar o tamanho;
Pode usar transformações CSS (transparência, sombra, rotação, etc);
Reuso de ícones através de seletores CSS;
Contras
Os ícones das fonts padrões não são tão legais;
Embora não haja dependência de imagem, pode ter de font (web font);
Dependendo da font escolhida, um iconset pode ser mais leve;