Используйте пространства имен в PHP 5.2 If - PullRequest
3 голосов
/ 02 февраля 2011

Можно ли использовать какую-то проверку перед добавлением пространств имен в сценарий, который может выполняться на сервере php 5.2?

Например, если вы хотите использовать доктрину (для которой требуется 5.3) наСервер 5.3 и откат к PDO на сервере 5.2.

Пример:

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();

}

Это всего лишь пример, я уверен, что я могу заставить его работать без пространств имен, но просто интересноесли есть возможность использовать их в выражении IF.

Ответы [ 2 ]

5 голосов
/ 02 февраля 2011

Вы можете поместить код Doctrine в отдельный PHP-файл и require() внутри ветки else if.

0 голосов
/ 01 июля 2015

Другое решение:

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

Не проверено, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...