| 
<?php
 /**
 * This file is part of Aksara CMS, both framework and publishing
 * platform.
 *
 * @author     Aby Dahana <[email protected]>
 * @copyright  (c) Aksara Laboratory <https://aksaracms.com>
 * @license    MIT License
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the LICENSE.txt file.
 *
 * When the signs is coming, those who don't believe at "that time"
 * have only two choices, commit suicide or become brutal.
 */
 
 namespace Config;
 
 use CodeIgniter\Events\Events;
 use CodeIgniter\Exceptions\FrameworkException;
 use CodeIgniter\HotReloader\HotReloader;
 
 /*
 * --------------------------------------------------------------------
 * 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', static function () {
 if (ENVIRONMENT !== 'testing') {
 if (ini_get('zlib.output_compression')) {
 throw FrameworkException::forEnabledZlibOutputCompression();
 }
 
 while (ob_get_level() > 0) {
 ob_end_flush();
 }
 
 ob_start(static fn ($buffer) => $buffer);
 }
 
 /*
 * --------------------------------------------------------------------
 * Debug Toolbar Listeners.
 * --------------------------------------------------------------------
 * If you delete, they will no longer be collected.
 */
 if (CI_DEBUG && ! is_cli()) {
 Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');
 Services::toolbar()->respond();
 // Hot Reload route - for framework use on the hot reloader.
 if (ENVIRONMENT === 'development') {
 Services::routes()->get('__hot-reload', static function () {
 (new HotReloader())->run();
 });
 }
 }
 });
 
 |