Documentation

CodeIgniter with Raygun4PHP

Documentation - CodeIgniter with Raygun4PHP

Step by Step Instructions

Step One: Install with Composer

If you use a *nix environment, follow the instructions to install Composer. Windows users can run this installer to automatically add it to the path etc.

Inside your project's root directory create a composer.json file, containing:

{
    "require": {
        "mindscape/raygun4php": "1.*"
    }
}

From your shell run php composer.phar install (*nix) or composer install (Windows). This will download Raygun4PHP and create the appropriate autoload data.

Step Two: Enable Hooks

Inside of `/application/config/config.php` set `enable_hooks` to true:

$config['enable_hooks'] = TRUE;

Step Three: Create the RaygunSetup File

Create a RaygunSetup file at `/application/hooks/RaygunSetup.php`. This file creates the RaygunClient and sets the error/exception handlers.

Add to the following content. Making sure to change the apiKey to your Raygun API key.

namespace
{
    require_once 'vendor/autoload.php';

    class RaygunSetup {
        private $client;

        public function __construct()
        {
            $this->client = new \Raygun4php\RaygunClient("apiKey");
        }

        public function set_exception_handler()
        {
            set_exception_handler( array( $this,'exception_handler' ) );
            set_error_handler( array( $this, "error_handler" ) );
        }

        function exception_handler($exception) {
            $this->client->SendException($exception);
        }

        function error_handler( $errno, $errstr, $errfile, $errline) {
            $this->client->SendError($errno, $errstr, $errfile, $errline);
        }

    }
}

Step Four: Add the hook

In `/config/hooks.php` enable the hook for the file we just created.

$hook['pre_controller'][] = array(
    'class'    => 'RaygunSetup',
    'function' => 'set_exception_handler',
    'filename' => 'RaygunSetup.php',
    'filepath' => 'hooks'
);

Documentation missing?

If we don't have documentation about your desired topic, send us a message and we'll create it for you.