/** * Instanciem la resposta * @param String $ruta */ public function __construct($ruta) { if ($ruta == '') { $ruta = '/'; } // Mirem si està registrada la ruta // Si hi ha post serà per post, ja que prima $metode = $_POST ? 'post' : 'get'; if ($controlador_accio_parametres = Ruta::existeix($ruta, $metode)) { $controlador = $controlador_accio_parametres['controlador']; $accio = $controlador_accio_parametres['accio']; $parametres = isset($controlador_accio_parametres['parametres']) ? $controlador_accio_parametres['parametres'] : array(); } else { header("HTTP/1.0 404 Not Found"); die('404'); } // todo: Si el controlador es camelCase transformar la ruta a camel-case $directori_controlador = directori('app') . 'controladors/' . $controlador . '.php'; if (file_exists($directori_controlador)) { require $directori_controlador; } elseif (is_callable($accio)) { $accio(); die('S\'ha executat una funció com a paràmetre'); } else { header("HTTP/1.0 404 Not Found"); die('404 - CONTROLADOR INEXISTENT'); } $name_controller = 'Controlador' . ucfirst($controlador); $controller = new $name_controller(); $controller->abans(); $action = $metode . ucfirst($accio); if (method_exists($controller, $action)) { $this->vista = call_user_func_array(array($controller, $action), $parametres); } else { header("HTTP/1.0 404 Not Found"); die('404'); } }
function __autoload($nomClase) { if (strstr($nomClase, 'Controlador')) { $nomControlador = str_replace('controlador', '', strtolower($nomClase)); $fitxerControlador = directori('app') . 'controladors' . DS . $nomControlador . '.php'; if (file_exists($fitxerControlador)) { require $fitxerControlador; } // @todo: else } else { // Ruta del model a incloure $fitxerModel = directori('app') . 'models' . DS . $nomClase . '.php'; if (file_exists($fitxerModel)) { require $fitxerModel; } else { // És un fitxer del nucli $fitxerZelcat = directori('sys') . DS . $nomClase . '.php'; if (file_exists($fitxerZelcat)) { require $fitxerZelcat; } } } }
public static function carrega($directori) { return file_get_contents(directori('app') . 'vistes/' . $directori . '.php'); }
/** * Funció que et retorna la configuració pasada per paràmetre * @param string $que Quina configucarió es vol retornar * @return [type] [description] */ public static function de($que, $clau = null) { $configuracio = (require directori('app') . 'config' . DS . $que . '.php'); return is_null($clau) ? $configuracio : $configuracio[$clau]; }
<?php session_start(); /********************************************** * Afegim les clases al nucli * **********************************************/ require directori('sys') . 'configuracio.php'; require directori('sys') . 'ajudants.php'; require directori('sys') . 'autocarregador.php'; require directori('sys') . 'sessio.php'; require directori('sys') . 'peticio.php'; require directori('sys') . 'ruta.php'; require directori('sys') . 'vista.php'; require directori('sys') . 'basededades.php'; require directori('sys') . 'basededades' . DS . 'fluid.php'; require directori('sys') . 'model.php'; require directori('sys') . 'controlador.php'; require directori('sys') . 'resposta.php'; require directori('sys') . 'uri.php'; require directori('sys') . 'redirigir.php'; require directori('app') . 'rutes.php'; /********************************************** * Afegim els alias * **********************************************/ class_alias('BaseDeDades', 'BD'); class_alias('Configuracio', 'Config');
<?php /** * Zelcat - El primer framework en Català * * @package zelcat * @version 0.0.0.1 * @author Rafael Antonio <*****@*****.**> * @link @dotzecker */ // -------------------------------------------------------------- // Li passem les rutes dels directoris // -------------------------------------------------------------- define('DS', DIRECTORY_SEPARATOR) or die('Fail!'); require '..' . DS . 'directoris.php'; // -------------------------------------------------------------- // Afegim el nucli del nostre sistema! // -------------------------------------------------------------- require directori('sys') . 'zelcat.php';