php - 应用程序中的错误处理函数

标签 php error-handling global-variables global pass-by-reference

我在编程方面相对较新。我正在 try catch 并显示我的应用程序中的错误。使用全局变量很简单:

$errors = '';

class Name {

    /**
     * Validate form
     */
    public function validate_form() {
    global $errors;

        (...)
        if ( empty($_POST["blabla"]) ) {
            $errors = 'Error';
        }
        (...)

        return;
    }

    /**
     * Display errors
     */
    public function show_error() {
        global $errors;
        if(!empty($errors)) return '<div class="error">' . PHP_EOL . htmlspecialchars($errors) .'</div>';
    }

}

...但我读到您不应该使用全局变量。如果没有全局变量,我怎么能做同样的事情?

对不起我的英语 ;)

最佳答案

如何不让它成为全局性的,即:

<?php
class Name {
  public $errors;

  /*
  * Validate form
  */
  public function validate_form() {

      (...)
      if ( empty($_POST["blabla"]) ) {
          $this->errors = 'Error';
      }
      (...)

      return;
  }
}

然后每次在该类中运行一个函数时,检查是否产生错误:

$obj = new Name()->validate_form();

if(isset($obj->errors)){
  //oops, an error occured, do something
}

关于php - 应用程序中的错误处理函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34037896/

相关文章:

php - 使用 Excel 阅读器时,基本 url 在服务器中不起作用

bash - Bash 在执行脚本时忽略错误的理由是什么?

javascript - 全局变量的命名/格式标准

php - 将字符串转换为一组固定长度的数组

php - 如何访问名称字段?

angular - 无法从另一个组件/Angular 4 中的 auth.service 访问错误消息

c - 全局变量和局部变量混淆

c++ - 尝试使用全局变量时使用 Xcode C++ 时出错

php - 如何在 Laravel 中加入 "SET SQL_BIG_SELECTS=1"语句

reactjs - 如何通过检查reactjs中的错误来修复错误?