views:

71

answers:

3

thanks for your help....

+2  A: 

E_ERROR is defined as 1, so it's the same as

error_reporting(E_ERROR);

So basically it tells PHP only to report fatal errors.

As Skilldrick says, you should use named constants, as their defined values can and will change through newer versions of PHP. One well-known such example is E_ALL, which had the following values (from the same PHP manual table):

  • 30719 in PHP 5.3.x (currently)
  • 6143 in PHP 5.2.x
  • 2047 previously
BoltClock
then isn't a way to catch syntax error...............
Cris Hong Kong CRISHK
@Cris: those are parse errors, not fatal errors. `E_PARSE` is defined as 4, so if you do `error_reporting(1);` or `E_ERROR` you will never see parse error messages.
BoltClock
+5  A: 

See the PHP docs:

1 E_ERROR (integer) Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.

Note that whenever constants like this are defined, you should use the named constant over the literal integer.

Skilldrick
+1 for named constants. The docs are very clear about this.
spender
A: 

That would be identical to

 error_reporting(E_ERROR);

From the manual:

Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.

Paul Dixon