Tengo que hacer un panel de administración bastante pequeño: página de login, página inicial del panel y página individual de cada categoría. Así que una vez me logeo llego a la página inicial del panel donde puedo crear categorías y desde ahí llegar a la página indivial de cada categoría que me muestra sus post.
En ambas páginas (sin contar login) hay varios dialogs de jquery con AJAX para añadir/modificar/borrar categorías o añadir/modificar/copiar/borrar post.
¿Cómo organizarías las carpetas de este proyecto? ¿Porque para dos vistas no merece la pena MVC no?
Mi proyecto ahora mismo es algo así:
/config
/css
/js
/db
/ficheros (algunas clases)
/ficheros/operaciones (los archivos .php que cargo con AJAX)
index, etc..
Llevo un cacao enorme porque tengo cosas MVC ya que al principio no había dialogs ni AJAX y había varias pantallas más.
¿Debería meter los ficheros que vaya a llamar desde AJAX en una carpeta específica? ¿Todo el PHP en un sitio?
Yo utilizo siempre MVC, independientemente de las secciones que pueda tener una web... el tema de ajax, al fin y al cabo son llamadas, que no necesariamente deben de ser a archivos, de hecho si se usa este tipo de patron no te lo aconsejaria.
En mi caso te muestro aqui las estructura de como lo tengo construido.
Publica
|_ estilos
|_ javascript
|_ imagenes
Privada
|_ Aplicacion
|_Librerias
|_Componentes
|_|_ Index
|_|_ (otras secciones...)
Y no olvides hacerte un htaccess para que solo apunte a un archivo, por eso de las url amigables, aparte que te hara la vida mas facil.
Yo tengo hecho esto a nivel pruebas pero quizas te ayude a plantearlo.
https://bitbucket.org/ktrankos/twitter-smarty-doctrine-memcached
gracias
Supongo que no tienes pensado ampliarlo, no?, y tema de multilengua tampoco, no?, Habrá más de un theme para la web?
Si lo que queires es lo más básico y estás seguro que no vas a ampliarlo, puedo sugerirte:
/config
/css
/js
/php
/php/class
/php/ajax
index
...
La carpeta db supongo que la tienes para el wrapper, no?, creo que la pondria dentro de php si esta escrita en php así lo tienes todo organizado por idioma
De esta manera te queda la estructura principal muy limpia, con un autload cargas las clases y el archivo js que se encarga de las llamadas ajax siempre apunta a la misma carpeta, con lo cual, solo le pasas el nombre del archivo para que te devuelva la llamada y listos.
Un consejo que a mi me funciona es crear un archivo loader.php en el principal, lo que haces es que index.php llama a loader.php y en loader pones todo el código autogenerado (autoloader, idioma, css, includes, js...) de esta manera dejas el index.php limpio para el css y todo lo que se carga automáticamente no te "molestas" mientras vas programando.
Si tienes pensado integrarle algunos módulos o multilengua o themes, la cosa cambiaria un poco, pero bueno, esta es mi humilde opinión ^_^
Yo te recomendaría usar Silex, te viene con un pequeño contenedor de dependencias ( pimple ) y un sistema de routing bastante funcional. A partir de hay te permite enchufarle muchas cosas si las necesitas, como por ejemplo twig.
DRW, no reinventes la rueda, jeje. Yo elegiría un framework sencillo pero fácilmente ampliable, silex, cómo te ha dicho Daniel, y ahora uno tan sencillo cómo codeigniter, pero más moderno, usa composer, namespaces... simplemvcframework.com
Yo lo que te recomendaría, porque al final te vas a volver loco, es a plantearte el uso de un framework para tenerlo todo mejor organizado y ser más eficiente para futuras modificaciones.
Has probado la demo de www.freesourceweb.com? te lo recomiendo especialmente para proyectos así.
Tienes template y cms con base da datos. La estructura es MVC y el CMS es bastante completo. Puedes gestionarlo todo.
Pruébalo.
Tengo que hacer un panel de administración bastante pequeño: página de login, página inicial del panel y página individual de cada categoría. Así que una vez me logeo llego a la página inicial del panel donde puedo crear categorías y desde ahí llegar a la página indivial de cada categoría que me muestra sus post.
En ambas páginas (sin contar login) hay varios dialogs de jquery con AJAX para añadir/modificar/borrar categorías o añadir/modificar/copiar/borrar post.
¿Cómo organizarías las carpetas de este proyecto? ¿Porque para dos vistas no merece la pena MVC no?
Mi proyecto ahora mismo es algo así:
/config
/css
/js
/db
/ficheros (algunas clases)
/ficheros/operaciones (los archivos .php que cargo con AJAX)
index, etc..
Llevo un cacao enorme porque tengo cosas MVC ya que al principio no había dialogs ni AJAX y había varias pantallas más.
¿Debería meter los ficheros que vaya a llamar desde AJAX en una carpeta específica? ¿Todo el PHP en un sitio?
Gracias por la ayuda.
18/05/2015 16:55
En mi caso te muestro aqui las estructura de como lo tengo construido.
Publica
|_ estilos
|_ javascript
|_ imagenes
Privada
|_ Aplicacion
|_Librerias
|_Componentes
|_|_ Index
|_|_ (otras secciones...)
La carpeta pribada no es accesible via navegador
mmmmmmm creo que no me he explicado muy bien...
20/05/2015 19:05
Yo tengo hecho esto a nivel pruebas pero quizas te ayude a plantearlo.
https://bitbucket.org/ktrankos/twitter-smarty-doctrine-memcached
gracias
22/05/2015 15:30
Supongo que no tienes pensado ampliarlo, no?, y tema de multilengua tampoco, no?, Habrá más de un theme para la web?
Si lo que queires es lo más básico y estás seguro que no vas a ampliarlo, puedo sugerirte:
/config
/css
/js
/php
/php/class
/php/ajax
index
...
La carpeta db supongo que la tienes para el wrapper, no?, creo que la pondria dentro de php si esta escrita en php así lo tienes todo organizado por idioma
De esta manera te queda la estructura principal muy limpia, con un autload cargas las clases y el archivo js que se encarga de las llamadas ajax siempre apunta a la misma carpeta, con lo cual, solo le pasas el nombre del archivo para que te devuelva la llamada y listos.
Un consejo que a mi me funciona es crear un archivo loader.php en el principal, lo que haces es que index.php llama a loader.php y en loader pones todo el código autogenerado (autoloader, idioma, css, includes, js...) de esta manera dejas el index.php limpio para el css y todo lo que se carga automáticamente no te "molestas" mientras vas programando.
Si tienes pensado integrarle algunos módulos o multilengua o themes, la cosa cambiaria un poco, pero bueno, esta es mi humilde opinión ^_^
Espero haber sido de ayuda!
13/08/2015 07:56
Saludos!
25/10/2015 23:09
DRW, no reinventes la rueda, jeje. Yo elegiría un framework sencillo pero fácilmente ampliable, silex, cómo te ha dicho Daniel, y ahora uno tan sencillo cómo codeigniter, pero más moderno, usa composer, namespaces... simplemvcframework.com
Un saludo
01/12/2015 13:55
Para responder a tu pregunta yo lo haría así:
/config
/public
---->/css
---->/js
---->/img
/includes
----->/libs
----->/clases
index.php
03/02/2016 21:09
Tienes template y cms con base da datos. La estructura es MVC y el CMS es bastante completo. Puedes gestionarlo todo.
Pruébalo.