如果 Concrete5 Job 中的条件不工作

If condition inside Concrete5 Job not working

我什至不知道为什么会这样。我工作中的 if 条件无法正常工作。我三次检查了 $flag 变量,它是真的。仍然代码总是进入 else 条件。

$flag = file_exists($csvFile);
if($flag){
     //A big chunk of code
} else {
     return 'Whatever you do I will always go here XD';
}

我在 if 中硬编码了 true,它工作正常。然后那段代码中的另一个 if 也总是转到 else。再次仔细检查快递。 Express 对象存在并且对象被正确返回。并且 is_object returns 正确。

$flag = file_exists($csvFile);
if(true){
     //Some code here
     $entity = Express::getObjectByHandle('user');
     if(is_object($entity)){ 
          // Another chunk of code
     } else {
          return 'You cant escape from me that easily... XD';
     }
     //some code here
} else {
     return "Now I'm a good boy";
}

尝试了很多东西。该代码在单页控制器中没有任何问题。无论我做什么,都只是 不起作用 。我在 MAMP 上 运行 PHP 5.6.10。 Conceret5 8.1.0

我唯一一次看到这样的东西是在 PHP.

的旧版本上

您可以尝试像这样移动一些代码:

if($flag = file_exists($csvFile)) {
  // code to handle file
} else {
  // no file
}

跟进 post 会有所帮助...

嗯。看来我找到了解决方法。这看起来像一个简单的问题,但不确定。我正在从仪表板 运行 处理作业,我不知道我也可以从 url 运行 执行相同的作业(自动化作业选项 URL)。当我从 URL 运行 时它工作正常并且神奇地它也开始在仪表板内工作。当我有时间时,我会详细研究它。