Sie sind auf Seite 1von 5

INSTRUCIONES DE DESARROLLO

Para comenzar con el desarrollo del cdigo de nuestro sistema web en PHP con el patrn arquitectnico MVC es
necesario indicarles en contenido de estos documentos:
Es cdigo estar separado por pginas, es decir, todo un bloque de cdigo (en la medida de lo posible) estar en
cada hoja del documento.
En la primera lnea se encontrar la ruta y el archivo donde debe escribirse el cdigo
Cada cdigo tendr una explicacin del funcionamiento del mismo.
Ejemplo:
Raz/dir/dir//archivo.xxx
<?php
class class_name {

/**
* Bloque de comentario sobre la clase o los atributos
*
*/
private $_atribute1;
private $_atribute2;
private $_atribute3;
.
.
.
private $_atributeN;


/**
* Bloque de comentario sobre el metodo
*/
function function_name() {
;
}

/**
* Bloque de comentario sobre el metodo
*/
function function_name_2() {
;
}
}
?>
Raz/.htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

#AddDefaultCharset UTF-8
#AddDefaultCharset off
#AddDefaultCharset on
































Raz/index.php
<?php

/**
* Declaracin de constantes para el manejo de archivos de la App
* Para declarar una constante se realiza de la siguiente manera:
* define('NOMBRE_DE_LA_CONSTANTE', 'VALOR_DE_LA_CONSTANTE' );
*
* DS: Constante para invocar el separador "/"
*
* ROOT: Constante para declarar la ruta base del directorio de la App,
* en este caso es:
* C:\wamp\www\PHP-MVC-FINAL\
*
* APP_PATH: Constante para declarar la ruta base del directorio de la App:
* C:\wamp\www\PHP-MVC-FINAL\app
*
* Tambin se declaran constantes para acceder a las rutas de los archivos
* de tipo css, js, img y font:
*
* C:\wamp\www\PHP-MVC-FINAL\public\css
* C:\wamp\www\PHP-MVC-FINAL\public\js
* C:\wamp\www\PHP-MVC-FINAL\public\font
* C:\wamp\www\PHP-MVC-FINAL\public\img
*
*/

define('DS', DIRECTORY_SEPARATOR);
define('ROOT', realpath(dirname(__FILE__)) . DS );

define('APP_PATH', ROOT . DS . 'protected' . DS . 'app' . DS);

define('CSS_PATH', ROOT . DS . 'public' . DS . 'css'. DS);
define('JS_PATH', ROOT . DS . 'public' . DS . 'js'. DS);
define('FONTS_PATH', ROOT . DS . 'public' . DS . 'fonts'. DS);
define('IMG_PATH', ROOT . DS . 'public' . DS . 'img'. DS);

require_once APP_PATH . 'Site.php';
require_once APP_PATH . 'Config.php';
require_once APP_PATH . 'Controller.php';
require_once APP_PATH . 'Model.php';
require_once APP_PATH . 'Request.php';
require_once APP_PATH . 'Views.php';
require_once APP_PATH . 'DataBase.php';


//echo '<pre>'; print_r(get_required_files());

//$request = new Request();

//echo $request->getController() . "<br>";
//echo $request->getMethod() . "<pre>";
//print_r($request->getArguments());


/**
* PEGAR EL CODIGO AQUI!!!
*/

?>









Raz/protected/app/Config.php
<?php

