Foros del Web » Programando para Internet » PHP » CodeIgniter »

Nuevo en POO y CodeIgniter - Una pregunta simple

Estas en el tema de Nuevo en POO y CodeIgniter - Una pregunta simple en el foro de CodeIgniter en Foros del Web. Hola muchachos, estoy en este subforo por primera vez, aunque llevo algunos años como parte de FDW, pero no pasé más allá del foro php, ...
  #1 (permalink)  
Antiguo 25/04/2010, 10:01
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 9 meses
Puntos: 3
Nuevo en POO y CodeIgniter - Una pregunta simple

Hola muchachos, estoy en este subforo por primera vez, aunque llevo algunos años como parte de FDW, pero no pasé más allá del foro php, porque estuve programando de manera procedimental y no orientado a objetos; creo que en adelante, me tendrán más seguido por aquí.

1º cuestión: Por su facilidad, elegí empezar con el framework CodeIgniter, y es probable que también incursione con CakePHP. Por ahora me dedico a CI.

Leí paso a paso el manual de CI publicado en desarrolloweb.com, y me salió todo lo que hicieron, más o menos lo entiendo, pero quiero saber cómo puedo integrarlo en una plantilla que yo mismo diseñé...

La pregunta es: ¿Cómo llamo al controlador desde la plantilla? ¿Cómo cargo el contenido?, etc, etc... (por ahora sólo eso)

Desde ya gracias, saludos.
__________________
-- Franco D. Ocaranza
-- [email protected]
-- http://www.jmqv.com.ar/
  #2 (permalink)  
Antiguo 25/04/2010, 14:47
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Cita:
Iniciado por Netfrank Ver Mensaje
La pregunta es: ¿Cómo llamo al controlador desde la plantilla?
Eerrrgggg!!! (léase como clásico sonido indicando una respuesta incorrecta )

El controlador es quien controla, no al revés. No debes llamar al controlador desde una vista, sino desde el controlador llamar a una vista, manipularla si es necesario (haciendo cambio de valores de variables, parseando y demás) y entregarla al cliente. Quizá solo fue una confusión al escribir, pero hay que tener claro eso.

Por lo demás, un framework es una herramienta y vendrá con sus propias instrucciones. Lo que te provee es una manera de hacer las cosas para obtener resultados; debes encontrar el que se adapte a ti.

No he trabajado con CI, pero su documentación de las vistas está acá: http://codeigniter.com/user_guide/general/views.html

Y se ve bastante simple el concepto. Pareciera son simples include()'s previa declaración de variables, PHP plano, algo muy usado "fuera de POO". Vaya, que no lo veas más complicado de lo que es por ser un framework, al final es solo PHP.

Si tienes problemas con código, muéstralo.
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 26/04/2010, 07:02
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Perdón por la ignorancia, pero: ¿Llamo a toda la plantilla desde el controlador? Digo, porque es un HTML de unas 500 líneas...

Igual creo que voy entendiendo. Esto de POO es un tanto distinto a mis viejas costumbres, pero está visto que significa un avance en cuanto a eficiencia y eficacia.

Thanks.
__________________
-- Franco D. Ocaranza
-- [email protected]
-- http://www.jmqv.com.ar/
  #4 (permalink)  
Antiguo 26/04/2010, 12:59
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Cita:
Iniciado por Netfrank Ver Mensaje
Perdón por la ignorancia, pero: ¿Llamo a toda la plantilla desde el controlador? Digo, porque es un HTML de unas 500 líneas...
Es una opción. Igual CI te permitiría dividir la vista en "secciones" para procurar su reutilización. Así como es común encontrar código como:
Código PHP:
Ver original
  1. <?php
  2. include 'header.php';
  3. include 'menu.php';
  4.  
  5. // Código PHP mezclado con SQL, HTML y demás ... complicado de leer y entender
  6.  
  7. include 'footer.php';

En CI podrías tener algo como (sacado del enlace que dejé):
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Page extends Controller {
  4.  
  5.    function index()
  6.    {
  7.       // Código PHP sin SQL, sin HTML; breve y entendible
  8.       $data['page_title'] = 'Your title'; // Asignando variables de la vista
  9.  
  10.       $this->load->view('header');
  11.       $this->load->view('menu');
  12.       $this->load->view('content', $data);
  13.       $this->load->view('footer');
  14.    }
  15.  
  16. }

