Foros del Web » Programando para Internet » PHP »

Controlar que no se ejecuten ciertas funciones

Estas en el tema de Controlar que no se ejecuten ciertas funciones en el foro de PHP en Foros del Web. Muy buenas, Quiero implementar un sistema de skins o temas para una aplicación web y tengo algunas dudas sobre cómo plantearlo. He pensado en diseñar ...
  #1 (permalink)  
Antiguo 04/12/2007, 14:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Controlar que no se ejecuten ciertas funciones

Muy buenas,

Quiero implementar un sistema de skins o temas para una aplicación web y tengo algunas dudas sobre cómo plantearlo.

He pensado en diseñar una API que se encargue de comunicar los temas con la aplicación en sí, de modo que, cada vez que se deba mostrar algo por pantalla, se comunique con dicha API y esta con el tema.

Para los temas voy a usar PHP, en principio no quiero ninguna plantilla, serán ficheros php, para tener la libertad de crear funciones o trozos de código.

El mayor inconveniente que le veo a esto es que así no puedo controlar el código que se ejecuta en estos temas. Por ejemplo no me gustaría que hiciesen llamadas a programas del sistema. Además si se tienen que comunicar con la base de datos me gustaría que lo hicieses a través de las clases desarrolladas a tal efecto (es decir que no puedan abrir ellos mismos una conexión con una BDD o hacer consultas).

Así que la pregunta es:

¿Existe algún modo de controlar que una parte del código (un fichero, un require, include, función o lo que sea) no pueda ejecutar una serie de funciones?

Los ejemplos más claros serían los siguientes:

- Impedir que se realicen operaciones "peligrosas" (llamadas a procesos del sistema, escritura de ficheros, etc...)
- "Obligar" a usar una serie de APIs incluidas en la aplicación para realizar algunas cosas (consultas a la BDD, por ejemplo)
- Y por último, controlar también que no pueda mostrar nada por pantalla, es decir, que cada vez que tenga que hacerlo lo haga a través de otro API especifico.

De poder hacer todo esto lo extendería también hasta el sistema de plugins (por los mismos motivos).

En fin, que ni siquiera sé si es la mejor forma de hacerlo, es como se me ha ocurrido... cualquier sugerencia será bien recibida.


Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.