使用函数在if else语句PHP中不起作用

时间:2014-01-01 22:08:01

标签: php

我正在尝试在browscap-php&中的if else语句中使用Apache PHP 5+。我正在使用下面的Browscap.php文件作为示例。

工作示例:

<?php 
   require 'Browscap.php';
   use phpbrowscap\Browscap;

   if ($newdata == "1") { 
       $current_browser = $bc->getBrowser();
   } else {

   }

?>

不工作示例:

<?php 

   if ($newdata == "1") { 
       require 'Browscap.php';
       use phpbrowscap\Browscap;
       $current_browser = $bc->getBrowser();
   } else {
   // do not load anything dealing with browscap
   }
?>

工作示例工作正常,但第二个我将use函数放在if else语句中它不起作用。当我不需要检查该信息时,我不希望browscap加载。我该怎么做呢?

2 个答案:

答案 0 :(得分:5)

引用manual

  

必须在文件的最外层范围中声明use关键字   全局范围)或内部命名空间声明。这是因为   导入是在编译时完成而不是运行时,因此不能   阻止范围

(我的重点)

答案 1 :(得分:0)

您可以将use语句放在if上方。 use语句不加载任何东西。 require语句是加载文件的语句,您可以将其保存在if。