PHPackages                             ingenerator/pigeonhole - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ingenerator/pigeonhole

ActiveKohana-module[Utility &amp; Helpers](/categories/utility)

ingenerator/pigeonhole
======================

Flash message management for kohana

v1.3.0(11mo ago)028.7k↓33.7%BSD-3-ClausePHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0CI passing

Since Aug 27Pushed 11mo ago3 watchersCompare

[ Source](https://github.com/ingenerator/pigeonhole)[ Packagist](https://packagist.org/packages/ingenerator/pigeonhole)[ Docs](https://github.com/ingenerator/pigeonhole)[ RSS](/packages/ingenerator-pigeonhole/feed)WikiDiscussions 1.x Synced 2d ago

READMEChangelog (8)Dependencies (3)Versions (11)Used By (0)

Pigeonhole - clean flash message management for Kohana
======================================================

[](#pigeonhole---clean-flash-message-management-for-kohana)

[![License](https://camo.githubusercontent.com/f8fe3766b3ea735211b026f417d6b49dbeeca769b764b986d68d2f687bcf9cb6/68747470733a2f2f706f7365722e707567782e6f72672f696e67656e657261746f722f706967656f6e686f6c652f6c6963656e73652e737667)](https://packagist.org/packages/ingenerator/pigeonhole)

[![Latest Stable Version](https://camo.githubusercontent.com/c9631dc4e1cecec5004c069f01c7bf96347f8ff764b8da3bde35975f0fc65aea/68747470733a2f2f706f7365722e707567782e6f72672f696e67656e657261746f722f706967656f6e686f6c652f762f737461626c652e737667)](https://packagist.org/packages/ingenerator/pigeonhole)[![Total Downloads](https://camo.githubusercontent.com/23837806f1c582bcbb620665c15a172230ae057ad536f72435a79560ed2abfc9/68747470733a2f2f706f7365722e707567782e6f72672f696e67656e657261746f722f706967656f6e686f6c652f646f776e6c6f6164732e737667)](https://packagist.org/packages/ingenerator/pigeonhole)[![Latest Unstable Version](https://camo.githubusercontent.com/1717b3cf72d7f665be4ef8e382a8b7953cf9b6f1811219ead354112a0cbc18f6/68747470733a2f2f706f7365722e707567782e6f72672f696e67656e657261746f722f706967656f6e686f6c652f762f756e737461626c652e737667)](https://packagist.org/packages/ingenerator/pigeonhole)

Pigeonhole is a simple flash messaging library for Kohana.

Installation
------------

[](#installation)

Add config to your composer.json and run `composer update` to install it. Note that we recommend forcing all kohana modules into your standard composer vendor directory. If you want to use the old-style MODPATH, then don't use the "extra" composer config option.

```
{
  "require": {"ingenerator/pigeonhole": "^1.0"},
  "extra":   {"installer-paths":{"vendor/{$vendor}/{$name}":["type:kohana-module"]}}
}
```

In your bootstrap, add it to your modules list:

```
    Kohana::modules(array(
        'pigeonhole' => BASEDIR.'vendor/ingenerator/pigeonhole'
        // Or MODPATH.'pigeonhole' if using old-style kohana paths
    );
```

Basic Usage
-----------

[](#basic-usage)

To set a simple string message:

```
class Controller_Something {
    public function action_message() {
        $message    = new \Ingenerator\Pigenohole\Message(
            'Look Out!',
            'There\'s a monster behind you',
            \Ingenerator\Pigeonhole\Message::DANGER
        );
        $pigeonhole = new \Ingenerator\Pigeonhole\Pigeonhole(Session::instance());
        $pigeonhole->add($message);
        $this->redirect('/');
    }
}
```

For the simplest way to render messages using Kohana's native view rendering:

```
/// views/template/global.php

```

Note that we actually recommend you use view models and manage the pigeonhole class and nested view outside the template. It's obviously easy to render the messages to support any CSS setup, we render for bootstrap by default.

Message types
-------------

[](#message-types)

In addition to simple string messages, we provide built-in handling for some additional common message types.

### Validation messages

[](#validation-messages)

Formats the output of kohana validation errors with a given message file:

```
$validation = Validation::factory($post)->rule('email', 'not_empty');
$message = new \Ingenerator\Pigeonhole\Message\ValidationMessage(
    $validation,
    'forms/login'
);
```

### Kohana messages

[](#kohana-messages)

Looks up the title and message in a kohana messages file and replaces any provided parameters:

```
/// APPPATH/messages/actions.php
return array(
    'signed_in' => array(
      'title'   => 'Welcome',
      'message' => ':email, you are now logged in'
    )
);

/// Controller
$message = new \Ingenerator\Pigeonhole\Message\KohanaMessage(
    'actions',
    'signed_in',
    array(':email' => $email),
    \Ingenerator\Pigeonhole\Message::SUCCESS
);
```

Testing and developing
----------------------

[](#testing-and-developing)

pigeonhole has a suite of [PhpSpec](http://phpspec.net) specifications. You'll need a skeleton Kohana application to run them, you can use [koharness](https://github.com/ingenerator/koharness) to create one. See [test.yml](.github/workflows/test.yml) for the build steps required.

Contributions will only be accepted if they are accompanied by well structured specs. Installing with composer should get you everything you need to work on the project.

License
-------

[](#license)

pigeonhole is copyright 2014 inGenerator Ltd and released under the [BSD license](LICENSE).

###  Health Score

48

—

FairBetter than 93% of packages

Maintenance51

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 63.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~442 days

Recently: every ~252 days

Total

10

Last Release

346d ago

Major Versions

v0.1.1 → v1.0.02019-04-03

PHP version history (8 changes)v0.1.0PHP &gt;=5.3.3

v1.0.0PHP ^7.2

v1.1.0PHP ^7.4

v1.1.1PHP ^7.4 || ~8.0.0

v1.2.0PHP ~8.0.0 || ~8.1.0

v1.2.1PHP ~8.0.0 || ~8.1.0 || ~8.2.0

v1.2.2PHP ~8.1.0 || ~8.2.0 || ~8.3.0

v1.3.0PHP ~8.2.0 || ~8.3.0 || ~8.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f6ebcc608a86cec9a3ce7a4932994e2b89fabbfcdde69aff43e8139f34e07a5e?d=identicon)[acoulton](/maintainers/acoulton)

---

Top Contributors

[![craig410](https://avatars.githubusercontent.com/u/1156379?v=4)](https://github.com/craig410 "craig410 (21 commits)")[![acoulton](https://avatars.githubusercontent.com/u/416566?v=4)](https://github.com/acoulton "acoulton (12 commits)")

---

Tags

kohana

### Embed Badge

![Health badge](/badges/ingenerator-pigeonhole/health.svg)

```
[![Health](https://phpackages.com/badges/ingenerator-pigeonhole/health.svg)](https://phpackages.com/packages/ingenerator-pigeonhole)
```

###  Alternatives

[bmidget/kohana-formo

Formo is a form module for Kohana 3 that lets you work with forms as objects

1328.5k](/packages/bmidget-kohana-formo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
