Is there any way to show, or throw, a PHP warning?

I have a select() method in a database class, that has an optional boolean argument $sum. This argument is used to say if the method should use COUNT(*) or not too.

I would like to show a warning, like those normal PHP errors, if I try to access $class->sum if the attribute is not set (i.e. when I call select() with $sum == false.

Is there any way to show a warning like this, or I should just echo an error and be happy?


Solution 1:

If you want to generate a warning, you should write

trigger_error($yourErrorMessage, E_USER_WARNING);

trigger_error() has the $error_type parameter for setting the error level (Notice, Warning or Fatal error). The constants are, respectively:

E_USER_NOTICE             // Notice (default)
E_USER_WARNING            // Warning
E_USER_ERROR              // Fatal Error

Note that Fatal error stops the execution of subsequent PHP code, while Notice and Warning let it continue.

From PHP 5.5, you should also consider the Finally statement.

Solution 2:

You could try trigger_error().

Solution 3:

You're going the object-oriented approach, so I suggest a look into exceptions.