Igual se puede leer que puedes utilizar subdirectorios y otro tipo de archivos. Vaya que precisamente por lo simple es bastante permisivo. Podrás organizarte como mejor te acomodes.


Cita:
Iniciado por Netfrank Ver Mensaje
Igual creo que voy entendiendo. Esto de POO es un tanto distinto a mis viejas costumbres, pero está visto que significa un avance en cuanto a eficiencia y eficacia.
Utilizar un framework no es "entender POO" por mucho que dicho framework esté programado a base de objetos y lo que quieras. Además, aquí hemos hablado más del patrón MVC y hasta ahí; ojo con ello.
__________________
I ♥ The Music!
  #5 (permalink)  
Antiguo 28/04/2010, 08:56
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Bastante comprensible tu explicación. Bueno, verás que al ser inexperto, hago algunas preguntas y deducciones un tanto ilógicas.

Un pregunta: ¿Conoces algo de Code Igniter o CakePHP?
__________________
-- Franco D. Ocaranza
-- [email protected]
-- http://www.jmqv.com.ar/
  #6 (permalink)  
Antiguo 28/04/2010, 14:43
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Cita:
Iniciado por Netfrank Ver Mensaje
Un pregunta: ¿Conoces algo de Code Igniter o CakePHP?
No, ninguno
__________________
I ♥ The Music!
  #7 (permalink)  
Antiguo 13/01/2011, 09:56
Avatar de CodeIgniter  
Fecha de Ingreso: enero-2011
Ubicación: $this->load->view('Rafaela', 'Argentina')
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 14
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Efectivamente, es el controlador quién carga la vista (no al reves).

Como tu bien dices, las vistas son archivos .php conformados casi en su totalidad por código Html o Css (en las vistas debemos intentar que el código php sea el mínimo e indispensable que necesitamos para la presentación del sitio web).

¿Qué ventajas tienes con esto?,

Muy sencillo. La parte lógica de tu software (el código verdaderamente importante y que define el comportamiento de un soft) queda en tus controladores.

Y todo el código HTML (que son centenares o miles de líneas de código) queda en las vistas.

¿Y esto de que sirve?

Tu software queda mucho más entendible y sencillo de mantener. Aprovechando que el código HTML queda en las vistas, el código de tus controladores queda mucho más compacto, en consecuencia tu codigo es más comprensible y fácil de extender o modificar.

Distinto ocurre cuando cuando tienes todo tu código junto en un único archivo .php (algo que es muy común, especialmente cuando iniciamos a programar).
Tus php y consultas Mysql mesclado con las miles de línea de código HTML.....

Cuando necesitas hacer un cambio en el comportamiento de tu soft o agregar una funcionalidad, es complicado y tedioso.

¿Qué es más sencillo de entender y modificar?
  • Un archivo con miles de línea (programación secuencial)
  • O un archivo con sólo 10 o 20 líneas? (programación POO con el modelo MVC utilizado por CodeIgniter)

Si necesitas que profundicemos sobre alguno de estos puntos, por favor escríbeme y lo revisamos juntos.

Saludos y éxitos!

Última edición por CodeIgniter; 13/01/2011 a las 10:02
  #8 (permalink)  
Antiguo 14/01/2011, 09:26
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 1 mes
Puntos: 43
Respuesta: Nuevo en POO y CodeIgniter - Una pregunta simple

Cita:
Iniciado por Netfrank Ver Mensaje
Perdón por la ignorancia, pero: ¿Llamo a toda la plantilla desde el controlador? Digo, porque es un HTML de unas 500 líneas...

Igual creo que voy entendiendo. Esto de POO es un tanto distinto a mis viejas costumbres, pero está visto que significa un avance en cuanto a eficiencia y eficacia.

Thanks.
Busca en el foro de CI o en su wiki hay una clase llamada "template" que te permite separar tu "HTML" en secciones, de esta manera podras tener un header ,un sidebar, un footer y un contenido por separado y el template despues se encarga de unirlo.

Salu2

Etiquetas: poo, simple
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.