Add a Boris REPL to the Symfony console
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

REPL bundle

Provides a repl command for the Symfony console, powered by Boris.


Add as a development dependency to composer.json:

  "require-dev": {
    "99designs/repl-bundle": "0.0.*@dev"

Register the bundle in app/AppKernel.php:

class AppKernel extends Kernel
    public function registerBundles()
        $bundles = array(
            // all your run-time bundles

        if ($this->getEnvironment() == 'dev') {
            $bundles[] = new NinetyNine\Bundle\ReplBundle();

        return $bundles;


Run via the Symfony console:

app/console repl

The following variables are imported into the global namespace:

  • $kernel: Application kernel
  • $container: The DI container


Boris depends on PHP's process control extension. Even if this is installed, you may see errors like this:

PHP Warning:  pcntl_fork() has been disabled for security reasons in /my-project/vendor/d11wtq/boris/lib/Boris/Boris.php on line 148
PHP Notice:  fwrite(): send of 1 bytes failed with errno=32 Broken pipe in /my-project/vendor/d11wtq/boris/lib/Boris/EvalWorker.php on line 205

If you see these errors, you'll need to edit your PHP CLI configuration (typically found at /etc/php5/cli/php.ini) to allow invocation of the named functions.