这行得通:
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;
}
返回以下错误:
解析错误:语法错误,unexpected 'use' (T_USE) in /fb.php on line 3
如何在控制结构中使用命名空间?
可以使用完全限定的类名:
$session = new 'Facebook'FacebookSession();
或者如果你需要动态选择类:
$class = '''Twitter''TwitterSession';
if (1 == 1) {
require_once( $_SERVER["DOCUMENT_ROOT"] . '/fb/FacebookSession.php' );
$class = '''Facebook''FacebookSession';
}
$session = new $class();