Analisando ambientes de desenvolvimento, como parte das minhas funções de consultor, a frase mais comum que ouço é: Resolvemos fazer aqui mesmo para ter controle total do código. Sempre que escuto isso entendo: Temos tempo e dinheiro para gastar e não nos preocupamos com desempenho.
O PHP é a linguagem de programação mais utilizada no momento. Possui centenas de milhares de bibliotecas e frameworks prontos para uso. Testadas em milhões de sites, todos os dias, por milhões de usuários e milhares de desenvolvedores. Algumas delas são desenvolvidas e mantidas pelas maiores empresas do mundo (Oracle, Microsoft, Yahoo! e Google, entre outras). Só existe uma razão para você fazer novamente. Ter muito dinheiro para jogar fora.
Existe uma forma de saber se você realmente precisa desenvolver algo do zero ou pode usar algo que já existe. Na verdade é muito simples. Faça assim: Sempre que for desenvolver uma nova funcionalidade, substitua o a funcionalidade por Windows e veja se faz sentido. Por exemplo: Suponha que você quer desenvolver uma função para girar uma imagem 180 graus. Você diria: Precisamos desenvolver uma função para rodar imagens para ter total controle do código. Substitua função para rodar imagens por o Windows e veja se faz algum sentido. Se fizer, você descobriu uma razão para desenvolver do zero. Se não fizer está só se enganando e perdendo tempo.
Por regra, se for começar um projeto do zero, não faça isso. Use um framework. Os frameworks são conjuntos de objetos com centenas de funcionalidades já prontas para economizar tempo e dinheiro e resolvem praticamente todos os problemas irritantes do dia-a-dia que não têm relação com as regras de negócio que farão o seu aplicativo importante.
A escolha de um framework não é fácil. Eu sugiro três que merecem sua atenção o Yii, simplesmente por ser o mais fácil para o uso do jQuery, o CodeIgniter, que tem a menor curva de aprendizado e o Zend, que ainda têm um longo caminho pela frente, mas, é desenvolvido pela Zend. Não se engane, em qualquer um dos casos, você terá que estudar o framework e aprender a utilizá-lo.
