Jaime Neto | desenvolvimento para web

TAG | Zend Framework


Neste sábado, 09 de Março de 2013, apresentei uma palestra online via Google Hang Out falando sobre minha experiência ao tirar a certificação Zend Framework.

ProPHP

Para quem tiver interesse, o vídeo pode ser visto logo abaixo, ou na página do PHP-PB (php-pb.net). E disponibilizei os slides da palestra no meu slideshare: http://www.slideshare.net/jaimecpn.
Link direto para esta palestra: http://www.slideshare.net/jaimecpn/certificao-zend-framework.

(mais…)

·


Imagine a seguinte situação: você precisa fazer uma consulta numa tabela que tem muitos registros e, portanto, precisa fazer paginação do resultado. Ok até aí, é só criar um Zend_Db_Select e usar ele como parâmetro para um Zend_Paginator. Porém, na hora de iterar sobre o getItems() do paginator, você estará trabalhando com um array em vez de trabalhar com um objeto da sua classe modelo. O que fazer? Bom… você pode pegar todos os resultados, jogar num foreach e converter no objeto em questão, correto? Mas pra todo objeto vai ter que fazer isso de forma repetida… E agora?

Eis minha sugestão: Vamos criar um novo adapter para Zend_Paginator que é uma variação do Zend_Paginator_Adapter_DbSelect. A diferença é que esse adapter recebe um parâmetro adicional no construtor com o nome da classe modelo que você deseja como retorno na paginação.

(mais…)

·


Nesta segunda-feira (26 de Novembro de 2012) deu-se início à VIII Semana da Computação da UFPB em João Pessoa/PB. Fui convidado para dar uma palestra sobre Zend Framework, e o tema que apresentei foi “Conhecendo o Zend Framework”.

Conhecendo o Zend Framework

(mais…)

· · ·


Não é muito raro vermos em alguns sites, principalmente no rodapé, a informação do tempo decorrido para exibir uma página. E nos sites em PHP, geralmente é usado a função microtime para calcular esse tempo, chamando-a antes e depois do trecho de código que queremos calcular o tempo de execução, e depois subtraindo o primeiro do último.

Isso é muito útil, principalmente para trabalharmos na melhora da performance do código. Foi daí que me deu a idéia de criar um plugin para Zend Framework para facilitar o uso dessa função, e eis o resultado: (mais…)

· · ·


Já por várias vezes trabalhando em sites, tive a necessidade de converter strings para um formato sem acentos, cedilha, espaços, caracteres especiais, ou letras maiúsculas. Seja pra renomear um arquivo, renomear o título de uma notícia para a url ou criar um alias para um nome de usuário, a idéia é sempre a mesma, ou no mínimo muito semelhante. Isso é chamado transliteração, ou mais comumente, em inglês transliteration.

Procurando na internet achei várias expressões regulares que fazem o trabalho, mas nenhuma dela tinha tudo que eu queria, então resolvi fazer uma classe seguindo o modelo de classes do Zend Framework, e acabei fazendo duas: uma de filtro, e um view helper, que usa o filtro. (mais…)

· · ·


Uma das coisas chatas em se usar o Zend_Db_Table é quando você precisa de informações que se encontram em tabelas associadas à tabela que você está usando. Para isso, o Zend_Db_Table oferece a opção de você configurar a variável $_referenceMap para definir os relacionamentos entre as tabelas, e usar métodos como findDependentRowset(), ou algo do tipo find<tableclass>By<rule>(), que são na verdade métodos de Zend_Db_Table_Row (Saber mais).

A utilização desses métodos pode ser boa no caso de poucos dados, mas se você estiver querendo pegar as informações completas das tabelas associadas de uma lista muito grande de registros, a quantidade de acessos ao banco para pegar essas informações vai ser proporcional à quantidade registros. Veja o seguinte cenário como exemplo: (mais…)

·


Tá… o Zend_Db_Table já me dá métodos pra inserir, alterar, excluir e fazer busca de registros. Mas… e se eu só quiser saber quantos registros tenho na tabela? Ele não tem por padrão um método para me dizer isso. Eu precisaria fazer um fetchAll() e depois um count() no resultado, ou montar uma query pra me devolver esse resultado, ou passar como parâmetro no bind uma string 'COUNT(*)'… Mas tudo isso parece pouco prático, quando poderíamos ter um método count() pra fazer isso pra nós…

Então é isso que fiz… Implementei na minha classe My_Db_Table_Abstract a interface Coutable, que ficou dessa forma: (mais…)

·


Continuando as melhorias na utilização da Zend_Db_Table, do Zend Framework. Outra melhoria a ser feita é nos métodos update() e delete(). O que há de comum entre esses dois métodos é que ambos recebem como parâmetro uma ou mais restrições para identificar em que registro a alteração ou exclusão será feita. Sendo que a grande maioria das vezes que você usa esses métodos, o registro é relativo à chave primária da tabela, e mais raramente à alguma outra coluna. Como no exemplo: (mais…)

·


Faz muito tempo que não posto nada no blog, então resolvi começar a compartilhar algumas soluções que venho desenvolvendo para Zend Framework, que pode ser útil pra muita gente que o utiliza.

Uma das grandes críticas que vejo sobre o ZF é o uso do Zend_Db_Table, por diversos motivos, então, para começar vou postar algumas soluções que venho desenvolvendo para facilitar meu trabalho no uso dessa abstração de banco de dados.

Para começar, uma das coisas que me aborrecia sempre que ia dar um insert ou update na tabela, era quando eu passava os dados do formulário para um desses métodos, e o ZF me jogava uma excessão dizendo que não existe uma coluna de nome tal, que foi passada no array de dados. Pra deixar mais claro, vamos pegar o seguinte cenário: (mais…)

·

Theme Design by devolux.nh2.me