PHP Classes

File: app/Config/Events.php

Recommend this page to a friend!
  Classes of Faris AL-Otabi   PHP GuestBook with Database   app/Config/Events.php   Download  
File: app/Config/Events.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP GuestBook with Database
GuestBook application using MySQL to store posts
Author: By
Last change:
Date: 6 months ago
Size: 1,473 bytes
 

Contents

Class file image Download
<?php

namespace Config;

use
CodeIgniter\Events\Events;
use
CodeIgniter\Exceptions\FrameworkException;

/*
 * --------------------------------------------------------------------
 * Application Events
 * --------------------------------------------------------------------
 * Events allow you to tap into the execution of the program without
 * modifying or extending core files. This file provides a central
 * location to define your events, though they can always be added
 * at run-time, also, if needed.
 *
 * You create code that can execute by subscribing to events with
 * the 'on()' method. This accepts any form of callable, including
 * Closures, that will be executed when the event is triggered.
 *
 * Example:
 * Events::on('create', [$myInstance, 'myMethod']);
 */

Events::on('pre_system', function () {
    if (
ENVIRONMENT !== 'testing')
    {
        if (
ini_get('zlib.output_compression'))
        {
            throw
FrameworkException::forEnabledZlibOutputCompression();
        }

        while (
ob_get_level() > 0)
        {
           
ob_end_flush();
        }

       
ob_start(function ($buffer) {
            return
$buffer;
        });
    }

   
/*
     * --------------------------------------------------------------------
     * Debug Toolbar Listeners.
     * --------------------------------------------------------------------
     * If you delete, they will no longer be collected.
     */
   
if (CI_DEBUG)
    {
       
Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');
       
Services::toolbar()->respond();
    }
});