Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/09/2011, 10:34
MiLLeN
 
Fecha de Ingreso: diciembre-2007
Mensajes: 194
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Include con DWOO engine template

Cita:
Iniciado por Triby Ver Mensaje
Pues tal vez tu idea sea la misma, pero esto es muy diferente de JavaEE, recuerda que PHP por lo general se usa para web y, al incluir un archivo por URL lo que te devolvera sera "codigo html", nunca un codigo PHP para ejecutar.

O bien, te dara un error al incluir index.php porque si es tu controlador (bootstrap o script de inicio) necesariamente ya habra ejecutado el codigo, creado variables, definido constantes y funciones.
Lo que yo espero con el include ya es el código HTML, no PHP para ejecutar, de hecho, se perfectamente como solucionar este problema, y en ello estoy, simplemente llamando a una función (loadView('nombre_de_la_vista')) que tengo que me ejecuta una llamada a mi Controlador nueva y me devuelve todo como yo quiero, la historia esta en que al ver ese función "include" en dwoo pienso que alguna forma debe de haber para no tener que hacer yo la llamada directamente desde mi capa de modelo, pero si no hay mas remedio así lo haré.

Mi controlador, como te he explicado anteriormente, puede realizar perfectamente estas funciones, de hecho las realiza, sino utilizo el motor de plantillas, poniendo este codigo en mi vista .php lo hace.

<?php $this->loadView('mi_pagina'); ?>

Realiza las labores del modelo e imprime el código html ya procesado.

Cita:
Iniciado por Triby Ver Mensaje
Aqui el problema es que tu planteamiento es erroneo, las plantillas no deben incluir mayor logica que algunos ifs y ciclos, mas aun si estas usando MVC, donde:

Modelo = Acceso a datos, persistencia o como lo quieras llamar
Vista = Mostrar los datos obtenidos en Controlador + Modelo
Controlador = Procesa toda la logica, obtiene datos y los prepara para mostrar la Vista

Teoricamente (porque no lo conozco) Dwoo es un procesador de plantillas, interpretara y ejecutara el codigo que encuentre, por lo que:

Código:
{include('header.html')}
{include(file='site_header.tpl' title='About Us')}
Y así es, mis plantillas solo utilizan las funciones ifs, loop y pretendía que la include... Como te he explicado anteriormente, toda la lógica de negocio se realiza antes y en otro archivo que provee las variables en un array propio de dwoo.

Otra idea que estoy manejando es modificar directamente yo el framework, como me imagino que se podrá editar el motor de plantillas, de tal manera que lo único que tengo que hacer es crear una nueva función que directamente llame a mi función del controlador, pero me parece que esa funcion include tiene toda la pinta de ser lo que necesito.

PD: Efectivamente...

http://wiki.dwoo.org/index.php/WritingPlugins

Se pueden agregar tus propias funciones, tremendo, me voy a poner a ello y te cuento.
__________________
Aprender J2EE en www.programacionj2ee.com.
Mi framework PHP D Framework.