Domingo, Setembro 05, 2010

Meu primeiro projeto usando o spaghetti* framework

Ontem, dia 4/09, quando já chegávamos ao dia 5, foi lançado o site da JN Concursos, meu primeiro projeto usando o Spaghetti* php framework.
Antes de iniciar o projeto, eu pensava em melhorar e padronizar a estrutura dos meus trabalhos, deixar as partes separadas e aproveitar melhor o código já escrito. Foi quando conheci o spaghetti (história já contada no post anterior).

Falando mais precisamente desse projeto, posso dizer que valeu a pena usar o framework. Com ele melhorei a segurança do sistema, criei níveis de usuário, reaproveitei muita coisa e comecei efetivamente a trabalhar com php orientado a objetos, que era um desejo de tempos (na verdade desde que comecei a trabalhar com php, mas não conseguia encontrar o ponto viável de uso).

Uma das vantagens que eu havia visto no framework era a facilidade de salvamento de dados na edição. Normalmente a cada update tinha que escrever um comando gigante de sql e personalizado pra cada aplicação. Com o spaghetti veio uma coisa muito mais simples: se tem id é update, se não tem é inserção, não preciso verificar na função, é só enviar e pronto. Eliminei umas 15 horas só com isso, além de evitar reescrita de código em todos os lugar (o que eu teria que escrever "update x set y = z" eu resolvida com $this->Model->save( $this->data ).
Outra facilidade é o uso de prefixos para as seções. Assim eu padronizei localização de itens, ficando html de sessão administrativa no mesmo diretório da exibição padrão. Organização 100%. Antes de usar o spaghetti eu usava um diretório de páginas onde ficava tudo, e tudo era incluído na index, sem url amigável e gerando códigos imensos em arquivos unicos com funções desorganizadas (não exatamente, mas a estrutura não me agradava).

Meu maior problema foi com o auth component. Depois de muito tentar usando o padrão do framework, decidi por usar um solução alternativa, mais parecida com o que eu usava antes. Deu certo, mas espero que nos próximos sites eu consiga usar uma estrutura mais padronizada e por que não mais segura.

Enfim, gostei do resultado final. O sistema ficou fácil de gerenciar e manter e já serviu de base para outros projetos.

Hoje não estou em casa, mas assim que possível compartilho algumas coisas que precisei modificar no core pra garantir funcionamento de algumas funções (pouquissimas coisas), além de outras que eu estou prometendo há algum tempo (como o gerenciador de arquivos para ckeditor integrado ao editor).

Convido a acessar o site: www.jnconcursos.com.br

Para o desenvolvimento usei as ferramentas: Aptana studio 2.x.x (inicio), Kate (editor de textos do KDE), MySql (e suas ferramentas gráficas), Firefox (essencialmente com firebug), Virtual Box (pra validação usando MS Windows com Internet Explorer(6, 7 e 8), Safari, Chrome, Firefox), Inkscape, Gimp e Adobe Photoshop (esse último foi usado em outro computador apensar pra trabalho no Logo, já que infelizmente o Gimp ainda não tem 100% de compatibilidade com PSD, porem tudo o que usa imagem no site exceto o logo foi feito com Inkscape e Gimp). Tudo rodando com Mandriva Linux 2008.1, com Apache, MySql e php nas últimas versões disponíveis. Tudo isso no meu Celeron 2.1 com 768 de Ram (e uma FX 5200).
O Site foi testado em todos os browsers citados em suas últimas versões, exceto o Internet Explorer, que infelizmente precisa ser testado em todas as versões desde o 6.

PS: Estou querendo migrar esse blog para o meu domínio (guimesmo.com), por isso algumas promessas minhas ainda não foram cumpridas

PS2: Não indico usar um hardware semelhante ao meu com versões mais atualizadas de software. Porém, a versão 2008.1 tinha um desempenho razoável com KDE 3.5.

PS3: qualquer bug, da um 'Coment' :D

3 comentários:

Hugo Fabricio disse...

Guilherme será que você poderia mim passar a solução alternativa ao "Auth Component" ou postar la no forum para o pessoal?

Guimesmo, o único disse...

Agora eu to com o tempo apertado. Vou tentar colocar uma aplicação de exemplo la no colaboração se eu conseguir concluir um trabalhinho aqui até o fim de semana.

Hugo Fabricio disse...

Blzinha Guilherme, Vlws