Created: 2011-07-10 01:23
Updated: 2018-11-16 06:26

No longer maintained

I am not longer going to maintain this project. Please visit this fork to get one that is maintained:

CodeIgniter Events Library

Build extendible applications with an events system.

Version 1.0.0

Public Methods


Registers a Callback for a given event

  • $event string
  • $callback array
  • Example: Events::register('test_string', array('Class_name', 'string_return'));


Triggers an event and returns the results.

  • $event string - The name of the event
  • $data mixed - Any data that is to be passed to the listener
  • $return_type string - Either 'array', 'json', 'serialized', or 'string'
  • Example: Events::trigger('test_string', 'test', 'string');


Checks if the event has any listeners

  • $event string - The name of the event
  • return bool

Usage Overview

All Events functions are static.

You can add a listener to an event with the register() function:

Events::register('event_name_here', array('class_name_or_object_ref', 'method_name'));

The second parameter of register() is an array that is callable via call_user_func().

You trigger an Event by calling the trigger() function:

$event_return = Events::trigger('event_name_here', $data, 'string');

The 3rd parameter is the type of data you wish trigger() to return. Your options are as follows:

  • 'array'
  • 'json'
  • 'serialized'
  • 'string' (the default)

Example Usage

Because events need to be registered before being used it is a good idea to have a system in place to load any of these before you trigger any events.

Here is an example using a third party library to register the event.

// Example Welcome Controller

class Welcome extends CI_Controller {

	public function __construct()
		// Load Library
		// Load our class that registers an event. See class Test below.

	public function index()
		var_dump(Events::trigger('test_string', 'test', 'string'));

// Example third_party/test/libaries/test.php

class Test {

	public function __construct()
		Events::register('test_string', array($this, 'string_return'));

	public function string_return()
		return 'I returned a string. Cakes and Pies!';
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more