Search code examples
phpphp-5.4

What is the difference between E_STRICT and E_ALL in PHP 5.4?


In PHP 5.4, what is the difference between using E_STRICT and E_ALL ?

Are both the same?


Solution

  • In PHP 5.4, what is the difference between using E_STRICT and E_ALL.

    Well:

    5.4.0   E_STRICT became part of E_ALL.
    5.3.0   E_DEPRECATED and E_USER_DEPRECATED introduced.
    5.2.0   E_RECOVERABLE_ERROR introduced.
    5.0.0   E_STRICT introduced (not part of E_ALL).
    

    An Example:

    <?php
    
    // Turn off all error reporting
    error_reporting(0);
    
    // Report simple running errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    
    // Reporting E_NOTICE can be good too (to report uninitialized
    // variables or catch variable name misspellings ...)
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
    
    // Report all errors except E_NOTICE
    error_reporting(E_ALL & ~E_NOTICE);
    
    // Report all PHP errors (see changelog)
    error_reporting(E_ALL);
    
    // Report all PHP errors
    error_reporting(-1);
    
    // Same as error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);
    
    ?>
    

    PHP Manual: error_reporting

    A similar question answered on SO here as well.