for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Asymptix\app;
use Asymptix\core\Route;
/**
* Abstract Controller class, parent for all controllers.
*
* @category Asymptix PHP Framework
* @author Dmytro Zarezenko <[email protected]>
* @copyright (c) 2015 - 2016, Dmytro Zarezenko
* @git https://github.com/Asymptix/Framework
* @license http://opensource.org/licenses/MIT
*/
abstract class Controller {
* @var Route
public $route = null;
* Default controller action.
* @var string
protected $defaultAction = "";
* @var View
public $view = null;
public function __construct(Route $route = null) {
$this->route = $route;
$this->route->getAction('action', $this->defaultAction);
$this->view = new View($this->route);
$this->init();
}
protected function init() {
$action = 'action' . ucfirst(
preg_replace_callback(
"#_([a-z])#",
function ($matches) {
return strtoupper($matches[1]);
},
$this->route->action
)
);
return $this->$action();
public function getDefaultAction() {
return $this->defaultAction;