Executing Controllers

SA3's command line tool offers an interface into the controller methods of an application's modules. This allows developers to execute code through external scripts or direct CLI commands.

php app.php -c=executeController -e=environment -a={controller}@{method}

By Example

<?php
namespace sa\Members;
use \sa\application\controller;
class MembersExport extends controller {
public function exportToCsv() {
// <implementation code>
}
}

The CLI command to execute exportToCsv method is

php app.php -c=executeController -e=environment -a=MembersExport@exportToCsv

Duplicate controller names?

The previous command will execute the exportToCsv method found in the MembersController controller. For simple applications, this will suffice, but what if there are two controllers named MembersController?

You can specify a namespace to distinguish one controller from another.

php app.php -c=executeController -e=environment -a=\sa\Members\MembersExport@exportToCsv