<?php /** * MiniMVC * * Convention-based micro-framework for PHP * * @package miniMVC * @author Timothy J. Warren * @copyright Copyright (c) 2011 - 2012 * @link https://github.com/aviat4ion/miniMVC * @license http://philsturgeon.co.uk/code/dbad-license */ // -------------------------------------------------------------------------- namespace miniMVC; /** * Base Controller Class * * @package miniMVC * @subpackage System */ class Controller { /** * Instance of Page class * * @var Page */ protected $page; /** * Create the controller object * * @return void */ public function __construct() { // Create the page object $this->page = $GLOBALS['page']; } // -------------------------------------------------------------------------- /** * Function for loading a model into the current class * * @param string $file * @param array $args * @return void */ public function load_model($file, $args=array()) { $segments = explode('\\', $file); $file_name = end($segments); // The module is set via the router $module = strtolower(MM_MOD); $path = MM_MOD_PATH . "{$module}/models/{$file_name}.php"; if (is_file($path)) { require_once($path); } if ( ! empty($args)) { $this->$file_name = new $file($args); } else { $this->$file_name = new $file; } } // -------------------------------------------------------------------------- /** * Function for loading a view * * @param string $file * @param array $data * @param bool $return * @return mixed */ public function load_view($file, array $data=array(), $return=FALSE) { return $this->page->load_view($file, $data, $return); } } // End of controller.php