выход php ();функция предупреждения в кодировке - PullRequest
0 голосов
/ 18 сентября 2018

при использовании 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>";
      }

и результат кодирования показывает это ... enter image description here

любые альтернативы или предложения, чтобы избежать этого, были бы полезны.

1 Ответ

0 голосов
/ 18 сентября 2018

Codacy не отображает ошибок , в смысле проблем, которые нужно исправить; он анализирует качество вашего кода и предполагает, что exit, появляющийся в этой позиции, не является хорошей практикой, поэтому вы можете захотеть исправить это.

Во-первых, прикладные инфраструктуры часто разрабатываются так, чтобы иметь единую точку входа, обрабатывать некоторую логику, а затем возвращать результат в точку входа, которая будет выводить и очищать. Выход из разных точек кода затрудняет прогнозирование потока, поскольку целые разделы кода могут выглядеть достижимыми, но на самом деле они появляются после выхода из программы.

Во-вторых, такой код может использоваться для отладки, чтобы прервать поток выполнения в определенной точке, чтобы отобразить некоторые промежуточные данные или смоделировать конкретный сбой. В этом случае его появление в анализируемом коде может указывать на то, что вы случайно оставили код отладки.

...