/**
*
* Estructura de peticiones por la URL:
* controller/method/arg/arg2/arg3/.../argN
*
* Declaraciones de Constantes para el manejo de la App y de las peticiones del Usuario.
*
*
* DEFAULT_CONTROLLER: nombre del controlador por defecto si el usuario hace la peticin
* inicial al sistema
*
* DEFAULT_METHOD: nombre del mtodo por defecto si el usuario hace la peticin
* inicial al sistema
*
* DEFAULT_LAYOUT: nombre de la carpeta por defecto para la bsqueda del tema (vistas)
* de la APP
*
* BASE_URL: Constante para declarar la URL base de la App:
* http://localhost/NAME_SISTEM/
*
* Para la configuracin de esta constante, hay que cambiar en nombre
* de "NAME_SISTEM" por el nombre de la carpeta de su sistema que est
* en la carpeta www del Wamp Server.
*
* Ejemplo, si su carpeta se llama "SISTEM_ONE" en www, la lnea de cdigo
* debe ser: define('BASE_URL', 'http://localhost/SISTEM_ONE/');
*
* Para nuestro caso se cambia a: http://localhost/MVC-PHP-FINAL/
*
* CSS_URL y JS_URL: Constante para declarar la URL donde es sistema va a
* importar todos los archivos css y js, los cuales son:
*
* http://localhost/NAME_SISTEM/public/css/
* http://localhost/NAME_SISTEM/public/js/
*
* Si es necesario, se puede declarar mas constantes para la creacin de rutas
* fijas para la bsqueda de archivos
*
* Declaraciones de Constantes para Configurar atributos de la App.
*
*
* APP_NAME: Constante para declarar el Nombre de la App
* APP_LOGO: Constante para declarar la ruta del logo de la App
* APP_OTHER: Constante para declarar otro parmetro de la App
*
* Declaraciones de Constantes para Configurar atributos de la Base de Datos.
*
*
* DB_HOST: Nombre del host donde se ubica la base de datos.
* DB_USER: Nombre del usuario para acceder a la base de datos.
* DB_PASS: Password/Contrasea para acceder a la base de datos.
* DB_NAME: Nombre de la Base de datos a manejar.
*
*/

define('DEFAULT_CONTROLLER', 'index');
define('DEFAULT_METHOD', 'index');

define('BASE_URL', 'http://localhost/MVC-PHP-FINAL/');
define('CSS_URL', BASE_URL . 'public/css/');
define('JS_URL', BASE_URL . 'public/js/');
define('IMG_URL', BASE_URL . 'public/img/');

define('APP_NAME', 'My Web Aplication');
define('APP_LOGO', '');
define('APP_OTHER', '');

define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "mvc");

?>


Raz/protected/app/Request.php
<?php
class Request {

private $_controller;
private $_method;
private $_arguments;

/**
* Mtodo constructor para inicializar los parmetros de la App
* Donde:
* $_controller: Nombre del Controlador solicitado por url.
* $_mothod: Nombre del Mtodo solicitado por url.
* $_argumenst: arreglo con parmetros para usar en el mtodo (si se requiere).
*
* Sentencias php:
* isset($params):
* mtodo php que indica si existe el parmetro suministrado
*
* filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL):
* Mtodo php que se le pasa por parmetro la va de recepcin, la variable
* que contenga la URL y cmo debe devolver el filtrado de la Variable.
*
* explode($symbol, $arg):
* mtodo php para crear un arreglo de los elementos de la
* url separados por '/'
*
* array_filter($url):
* mtodo php para eliminar elementos no validos del arreglo.
*
* array_shift():
* mtodo php que extrae el 1er elemento de un arreglo.
*
* if(!$param):
* indica si la variable esta vaca.
*
*/

function __construct() {

if (isset($_GET['url'])) {

$url = filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL);

$url = explode('/', $url);

$url = array_filter($url);

$this->_controller = strtolower( array_shift($url) );
$this->_method = strtolower( array_shift($url) );
$this->_arguments = $url;
}

if (!$this->_controller) {
$this->_controller = DEFAULT_CONTROLLER;
}
if (!$this->_method) {
$this->_method = DEFAULT_METHOD;
}
if (!isset($this->_arguments)) {
$this->_arguments = array();
}
}

public function getController() {
return $this->_controller;
}
public function getMethod() {
return $this->_method;
}
public function getArguments() {
return $this->_arguments;
}
}
?>

Das könnte Ihnen auch gefallen