Interactive Shell Extension for Yii 2

This extension provides an interactive shell for Yii framework 2.0 based on psysh.

For license information check the LICENSE-file.

Latest Stable Version Total Downloads


The preferred way to install this extension is through composer.

Either run

composer require yiisoft/yii2-shell

or add

"yiisoft/yii2-shell": "~2.0.0"

to the require section of your composer.json.


After installation, you will be able to run the interactive shell via command line:

# Change path to your application's root directory
cd path/to/myapp

# Start the interactive shell
./yii shell

You can access the application object using Yii::$app. Additionally you have access to all your and your dependencies' classes.

See psysh's website for a list of available features.


You can configure the PsySH shell by setting options via the shellConfig variable in the controller, i.e. add this to your console application configuration:

'controllerMap' => [
    'shell' => [
        'shellConfig' => [
            'updateCheck' => 'weekly',
            'verbosity' => \Psy\Configuration::VERBOSITY_VERBOSE,

See for a list of PsySH configurable options.

Note: updateCheck is explictly set to never by yii2-shell. All other PsySH options use default values.


The following screenshot shows a usage example:

Usage example of Yii2 shell

Class Reference

Class Description
yii\shell\Bootstrap Class Bootstrap
yii\shell\ShellController Runs interactive shell. That is especially useful when developing an application and you want to try some method of your code.
yii\shell\YiiCaster YiiCaster provides wrapper for casters of psysh