Question: I am new to Yii2 Framework and I am trying to call my controller which is in the frontend folder below

```
htdocs/project/frontend/controllers/MyController.php

```

My method to be invoked is

```
actionTest_method()

```

In Terminal(in the project root directory), I am writing

```
php yii my/test_method

```

I tried

```
php yii frontend/controllers/my/test_method 

```

but didn't work
Error, I am getting InvalidRouteException

Answer: 
First of all. You don't need to call the Frontend controller from the console. if you want to do that. You can do with a curl command with the following URL pattern. [Yii2 URL routing](https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing)

```
curl GET 'example.com/my/action-name' 

```

But, as per the Yii2 guideline, you can use [console commands](https://www.yiiframework.com/doc/api/2.0/yii-console-controller) to run a script from the console.

so your controller should be inside of the commands directory.

This is the `helloController.php` of the Yii2 basic app template.

```
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\commands;

use yii\console\Controller;
use yii\console\ExitCode;

/**
 * This command echoes the first argument that you have entered.
 *
 * This command is provided as an example for you to learn how to create console commands.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class HelloController extends Controller
{
    /**
     * This command echoes what you have entered as the message.
     * @param string $message the message to be echoed.
     * @return int Exit code
     */
    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";

        return ExitCode::OK;
    }
}

```

As you can see this extends `yii\console\Controller` which has the capability of running console commands with Yii2 features.

with this example code. you only need to run

```
php yii hello

```

and the script will output

```
hello world

```

in your case, create a `MyController.php` class extending `yii\console\Controller` inside the commands directory.

put the following code.

```
<?php

    namespace app\commands;

    use yii\console\Controller;

    class MyController extends Controller
    {

        public function actionTest_method()
        {
            echo 'I am test method';

        }
    }

```

and run

```
php yii my/test_method

```

in the root directory.
Your console controller must be in htdocs/project/console/controllers/
Also check your console config for controllerNamespace