Php define () Constantes dentro de la aclaración del espacio de nombres
Como dice el título, realmente me gustaría aclarar esto. He leído algunos artículos y publicaciones aquí sobre este tema, algo simplemente no está haciendo clic para mí. Añadiré que soy un poco nuevo para php. OK, esto es lo que quiero entender;
namespace Information;
define('ROOT_URL', 'information/');
define('OFFERS_URL', ROOT_URL . 'offers/');
namespace Products;
define('ROOT_URL', 'products/');
define('OFFERS_URL', ROOT_URL . 'offers/');
Quiero que las constantes sean construibles, es decir, construyan constantes a partir de constantes base, es por eso que estoy usando define ('NAME',valor) ;.
Mi pregunta es, ¿el valor de ROOT_URL dará el valor relativo a su espacio de nombres? Me gusta esto;
$info_offers_url = \Information\OFFERS_URL; ('information/offers/')
$prod_offers_url = \Products\OFFERS_URL; ('products/offers/')
O define (); coloque ROOT_URL en un ámbito global, por lo tanto no debería hacer esto? ¿Hay una mejor práctica?
Toda la ayuda es muy apreciada.