for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @package Demo
* @author Iurii Makukh <[email protected]>
* @copyright Copyright (c) 2017, Iurii Makukh <[email protected]>
* @license https://www.gnu.org/licenses/gpl-3.0.en.html GNU General Public License 3.0
*/
namespace gplcart\modules\demo;
use gplcart\core\Module;
* Main class for Demo module
class Demo extends Module
{
* Constructor
public function __construct()
parent::__construct();
}
* Implements hook "route.list"
* @param mixed $routes
public function hookRouteList(&$routes)
$routes['admin/module/settings/demo'] = array(
'access' => 'module_edit',
'handlers' => array(
'controller' => array('gplcart\\modules\\demo\\controllers\\Settings', 'editSettings')
)
);
* Returns an array of available generator models
* @return array
public function getGenerators()
$generators = array();
foreach (glob(__DIR__ . "/models/generators/*.php") as $file) {
$id = strtolower(pathinfo($file, PATHINFO_FILENAME));
$instance = $this->getInstance("gplcart\\modules\\demo\\models\\generators\\$id");
if ($instance instanceof \gplcart\modules\demo\models\Generator) {
$generators[$id] = $instance;
ksort($generators);
return $generators;
* Returns a generator model instance
* @param string $name
* @return object|null
public function getGenerator($name)
$generators = $this->getGenerators();
if (empty($generators[$name])) {
return null;
return $generators[$name];