A função trigger_error() é uma função embutida no PHP que tem a capacidade de atuar como um manipulador de erros embutido. Esta função é geralmente usada por programadores para acionar ou gerar erros, avisos ou mensagens no nível do usuário. Ele retorna um valor booleano, ou seja, ele retorna TRUE em caso de sucesso e FALSE em caso de falha da expressão.

Sintaxe:

bool trigger_error(string $message, int $error_level);

Aqui, o parâmetro $message é a mensagem que deve ser exibida e é do tipo string, enquanto $error_leve l é usado para descrever o tipo de erro que deve ser exibido e é do tipo inteiro. Para qualquer função trigger_error(), $message é obrigatório e $error_level pode ser opcional dependendo da necessidade do usuário e o comprimento máximo para $message é 1024 bytes.

Exemplo 1: Neste exemplo, uma função definida pelo usuário doFunction ($var) aceita um valor como um parâmetro dentro dessa função o parâmetro será verificado se o valor for numérico, então $var. ”É numérico” será impresso, caso contrário, um erro será lançado com a mensagem “a variável deve ser numérica” e isso é feito através da função trigger_error().

<?php
  
function doFunction($var) {
    if(is_numeric($var)) {
        echo $var.' is numeric';
    } 
      else {
        trigger_error('variable must be numeric');
    }
}
  
$new_var = 'GFG';
doFunction($new_var);
  
?>

Saída:

PHP Notice:  variable must be numeric in 
/home/d87c8897dcede28086b7e4f06f5fafc7.php on line 9\

Exemplo 2: Por padrão, usar uma função trigger_error() irá gerar um aviso de PHP, entretanto o usuário também pode gerar erros de PHP ou avisos de PHP adicionando parâmetros dentro da função trigger_error() conforme demonstrado no exemplo abaixo. 

Neste exemplo, criamos uma função de divisão que leva dois parâmetros se o valor de $segundo for igual a zero, a função trigger_error() irá lançar um erro fatal do PHP já que no parâmetro E_USER_ERROR   é passado junto com a mensagem de erro para trigger_error() e se o valor para $segundo não for igual a zero então $primeiro será dividido por $segundo e o resultado será mostrado.

<?php
    
function divide($first,$second) {
    
    if ($second == 0) {
        trigger_error("Cannot divide by zero", E_USER_ERROR);
      }
      else {
        echo $first/$second ;    
      }
}
  
divide(2,0)
  
?>

Saída:

PHP Fatal error:  Cannot divide by zero in 
/home/5152fc6f9b996848e7b1f855e7d0b5b9.php on line 6

Referência: https://www.php.net/manual/en/function.trigger-error.php