# Controller

The Controller component is a special type of action in charge of handling external-driven instructions. It is the same as Action, but it takes only input string parameters.

Controller is intended to use them wired to:

  • CLI applications
  • Web Servers
  • Application runners

💡 If you don't need to wire instructions to these devices you should be using Action, which doesn't restrict the input parameter type.

# Defining a Controller

A Controller implements the ControllerInterface. You can extend Controller to quick create a controller:

use Chevere\Controller\Controller;

final class SomeController extends Controller
    // ...

# Controller input parameters

Parameters are defined in the run method (same as an action), but it just takes strings.

public function run(string $pepito, string $paysTwice): array
    return [];