在PHP 5.2中使用命名空间If Statement

Mik*_*ike 3 php namespaces

在将命名空间添加到可能在php 5.2服务器上运行的脚本之前,是否可以使用某种检查?

例如,如果要在5.3服务器上使用doctrine(需要5.3),并在5.2服务器上回退到PDO.

例:

if($pdo){

  //RETURN a pdo connection

}
else if($doctrine){

   //this will fail even if doctrine is false because namespaces are being used
   $classLoader = new Doctrine\Common\ClassLoader('Doctrine\Common');  
   $classLoader->register();

}
Run Code Online (Sandbox Code Playgroud)

这只是一个例子,我确信我可以在没有命名空间的情况下使用它,但只是想知道是否还有在IF语句中使用它们.

Ada*_*ras 5

你可以把Doctrine代码塞进一个单独的PHP文件中,require()然后放在else if分支里面.