Organización de Proyectos

Categories:

Si ya has hecho sitios o aplicaciones web es probable que tengas una manera de organizar tus archivos. Si apenas estás empezando o quieres tener otra referencia de cómo puedes organizar tus proyectos esta entrada te puede servir.

Nota:
Las organizaciones mencionadas a continuación son para proyectos simples. No está considerado el uso de herramientas como grunt, yeoman o de algún framework.

Sitio web

Organización de archivos para sitios web base
Organización sitios web base

Referencia de las carpetas y / o archivos:

www.example.com: Carpeta que contiene el proyecto. Es probable que quieras nombrar esta carpeta como el URL que tiene asociado el sitio – www.example.com – para que identifiques más rápido cada sitio.

index.html: Documento – predeterminado – inicial. Generalmente el servidor web lo toma como archivo predeterminado y se envía si no se incluye como parte del URL – dirección web -.

*.html: Documento(s) con más contenido del sitio.

assets: Carpeta que contiene archivos adicionales como hojas de estilo – css -, código en JavaScript – js – o imágenes – img -. Si utilizas otro tipo de contenido puedes agregar carpetas adicionales – audio, video, pdf, swf, -.

Utilizo la carpeta assets porque me gusta tener una estructura similar entre los sitios y aplicaciones – básicas – pero puedes eliminar la carpeta assets y utilizar sólo las carpetas css, js, img – y adicionales – o, si solo utilizas un archivo de cada tipo también los puedes incluir en el directorio raiz.

Sin carpeta assets
Organización sitios web var. 1

Archivos dentro del directorio principal
Organización sitios web var. 2

Aplicaciones web

Esta organización la tomé “prestada” de las primeras versiones de Rails / CakePHP. Esta organización representaría únicamente la V – de la arquitectura MVC – con un poco de Código espagueti.

Organización aplicaciones web

Referencia de las carpetas y / o archivos:

www.example.com: Carpeta que contiene el proyecto. Es probable que quieras nombrar esta carpeta como el URL que tiene asociado el sitio – www.example.com – para que identifiques más rápido cada aplicación.

index.php: Parte inicial de la aplicación. Puedes utilizar index.html si la página principal de tu proyecto no necesita preprocesamiento.

assets: Al igual que en la organización de archivos para sitios web, esta carpeta contiene archivos adicionales a la aplicación – CSS, JS, imágenes -.

config: Aquí se encuentran los archivos de configuración de la aplicación entre los cuales está la conexión a la BD.

tablas: Esta carpeta – generalmente son más de una – tiene el nombre de una tabla que tengas en tu base de datos – con excepción de las tablas de unión en las relaciones M:M pero ese caso también lo vamos a ver – . Los archivos que se van incluir dentro de cada una de las carpetas van a servir para para administrar los registros de esa tabla – patrón CRUD -.

Una vez que veamos cómo conectar un archivo PHP con MySQL voy a retomar esta sección para describir cada uno de los archivos.

Recuerda:
Cuando hay orden es más fácil encontrar y solucionar errores – y desarrollar -.