Edición de «Como Usar los Modelos en KumbiaPHP»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 1: Línea 1:
 
{{cleanupbox
 
{{cleanupbox
 
|image=[[Archivo:Information_icon4.png|45px]]
 
|image=[[Archivo:Information_icon4.png|45px]]
|texto ='''Este Artículo cumple con todos los requerimientos de los Kumbieros.'''<br />
+
|texto ='''Este Artículo cumple con todos los quererimientos de los Kumbieros.'''<br />
 
}}
 
}}
  
  
 
== Introducción ==
 
== Introducción ==
Los Modelos representan la lógica de la aplicación, y son parte fundamental para el momento que se desarrolla una aplicación, un buen uso de estos nos proporciona un gran poder al momento que se necesita escalar, mantener y reusar código en una aplicación.
+
Los Modelos representan la lógica de la aplicación y son parte fundamental para el momento que se desarrolla una aplicación, un buen uso de estos nos permiten un gran poder al momento que se necesita escalar, mantener y rehusar código en una aplicación.
  
Por lo general un mal uso de los modelos es solo dejar el archivo con la declaración de la clase y toda la lógica se genera en el controlador. Esta práctica trae como consecuencia que en primer lugar el controlador sea difícilmente entendible por alguien que intente agregar y/o modificar algo en esa funcionalidad, en segundo lugar lo poco que puedes rehusar el código en otros controladores y lo que hace es repetirse el código que hace lo mismo en otro controlador.
+
Por lo general un mal uso de los modelos es solo dejar el archivo con la declaración de la clase y toda la lógica se genera en el controlador. Esta práctica trae como consecuencia que en primer lugar el controlador sea dificilmente entendible por alguien que intente agregar y/o modificar algo en esa funcionalidad, en segundo lugar lo poco que puedes rehusar el código en otros controladores y lo que hace es repetirse el código que hace lo mismo en otro controlador.
  
 
Partiendo de este principio los controladores '''NO''' deberían contener ningún tipo de lógica solo se encargan de atender las peticiones del usuarios y solicitar dicha información a los modelos con esto garantizamos un buen uso del [http://es.wikipedia.org/wiki/Modelo_Vista_Controlador MVC].
 
Partiendo de este principio los controladores '''NO''' deberían contener ningún tipo de lógica solo se encargan de atender las peticiones del usuarios y solicitar dicha información a los modelos con esto garantizamos un buen uso del [http://es.wikipedia.org/wiki/Modelo_Vista_Controlador MVC].
  
 
==El Modelo extiende el ActiveRecord==
 
==El Modelo extiende el ActiveRecord==
[http://www.kumbiaphp.com KumbiaPHP] usa [http://es.wikipedia.org/wiki/POO POO (Programación orientada a objetos)], así que [[Indice#ACTIVE_RECORD | ActiveRecord]] es una clase que ya lleva métodos listos para usar. Estos [[Consultas |métodos]] facilitan al usuario el manejo de las tablas de las bases de datos; entre ellos están los siguientes: find, find_all, save, update, etc.
+
[http://www.kumbiaphp.com KumbiaPHP] usa [http://es.wikipedia.org/wiki/POO POO (Programación orientada a objetos)], así que [[Indice#ACTIVE_RECORD | ActiveRecord]] es una clase que ya lleva métodos listos para usar. Que facilitan al usuario el manejo de las tablas de las bases de datos, [[Consultas |métodos]] como: find, find_all, save, update,...
  
 
El Modelo extiende la clase [[Indice#ACTIVE_RECORD | ActiveRecord]] para que el usuario pueda añadir sus propios métodos, y asi encapsular la lógica.
 
El Modelo extiende la clase [[Indice#ACTIVE_RECORD | ActiveRecord]] para que el usuario pueda añadir sus propios métodos, y asi encapsular la lógica.
Línea 49: Línea 49:
 
</source>
 
</source>
  
Normalmente este código muchos usuarios lo colocan en el controller quedando el mismo '''ilegible''', colocándolo como se muestra arriba queda muy limpia la implementación de los mismo en nuestros modelos en los controller.
+
Normalmente este código muchos usuarios lo colocan en el controller quedando el mismo '''ilegible''', colocandolo como se muestra arriba queda muy limpia la implementación de los mismo en nuestros modelos en los controller.
  
 
== Implementando mis modelos en los controladores ==
 
== Implementando mis modelos en los controladores ==
Línea 56: Línea 56:
 
<source lang=php>
 
<source lang=php>
 
<?php
 
<?php
class MiController extends AppController
+
class MiController extends ApplicationController //AppController en beta2
 
{
 
{
 
     public function index ($id = 1)
 
     public function index ($id = 1)
 
     {
 
     {
         $this->noticias = (new Articulos)->ver($id);
+
         $this->noticias = $this->Articulos->ver($id);
 
     }
 
     }
 
     public function ver ($slug)
 
     public function ver ($slug)
 
     {
 
     {
 
         if ($slug) {
 
         if ($slug) {
             $this->noticia = (new Articulos)->buscar($slug);
+
             $this->noticia = $this->Articulos->buscar($slug);
 
         }
 
         }
 
     }
 
     }
 
     public function rss ()
 
     public function rss ()
 
     {
 
     {
         $this->noticias = (new Articulos)->ultimos();
+
         $this->noticias = $this->Articulos->ultimos();
         View::template(null); //mostramos solo la vista, sin el template
+
         $this->set_response("view");
 
     }
 
     }
 
}
 
}

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: