Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/10/2013, 14:53
bathorz
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Estructura MVC y POO

No te hagas mucho problema, para mí tu código va bien. Una sugerencia. Colocar en config.php solamente elementos de configuración del sitio y retirar la conexión a la BBDD. Ej:
Código PHP:
Ver original
  1. // Rutas
  2. require_once('Clases/clases.php');
  3. // BBDD
  4. define("DSN",'mysql:dbname=mitabla;host=localhost');
  5. define(USER, 'root');
  6. define(PASS, '');
  7. // Mensajes del sitio
  8. define("SQL100", "....");

Yo no utilizo un mvc estricto, pero tiene algo:
Código txt:
Ver original
  1. Front/   <-- sería la Vista
  2.    index.php
  3.    archivos.php
  4.    ...
  5. Back/    <-- sería el Controlador
  6.    procIndex.php
  7.    procArchivos.php
  8.    ...
  9. Base/
  10.    config.php
  11.    plantilla.php
  12.    Clases/  <-- podría ser el Modelo
  13.       clBD.php
  14.       clArchivos.php
  15.       clPaginacion.php
  16.       ...
  17.    Css/
  18.       estilos.css
  19.       paginador.css
  20.    Funciones/
  21.       funArchivos.php
  22.       funPaginacion.php
  23.       ...
  24.    Js/
  25.       sitio.js
  26.       jquery.js

En lo que se refiere al paginador parece que el mío anda por todos lados:
Código txt:
Ver original
  1. archivos.php
  2.    <formulario>
  3. procArchivos.php
  4.    recibe los datos del formulario
  5.    instancia la clase clArchivos
  6.    $sql = "..."
  7.    // $numPag:pag actual, $limit:cant result x pag
  8.    clPaginacion::Paginar($sql, $numPag, $limit);
  9.  
  10. clPaginacion.php
  11.    public static $result;
  12.    public static function Paginar($sql,$numPag,$limit) {
  13.       // nº de registro de inicio
  14.       $inicio = ($numPag-1) * $limit;
  15.       // 1ª consulta
  16.       $oStm = clDB::accederBBDD($sql,'ROWS');
  17.       // cuenta los registros
  18.       self::$iCantReg = $iRst = $oStm;
  19.       // carga una variable con la cant paginas
  20.       self::$fCantPags = ceil($iRst/$limit);
  21.       // sql 2ª consulta, agrega limites
  22.       $sql.=" LIMIT ".$inicio.",".$limit."; ";
  23.       // 2ª consulta y retorno de resultados
  24.       return clPaginacion::$result = clDBpdo::accederMySQL($sSQL,'fetch_all_assoc');
  25.  
  26. procArchivos.php
  27.    // los datos paginados para procesar
  28.    $arrayDatos = clPaginacion::$rResult;
  29.    // función que pinta el índice del paginador
  30.    paginador(parametros);
  31.  
  32. archivos.php
  33.    [resultados]
  34.    <paginador>