Edición de «Migracion 05 051»

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:
#REDIRECT: [[KumbiaPHP Framework Versión 1.0 Spirit]]
 
 
== Introducción ==
 
== Introducción ==
 
En la versión [https://launchpad.net/kumbia/0.5.1 0.5.1] el enfoque primordial que ha considerado el [https://launchpad.net/%7Edesarrollokumbia Equipo de Desarrollo] gira en torno al rendimiento del framework a nivel de velocidad y en este sentido hemos obtenido grandes resultados, de manera que las pruebas en base a esta versión nos indica que es bastante rápida con pequeños cambios aplicando las mejores practicas de desarrollo.
 
En la versión [https://launchpad.net/kumbia/0.5.1 0.5.1] el enfoque primordial que ha considerado el [https://launchpad.net/%7Edesarrollokumbia Equipo de Desarrollo] gira en torno al rendimiento del framework a nivel de velocidad y en este sentido hemos obtenido grandes resultados, de manera que las pruebas en base a esta versión nos indica que es bastante rápida con pequeños cambios aplicando las mejores practicas de desarrollo.
Línea 98: Línea 97:
  
 
<pre>
 
<pre>
  <?php render_partial('fecha') ?>
+
  <?php echo render_partial('fecha'); ?>
</pre>
 
 
 
 
 
Describiendo la función de manera mas detallada:
 
<pre>
 
render_partial($partial, $time=false, $params=array())
 
</pre>
 
 
 
Para cachear los partials, el tiempo de cacheo debe indicarse con el formato de strtotime tal como lo utiliza el componente cache.
 
 
 
<pre>
 
<?php render_partial('fecha', '+4 days') ?>
 
</pre>
 
 
 
Si no se desea cachear, se indica como segundo argumento "false", el cual es el valor por defecto
 
 
 
<pre>
 
<?php render_partial('fecha', false) ?>
 
</pre>
 
 
 
También es posible pasar variables al partial utilizando parámetros con nombre o utilizando como argumento un array. Si estos parámetros son se pasan en forma de array soporta cualquier tipo de dato (objecto, array, etc).
 
 
 
<pre>
 
<?php render_partial('fecha', false, 'var: valor') ?>
 
</pre>
 
 
 
<pre>
 
<?php render_partial('fecha', false, array('var' => 'valor')) ?>
 
</pre>
 
 
 
Y esta es accesible en el partial como $var
 
 
 
Los modelos ya no se cargan directamente en los partials, esto mejora la velocidad, para hacer uso de los modelos en los partials, el usuario puede instanciar directamente el modelo, la desventaja de esta manera es que el usuario debe haber cargado previamente el modelo haciendo uso de "load_models" en el controller en caso de utilizar carga selectiva de modelos:
 
 
 
<pre>
 
<?php
 
    $Usuario = new Usuario();
 
    $usuario = $Usuario->find(1);
 
?>
 
</pre>
 
 
 
También es posible utilizar el método '''Kumbia::model($model)''', el cual se encarga de cargar la clase de ser necesario y maneja un singleton del objeto, este metodo solo debe usarse para obtener un modelo para efectuar consultas de recuperación de datos (find, findBy, find_first, etc) preferiblemente.
 
 
 
<pre>
 
<?php $usuario = Kumbia::model('Usuario')->find(1); ?>
 
 
</pre>
 
</pre>
  
Línea 196: Línea 150:
 
; charset: codificacion de caracteres
 
; charset: codificacion de caracteres
 
; databases: Habilita la carga de modelos
 
; databases: Habilita la carga de modelos
; models_autoload: Habilita la autocarga de modelos
 
; metadata_lifetime: Tiempo de vida de la metadata cacheada
 
; locale: Localicazion
 
 
 
; ¡¡¡ ADVERTENCIA !!!
 
; Cuando se efectua el cambio de mode, a production, es necesario eliminar
 
; el contenido del directorio de cache de la aplicacion para que se renueve
 
; la metadata
 
 
  
 
[kumbia]
 
[kumbia]
Línea 224: Línea 168:
 
log_exceptions = On
 
log_exceptions = On
 
charset = UTF-8
 
charset = UTF-8
databases = off
+
databases = off</pre>
models_autoload = On
 
;metadata_lifetime = "+1 year"
 
;locale = es_ES
 
</pre>
 
  
 
Se puede apreciar el nuevo atributo '''databases = off''' por defecto ese sera el valor (off), si se necesita trabajar con BD solo hay que cambiarle el valor a '''On''' para que el framewok cargue los modelos.
 
Se puede apreciar el nuevo atributo '''databases = off''' por defecto ese sera el valor (off), si se necesita trabajar con BD solo hay que cambiarle el valor a '''On''' para que el framewok cargue los modelos.
 +
 +
  
 
==Cache==
 
==Cache==
Línea 305: Línea 247:
 
<pre>
 
<pre>
 
Cache::remove('data');
 
Cache::remove('data');
</pre>
 
 
===Cache::active($active)===
 
Activa el uso de la cache
 
 
<pre>
 
Cache::active(true);
 
 
</pre>
 
</pre>
  
Línea 472: Línea 407:
 
<pre>
 
<pre>
 
$this->validates_email_in('email')
 
$this->validates_email_in('email')
</pre>
 
 
 
==Modos de la Aplicación==
 
La aplicación dispone de dos modos de ejecución el cual es indicado en el config.ini, estos se describen a continuación:
 
 
===Production===
 
Indicando en el config.ini "mode = production", se entra en el modo de producción, en este la cache de kumbia esta activada y se cachea información necesaria para agilizar la carga de la aplicación tal como la metadata de la base datos (información de tablas y campos), asimismo las vistas que el usuario desee cachear.
 
 
===Development===
 
Indicando en el config.ini "mode = development", se entra en el modo de desarrollo, en este la cache de kumbia esta desactivada y cualquier cambio que se haga en los campos y tablas de la base de datos (adicion de campos, etc), vistas de la aplicación que se cacheen, surtiran efecto inmediatamente.
 
 
La cache de kumbia se puede activar nuevamente utilizando el metodo active de la clase Cache.
 
 
<pre>
 
Cache::active(true);
 
</pre>
 
 
'''Cuando se cambia de modo development a modo production, es necesario limpiar la cache de kumbia para que se pueda renovar los nuevos metadatos y vistas, esto se hace facilmente eliminando el contenido del directorio de cache para la aplicación, en el caso de la aplicación por defecto sería el directorio cache/default.'''
 
 
== Carga selectiva de modelos ==
 
En la versión [https://launchpad.net/kumbia/0.5.1 0.5.1] se puede cargar solo los modelos que el controlador requiera, de esa manera se optimiza los procesos de la aplicación y consume menos recursos. Para utilizar la carga selectiva, es conveniente deshabilitar la autocarga de modelos en el config.ini con "models_autoload = Off".
 
 
Para cargar los modelos en el controlador se utiliza el metodo "load_models"
 
 
<pre>
 
class UsuarioController extends ApplicationController {
 
  public function index()
 
  {
 
    $this->load_models('Usuario', 'DatosPersonales');
 
  }
 
}
 
</pre>
 
 
Asimismo se puede indicar con el atributo de controlador $models.
 
 
<pre>
 
class UsuarioController extends ApplicationController {
 
  public $models = array('Usuario', 'DatosPersonales');
 
 
 
  public function index()
 
  {
 
  }
 
}
 
 
</pre>
 
</pre>

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)