PHP中的名称空间在使用名称空间时,名称空间中的所有内容都会被传递吗?
如果我有以下代码:PHP中的名称空间在使用名称空间时,名称空间中的所有内容都会被传递吗?,php,namespaces,Php,Namespaces,如果我有以下代码: namespace System { namespace Models { $modelsFolder = "Models"; require_once( "../$modelsFolder/Site.php" ); require_once( "../$modelsFolder/Session.php" ); require_once( "../$modelsFolder/Form.php"
namespace System
{
namespace Models
{
$modelsFolder = "Models";
require_once( "../$modelsFolder/Site.php" );
require_once( "../$modelsFolder/Session.php" );
require_once( "../$modelsFolder/Form.php" );
require_once( "../$modelsFolder/Recaptcha.php" );
require_once( "../$modelsFolder/AppCred.php" );
require_once( "../$modelsFolder/User.php" );
require_once( "../$modelsFolder/Database.php" );
}
namespace Controllers
{
namespace System\Models;
$db = new Database();
}
}
如果在我的控制器文件中,我始终声明:
namespace System\Controllers;
$db->Query(); // will this work because it has been declared in the namespace Controllers?
$db的实例会被带到这个文件中吗?或者我需要在名称空间之外声明$db并在包含控制器文件之前包含它吗?变量首先不受名称空间的影响。您正在创建的是一个规则的全局变量,其范围不受任何限制。范围!=命名空间。那是个好消息!:让我运行一些代码,看看它是否按照我的预期工作,然后我会打勾作为答案^_^