hola a todos, estoy haciendo un gestor que maneja plugins en version php y me he encontrado con un problema.
veran mi idea es hacer un sistema de plugins que se auto inserten mediante require_once() y devolver todos los plugins que esten instalados y no instalados.
primero hare un listado del directorio para que me entiendan.
./root
./root/admin
./root/models
./root/models/plugins
./root/users
en la carpeta ./root que es el directorio principal, contiene archivos *.php como (index.php, login.php, logout.php...etc.)
en la carpeta ./root/models hay un archivo llamado class.pluginmanager.php, este archivo es el que se encarga de gestionar todos los plugins y agregarlo con require_once().
cuando los plugins estan en la carpeta de ./root/models/plugins y yo al estar en el directorio ./root index.php, el plugin se auto incrusta correctamente.
pero al estar en la carpeta ./root/admin index.php directamente no me los auto incrusta.
el caso es que yo tengo un directorio definido para los plugins con una variable que le cargo a class.pluginmanager.php ($plugins_dir = "models/plugins/")
mediante global() y queria saber si habria alguna posibilidad de auto avanzar o retroceder para encontrar dicho directorio desde el directorio actual.
ejemplo:
estoy en ./root/admin --------->busca el directorio plugins ---- ¿pero no sabe donde esta? --- recorrer directorios hasta encontrar --- ¿hacia donde?
asi hasta encontrar el directorio.
porque si tengo otra carpeta el dia de mañana ./root/micarpeta/otracarpeta tendre otravez el mismo problema.
¿o existe algun metodo mejor para hacer lo que he explicado? .... si me habeis entendido claro.
todo mi sistema esta hecha en poo y como siempre luego lo publicare en mi web.
por favor necesito una mano, si quereis ver el codigo lo publicare.
gracias.