HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/studis.kauko.lt/wp-content/plugins/wp-statistics/src/Traits/ErrorLoggerTrait.php
<?php
namespace WP_Statistics\Traits;

use WP_Statistics\Service\Debugger\Provider\ErrorsDetectorProvider;

/**
* Trait for handling error logging functionality.
* 
* This trait provides methods for logging errors consistently across classes.
* Uses ErrorDetectorProvider to store errors and implements basic caching
* to avoid creating multiple provider instances.
*/
trait ErrorLoggerTrait
{
   /**
    * Cached instance of ErrorDetectorProvider.
    *
    * @var ErrorsDetectorProvider|null
    */
   private static $errorDetector = null;

   /**
    * Log errors using ErrorsDetectorProvider
    * 
    * Logs the most recent PHP error using a cached instance 
    * of ErrorsDetectorProvider to avoid multiple instantiations.
    *
    * @return void
    */
   protected static function errorListener()
   {
       if (self::$errorDetector === null) {
           self::$errorDetector = new ErrorsDetectorProvider();
       }
       
       self::$errorDetector->errorListener();
   }
}