+2

Programar de forma Hierárquica

criado por Rubens Takiguti Ribeiro em 24/11/2009 7:54pm
Normalmente, um programador que começa a utilizar PHP estrutura suas primeiras aplicações de forma sequencial. Basicamente cria um diretório e vai jogando tudo lá dentro. Aos poucos, percebe que a estratégia adotada vai ficando confusa, comaça a aparecer alguns arquivos chamados index2.php, index3.php, salvar46.php, etc. e fica cada vez mais difícil achar aquilo que queria. Este artigo trata de algumas técnicas e estratégias para tornar o desenvolvimento de uma aplicação mais simples em termos de manutenção e, principalmente, expansão.

A caminhada de um bom programador passa por alguns tropeços como estes, mas a conquista ocorre quando há vontade de mudar.

Para começar, estruturar os diretórios da aplicação de forma hierárquica é fundamental e impactará em todo o desenvolvimento da mesma. Organizar e padronizar onde ficarão as classes, onde ficarão as folhas de estilos, onde ficarão as imagens, onde ficarão os scripts acessíveis na Web é uma tarefa aparentemente simples, mas pode se tornar bastante complexa em alguns cenários. Por exemplo, se o seu sistema terá suporte à internacionalização ou não, são detalhes que precisam ser tomados de antemão, já que reestruturar seu sistema para suportar isso é algo bem trabalhoso.

Um exemplo de como estruturar a árvore de diretórios é a seguinte:

  • /sistema

    • /classes

      • /modelo

      • /visao

      • /controle

      • /autenticacao

      • ...



    • /temas

      • tema1

        • /imagens



      • tema2

        • /imagens



      • ...



    • /imagens

      • /icones

      • /fotos

      • ...



    • /javascript

    • /modulos

      • modulo1

        • submodulo1



      • modulo2

      • ...







Os nomes dos diretórios são autoexplicativos. Algumas observações importantes: o diretório de classes pode ser subdividido hierarquicamente. O nível hierárquico não precisa ser, necessariamente, em apenas 2 níveis de diretórios. Com o lançamento do PHP 5.3, veio o suporte a namespaces, que possibilita montar funções de autoload mais sofisticadas, e baseadas na estrutura hierárquica de diretórios (semelhante à linguagem Java, com utilização de pacotes).

De forma semelhante, o diretório de módulos (diretório onde ficam os arquivos acessíveis pela Web) pode ser dividido hierarquicamente. Por exemplo, existir um módulo chamado "categorias", que possui os arquivos "index.php", "exibir.php", "inserir.php", "alterar.php" e "excluir.php" (nomes auto-explicativos). Dentro deste módulo, pode existir um submódulo chamado "livros". Neste submódulo, poderiam ter arquivos com os mesmos nomes que o anterior, só que trabalhariam com os livros de determinada "categoria".

Criar um diretório de temas é interessante para aplicações que pretendem dar este tipo de suporte. É, no entanto, uma boa prática separar código HTML de estilos, independentemente da questão do suporte a múltiplos temas.

Comentários:

Mostrando 1 - 1 de 1 comentários
Excelente artigo.
Muitas vezes desejamos ver logo o resultado de nossas idéias ou necessidades e não paramos para pensar em como chegar ao resultado: não planejamos. E isso é, inclusive, uma característica cultural do brasileiro.
15/01/2010 10:46am (~2 meses atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)