在控制结构中使用命名空间(if-statement)

时间:2014-05-08 11:12:28

标签: php facebook if-statement namespaces control-structure

这有效:

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;
}

它返回以下错误:

  

解析错误:语法错误,意外情况'使用' /fb.php 中的(T_USE) 3

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

1 个答案:

答案 0 :(得分: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();