RE: [PHP-ES] web modular
| From: | Pablo M. Beca | Date: | Fri, 21 May 2004 16:09:49 +0000 |
| Subject: | RE: [PHP-ES] web modular | ||
| References: | 1 | Groups: | php.general.es |
| Request: | Send a blank email to general-es+get-48756@lists.php.net to get a copy of this message | ||
Hola Sandra
Hace un buen tiempo leí ese mismo artículo y está muy acertado
en todo lo que dice. No recuerdo muy bien lo que dice y no tengo
tiempo ahora de leerlo, pero supongo que te refieres a que ellos
tienen cargado los módulos en un array en alguna librería.
Básicamente, te comento como yo diagramo mis webs a ver si te
sirve:
MainScript: index.php (es el único script visible desde el sitio)
este recibe un parámetro mid que trae el ID de módulo.
Lo único que hace es llamar a la librería de config.
del sitio, y luego a una librería de procedimientos.
ConfigLib : En esta defino todas las constantes que necesito en
el sitio web, como URL's, Path's, datos para el
acceso a la base de datos, etc. Lo hago con constantes
porqué son valores que nunca cambian durante la
ejecución de la aplicación. Y técnicamente es más
rápido manipular constantes que variables. Sin mencionar
el trabajo que te ahorrás de estar poniendo global
en cada una de las funciones que las necesiten.
ProcedureLib: en esta librería hago lo que es común a todos los
módulos.
1-> Cargo librerías y clases globales (includes)
2-> Me conecto a la base de datos
3-> Recupero los módulos disponibles (lo que tu necesitas)
y los coloco en un array.
4-> También aquí podés guardar info estadística y
otras cosas.
5-> Chequeo por el usuario, si está logueado o nó. etc.
6-> Detecto el módulo. O sea, recupero el valor del
parámetro "mid" (Module ID). Si no existe, debería
levantar el módulo por defecto. Si existe, valido
que exista ese módulo. Si no existe, levantas el
módulo por defecto. Los módulos los recuperaste
en un array en el paso 3. Por cada módulo debes tener
al menos los siguientes datos:
-> Module ID
-> Module Name
-> Module Status (activo/desarrollo/deshabilitado)
-> Module Auth Required (si necesitas que el usuario
este conectado)
-> Module Default (esta marca de sirve para determinar
cuál va a ser el módulo por defecto). Solo un módulo
debe llevar este campo con 1.
El módulo a levantar debes definirlo en una variable,
por ejemplo: $sCurrentModule
6-bis-> Incluso aquí puedes chequear si el módulo requiere
un usuario logueado o nó. De ser así, levantas el
módulo login y listo. Solo basta con que setees la
variable $sCurrentModule con "login" si es que el
módulo que permite el login de usuario se llama así.
7-> Ahora solo debes levantar el módulo correspondiente.
Aquí debes hacer uso de la variable $sCurrentModule
que contiene el ID del módulo que necesitas.
Aquí tienes miles de formas de hacerlo y depende de
la complejidad de tu aplicación.
-> Directorios: un directorio
modules/$sCurrentModule/module.inc
-> Archivos: $sCurrentModule.inc
Tienes que levantar esa librería con un include. Para
algún caso complejo, yo por ejemplo uso una librería
de configuración para el módulo y otra de procedimientos,
al igual que el CORE de esta aplicación. Y sigo la misma
regla. En la librería de config del módulo tengo las
constantes y variables requeridas por solo este módulo.
Y en la de procedimientos, los includes para librerías
más específicas y para este módulo.
Bueno, esto es todo... Espero que te sirva de ayuda. Es lo que
yo normalmente hago y con esta estructura (algo alterada ;) ) estoy
desarrollando una aplicación que usa el modelo ASP.
Pablo M. Beca
INFOSOFT Studio'S
Web: http://infosoft.enlapc.com
-----Mensaje original-----
De: sants sants [mailto:sants010@hotmail.com]
Enviado el: Viernes, 21 de Mayo de 2004 12:19 p.m.
Para: php-es@lists.php.net
Asunto: [PHP-ES] web modular
hola lista!
soy nueva y ya tengo mi primera inquietud...
necesito hacer una web por módulos, la cual va a tener un sistemas de
noticias, un foro, encuestas y además de eso va acceder a una bd en visual
foxpro para mostrar datos (calificaciones de estudiantes) en otra sección de
la página. yo manejo regularmente el php pero esto de los módulos si nada
que nada, miré un artículo en zonaphp.com, pero allí la realizan con arrays
y yo lo necesito con bases de datos, así que si algun alma caritativa puede
orientarme en el tema se lo agradecería, sobre todo si puede mostrar un
pedazo de código...
como referencia, les digo que tengo instalado sobre winxp professional, el
apache 2.x, php 4.x y el mysql (ultima versión; la bajé hoy).
espero y no esté pidiendo mucho!!!!
sandra sanches
colombia
gracias.
_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger:
http://messenger.latam.msn.com/
--
PHP Spanish Localization Talk Mailing List (http://www.php.net/) To
unsubscribe, visit: http://www.php.net/unsub.php