我在外部 PHP Web 应用程序中使用 Joomla (1.5.26) 身份验证。
我的问题是包含的 joomla 文件“framework.php”取消了之前定义的任何变量。
// some code
$varfoo = 'toto';
define( '_JEXEC', 1 );
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']);
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php');
// authentification code
var_dump($varfoo); // NULL
我可以在定义任何变量之前包含 Joomla,但我想知道行为是否正常或者我做错了什么。
谢谢
我制作了一个测试文件
define( '_JEXEC', 1 );
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']);
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php');
$varfoo = 'toto';
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php');
var_dump($varfoo); // NULL