0

这有效:

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

这不会:

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

它返回以下错误:

解析错误:语法错误,第3/fb.php中的意外“使用”(T_USE)

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

4

1 回答 1

0

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

$session = new \Facebook\FacebookSession();

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

$class = '\\Twitter\\TwitterSession';

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

$session = new $class();
于 2014-05-08T11:22:25.860 回答