Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 22-ene-2005, 12:24   #1 (permalink)
Windsurf ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 17
Cool Modulo Usuarios/Permisos

Quisiera hacer una class de usuarios dónde se le puedan assignar permisos.
Un usuario siempre pertenece a un grupo, i este grupo tiene assignados unos permisos segun el numero de secciones que haya. Cada sección tiene los siguientes permisos: listar, insertar, borrar, i modificar.

Cómo lo puedo hacer para que sea modulable?

Preg 1. Es buena política poner las consultas SQL de creacion de las tablas en el módulo? Si la respuesta es no, cómo hacerlo?

Las tablas serian las siguientes: usuario, grupo, secciones, grupo_secciones(permisos)

Preg 2. Tendria que crear varias clases en vez de sólo una? Por ejemplo: classe usuario, classe grupo, classe seccion, classe permiso.
(EL problema puede ser que la classe usuario neccesita la classe grupo, i la classe permisos, neccesita la classe grupo i la classe secciones).

Alguna ayudita?
Windsurf está desconectado   Responder Citando
Antiguo 22-ene-2005, 13:21   #2 (permalink)
sism82 ha deshabilitado el karma
 
Avatar de sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Enviar un mensaje por MSN a sism82 Enviar un mensaje por Yahoo  a sism82
primero que nada, tu puedes hacer la arquitectura de las clases como gustes, podrias incluso hacer una clase solamente, o bien, como dices, clase usuario, grupo, permiso etc. pero normalmente las necesidades de la aplicación te van mostrando como es mejor abstraer esa información. Ahora, dejando claro eso, primero checa
http://pear.php.net/packages.php?cat...Authentication

y fijate que lo que quieras hacer no lo haya hecho alguien ya, y si alguien ya hizo algo similar, estudia su código y aprende de él. Eso no quiere decir que tu conjunto de clases deba ser igual, pero te puedes dar una idea viendo codigo de gente que ya ha estudiado esa necesidad tal vez mas a fondo que tu que apenas inicias. Posteriormente tendrás material suficiente para decidir a hacer tu propio sistema, tal vez de una forma diferente o "mejor".

saludos
__________________
Se debe llamar GNU/Linux, no solamente Linux, mas info en: http://www.gnu.org/gnu/gnu-linux-faq.es.html
sism82 está desconectado   Responder Citando
Antiguo 22-ene-2005, 15:38   #3 (permalink)
Windsurf ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 17
Gracias por contestar.

Si, también le estava echando una hojeada a este package. I una conclusión que he sacadao es que la CLASS que tengo que crear se le tendran que setear el nombre de las tablas i los nombres de los campos, en vez de obligar al usuario a tener una tabla con los campos que la classe demande.

Me queda por solcuionar la pregunta núm.2. Sism82, que consejo me darias: una classe o varias classes dependientes?
Windsurf está desconectado   Responder Citando
Antiguo 22-ene-2005, 22:52   #4 (permalink)
sism82 ha deshabilitado el karma
 
Avatar de sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Enviar un mensaje por MSN a sism82 Enviar un mensaje por Yahoo  a sism82
normalmente es mejor tender a la especializacion, por ello, "a ojo de buen cubero" diria que es mejor utilizar clases separadas. saludos
__________________
Se debe llamar GNU/Linux, no solamente Linux, mas info en: http://www.gnu.org/gnu/gnu-linux-faq.es.html
sism82 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 23:24.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93