0

在使用 Codacy 分析我的 PHP 代码时,我发现了一些由 exit(); 引起的错误;功能。这是一个功能,

public function saveCssForm(){

      $data = $_POST;
      if(!$data){
        // is a direct acess 
        $this->index();exit();
      }
      // update the data
      $this->csssettingmodel->updateCSS($data);
      // save the notifications 
      $this->notify_update($data['site_id'],$data['lang_key']);
      // set the success message
      $this->session->set_flashdata('edit_item', 'edited');
      // redirect to the view page 
      $baseUrl = $this->config->item('base_url');
      redirect($baseUrl.'index.php/cssSettings/view/'.$this->session->userdata("languageabbr"));
  }
 public function index()
      {
        // Denay Direct Access
          echo "<hr><h1><center>NO DIRECT ACCESS</h1> </center>";
          echo "<center>You are not permitted to access this page </center>";
      }

和代码的结果表明这一点...... 在此处输入图像描述

任何避免这种情况的替代方案或建议都会有所帮助。

4

1 回答 1

2

Codacy 没有显示错误,就您需要解决的问题而言;它正在分析您的代码质量,并建议exit出现在此位置不是一个好习惯,因此您可能需要修复它。

首先,应用程序框架通常设计为具有单入口点,处理一些逻辑,然后将结果返回到入口点,该入口点将输出并清理。从代码中的不同点退出使得预测流程变得更加困难,因为代码的整个部分可能看起来可以访问,但实际上是在程序退出之后出现的。

其次,此类代码可用于调试,在特定点中断执行流程以显示一些中间数据或模拟特定故障。在这种情况下,它出现在分析的代码中表明您不小心留下了调试代码。

于 2018-09-18T09:18:04.000 回答