Para mim, um diferencial entre programadores são os padrões de projetos, mais conhecidos por designer patterns. Como a própria wikipédia descreve padrões de projeto: “…descrevem soluções para problemas recorrentes no desenvolvimento de sistemas de software orientados a objetos”. Ou seja, programadores com conhecimento em Padrões de Projeto aplicam soluções em programação que facilitam a manutenção e o ciclo de vida do software. Infelizmente percebo que entre programadores PHP a utilização de padrões de projeto ainda não está tão bem difundida quanto em outras linguagens, como o java, por exemplo. Um pouco disso se deve ao fato de a linguagem ter ganhado um caráter orientado a objeto “recentemente”, cerca de 5 anos atrás, em sua quinta versão. Além disso, um outro problema que existe com relação a padrões de projeto em PHP é a literatura, que não está bem difundida para a linguagem. São bem poucos os livros que tratam de padrões de projeto utilizando PHP, mais raros ainda se forem procurados em nossa língua. Portanto caso um programador deseje conhecer mais a respeito de padrões de projeto, terá que estudar os tais em uma outra linguagem, mais especificamente, java. Para java existe uma gama inimaginável de livros que tratam do assunto. Outra fonte de informação importante sobre padrões de projeto é o website de Martins Fowler (http://martinfowler.com/). Ele trata de diversos padrões, principalmente voltado ao desenvolvimento de soluções corporativas. Além disso, trata de soluções de refatoração de código, tarefa que quase não acontece na vida de um programador =p . Entretanto, vale lembrar que nem todos os padrões podem ser efetivamente portados para o PHP sem sofrer alguma mudança. Cito, por exemplo, os padrões que utilizam polimorfismo para evitar-se condicionais no código (strategy). Pode-se ver exemplos desse tipo neste website: http://sourcemaking.com/design_patterns . Ele mostra como funciona os padrões em diversas linguagens e como muda a implementação entre uma linguagem e outra.
Categoria: php
Em uma distro Linux proveniente de uma distribuição Debian (ubuntu, kurumim, etc) para se montar um servidor AMP (Apache, Mysql e PHP) é necessário apenas uma linha de código:
- apt-get install apache2 php5 libapache2-mod-php5 php5-mysql mysql-server mysql-client
Após rodar essa linha de comando, o seu servidor AMP estará pronto para uso.
Para montar um servidor AMP no Windows já é bem mais complexo. Primeiramente você deve baixar o pacote do apache. Logo após você deve baixar o PHP. Hoje já existe um instalador mas por padrão este instalador sempre dá pau. Depois disso você deve baixar o Mysql. No final das contas, leva-se no mínimo duas vezes mais tempo montando um servidor AMP no Windows do que no Linux. Pior ainda se estiver utilizando uma versão de Windows que seja diferente do Windows XP (por exemplo o Windows Vista que tem um sistema de controle de permissões bem mal feito).
O php, apache e mysql forão feitos para rodarem nativamente em sistema UNIX. Por isso é muito mais simples instalar e configurar estes em uma maquina Linux do que em uma maquina Windows.
Mesmo com tudo isso, porque tanto desenvolvedor utiliza Windows para desenvolver? Digamos que é cômodo utilizar Windows. Todo mundo usa Windows e muita gente acha que Linux é coisa de hacker, nerd ou cientista. Só que na grande maioria dos casos, o servidor onde vai rodar a aplicação é Linux. Ou seja, na grande maioria dos casos o desenvolvedor deverá ficar se preocupando com as incompatibilidades de sistema ao invés de se preocupar com a aplicação. Nos próximos artigos abordaremos algumas ferramentas que facilitam a migração do usuário de Windows para Linux além de auxiliar no desenvolvimento.
Dizem que a simplicidade é a alma do negócio. Se isto estiver certo, o Konana é a descrição absoluta desta frase. Simples, leve e cumpre a tarefa de um framework PHP.
Dentre as suas funcionalidades, podemos listar o auxilio para desenvolvimento de soluções MVC, o ORM, mapeamento objeto relacional, diversos helpers para a as diversas tarefas, entre elas, helpers para sessions, databases, forms, captcha, etc.
Um ponto que ele ainda peca é na documentação. Eu pessoalmente acho que a documentação deveria conter mais exemplos práticos. Entretanto, isso será solucionado com o tempo.
Sistemas WEB.Acessem www.ismaelvacco.com.br
Dentre as várias funcionalidades existentes no Zend Framework, a que mais me chamou a atenção foi o módulo Zend PDF. Existem algumas classes para a criação de arquivos pdf, como a FPDF, por exemplo. Mas o módulo Zend PDF, além de criar documentos PDF, ele edita e cria documentos a partir de um template já pronto. Esta funcionalidade é bem interessante para a criação de sistemas de controle de documentos. Um formulário qualquer pode ser preenchido eletronicamente e enviado para alguém para ser aprovado ou coisa do gênero. A aprovação pode ser feita mediante uma assinatura eletrônica que o sistema gera (essa assinatura pode ser um número que pode ser conferido no sistema para verificar a autenticidade). O único trabalho seria gerar os formulários e documentos em PDF, mas existem diversas ferramentas que geram arquivos pdf a partir de um documento no Word e Excel.
Além disso, o módulo implementa um controle de revisão ds documentos, o que também é muito interessante para controlar documentos gerados.
exemplos de utilização do móduloZend PDF podem ser encontrados na documentação do Zend Framework. Mais à frente postarei um exemplo prático da implentação deste módulo editando documentos pdf.
Ismael Vacco
Existe uma interessante evolução na maneira de se programar aplicações WEB. Com o surgimento de varias linguagens de programação e da necessidade de facilitar o desenvolvimento de sistemas emergiram varios padrões para o desenvolvimento de aplicações WEB. Um destes padões, é o MVC, ou, em uma tradução menos rigorosa, Modelo – Visão – Controle. O conceito pode ser aplicado a qualquer linguagem, mas ela é nativa de alguns frameworks, como o Ruby on Rails para ruby, Hibernate para java. Para php, existem diversos frameworks que trabalham dessa maneira, entre eles, o phpMVC, o Cake e o Zend Framework. Tenho preferência por este ultimo pela quantidade inúmera de ferramentas disponibilizadas. Em outros post discutiremos algumas dessas ferramentas. Em momento, vamos analizar como desenvolver um sistema WEB utilizando o Zend Framework e o conceito de MVC.
Em primeiro lugar, devemos baixar os arquivos do Zend Framework. Existem dois pacotes Full e Minimal. Eu recomendo baixar a versão full que contem o pacote completo e até ambientes de teste de aplicativos e ferramentas para criar o código automaticamente ( outra coisa que discutiremos em post mais a frente ). Apos baixar e descompactar, os arquivos devem ser copiados para uma pasta abaixo da raiz do seu site. Não se tem necessidade de deixar os arquivos expostos para o publico. Após copiado, temos que apontar a nossa aplicação para os arquivos ou dizer ao PHP onde ele deve ir buscar os arquivos. A primeira maneira pode ser feita declarando o comando ini_set(‘include_path’,caminho para os arquivos) no arquivo central de nossa aplicação que iremos utilizar o MVC. A outra maneira é abrir o php.ini, encontrar a linha include path e acrescentar o caminho para os aquivos.
No próximo post mostrarei como fazer isso de maneira mais prática.
