When making the calculations for the filename of the current month using
date('d') does not work because you may run into the situation where you run
the tests on a day in a month that does not exist in the previous month,
for example March 30th. As there is no February 30th, PHP will skip ahead
to March, and the filename for the "previous" month will incorrectly be
"2017-03" instead of the expected "2017-02". Using the first day of the
month instead of the current day of the month solves this problem.
For consistency we now also use the first month of each year for calculations
regarding years even if this is not necessary, it would break symmetry
if we don't, plus it makes it clear that the value is not relevant in the
calculation.
* PHP Versions less than 5.3.6 throws undefined constant DEBUG_BACKTRACE_IGNORE_ARGS
Notice: Use of undefined constant DEBUG_BACKTRACE_IGNORE_ARGS - assumed 'DEBUG_BACKTRACE_IGNORE_ARGS' in /vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php on line 58
* Define DEBUG_BACKTRACE_IGNORE_ARGS if not defined.
* Solution using PHP_VERSION_ID and not defining...
...DEBUG_BACKTRACE_IGNORE_ARGS
* +allow to set a custom event_id as an extra parameter instead of letting Raven generate a UUIDv4
* +CS
* +CS
* +verbose array syntax because of PHP 5.3 support
* make ErrorHandler extends LogLevel to avoid autoloading issue when error is triggered on compile
* Revert "make ErrorHandler extends LogLevel to avoid autoloading issue when error is triggered on compile"
This reverts commit 8140f6026f.
* call class_exists with force autoload set to true, to force the autoload of LogLevel on registration of the handlers
Iterators and Generators may not be rewindable, so foreach is not safe
to use on them.
Iterators and especially Generators may trigger irreversible actions on
calling next(), so iterating over all values can potentially cause harm,
e.g. imagine an iterator over a set of HTTP POST requests that are sent
when the next value is requested . The only sufficiently safe thing to
iterate and include here are primitive arrays.