Estoy teniendo problemas con los require_once según desde donde llame a las clases. Por ejemplo:
Este el sistema de archivos que tengo:
Código:
miapp -dao UsuarioDAO.php MySQLDB.php -dto Usuario.php -includes Login.php config.php -public index.php -admin login.php
desde el archivo miapp/public/index.php hago lo siguiente y funciona:
Código PHP:
<?php require_once '../dao/UsuarioDAO.php'; ?>
<?php require_once '../dto/Usuario.php'; ?>
$usuarios = UsuarioDAO::obtenerUsuarios();
Código PHP:
<?php require_once '../../dao/UsuarioDAO.php'; ?>
<?php require_once '../../dto/Usuario.php'; ?>
$usuario = UsuarioDAO::obtenerUsuario($user, $pass);
Warning: require_once(../includes/config.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\miapp\dao\MySQLDB.php on line 3
Fatal error: require_once() [function.require]: Failed opening required '../includes/config.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\miapp\dao\MySQLDB.php on line 3
Y este el código de cada clase (sólo los require_once):
miapp/dao/UsuarioDAO.php
Código PHP:
require_once 'MySQLDB.php';
require_once '../dto/Usuario.php';
Código PHP:
require_once '../includes/config.php'; //Configuración de la Base de datos
Tengo que decir que antes de escribir esto he estado buscando en el foro para encontrar una solución y en concreto he visto estos temas que comenta GatorV y pateketrueke entre otros:
http://www.forosdelweb.com/f18/probl...e_once-654283/
http://www.forosdelweb.com/f18/probl...ctorio-774798/
http://www.forosdelweb.com/f18/error...e_once-655571/
Pero no me termina de quedar muy claro. Ya que también he visto otra solución que es poner en un archivo de configuración estas constantes:
Código PHP:
define('ROOT', 'C:\xampp\htdocs');
define('APP_NAME', 'miapp');
define('APP', ROOT . DIRECTORY_SEPARATOR . APP_NAME );
Código PHP:
require_once '../../includes/config.php';
require_once APP . DIRECTORY_SEPARATOR . 'Usuario.php';
Espero que me puedan ayudar y aclarar mis dudas!!!
Muchas Gracias de antemano y Saludos!