在控制结构中使用名称空间(if语句)



这行得通:

require_once( $_SERVER["DOCUMENT_ROOT"] . '/fb/FacebookSession.php' );
use FacebookFacebookSession;

这并不:

if (1 == 1) {
    require_once( $_SERVER["DOCUMENT_ROOT"] . '/fb/FacebookSession.php' );
    use FacebookFacebookSession;
}

返回以下错误:

解析错误:语法错误,unexpected 'use' (T_USE) in /fb.php on line 3

如何在控制结构中使用命名空间?

可以使用完全限定的类名:

$session = new FacebookFacebookSession();

或者如果你需要动态选择类:

$class = '\Twitter\TwitterSession';
if (1 == 1) {
    require_once( $_SERVER["DOCUMENT_ROOT"] . '/fb/FacebookSession.php' );
    $class = '\Facebook\FacebookSession';
}
$session = new $class();

最新更新