Edición de «KumbiaPHP Framework Versión 1.0 Spirit»

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
 
|image=[[Archivo:Information_icon4.png|45px]]
 
|imageright=[[Archivo:Information_icon4.png|45px]]
 
|texto ='''Este manual corresponde la versión 1.0 beta 1(Desaconsejada). <br />Se recomienda ver la última versión del [https://github.com/KumbiaPHP/Documentation/tree/master/es Manual de KumbiaPHP 1.0]'''
 
}}
 
 
 
== Introducción ==
 
== Introducción ==
 
En la [https://launchpad.net/kumbia/1.0 versión 1.0](<s>antigua 0.5.1</s>) el enfoque primordial que ha considerado el [[Team_Development_KumbiaPHP_Framework|Equipo de Desarrollo]] gira en torno al rendimiento del framework a nivel de velocidad y mantenibilidad del framework en este sentido hemos desacoplado el core de kumbiaphp framework en una nueva estructura obteniendo grandes resultados, de manera que las pruebas en base a esta versión nos indica que vamos en buen camino y ademas es bastante rápida con los cambios aplicados siempre con las mejores practicas de desarrollo.
 
En la [https://launchpad.net/kumbia/1.0 versión 1.0](<s>antigua 0.5.1</s>) el enfoque primordial que ha considerado el [[Team_Development_KumbiaPHP_Framework|Equipo de Desarrollo]] gira en torno al rendimiento del framework a nivel de velocidad y mantenibilidad del framework en este sentido hemos desacoplado el core de kumbiaphp framework en una nueva estructura obteniendo grandes resultados, de manera que las pruebas en base a esta versión nos indica que vamos en buen camino y ademas es bastante rápida con los cambios aplicados siempre con las mejores practicas de desarrollo.
Línea 58: Línea 52:
  
 
== Constante en KumbiaPHP==
 
== Constante en KumbiaPHP==
En la version 1.0 Spirit, se ha creado tres constantes cada cual cumple un objetivo especifico con el fin de brindar mayor flexibilidad al momento de manejar rutas (paths) en el framework.
+
En la version 1.0 Spirit, se ha creado tres constantes cada cual cumple un objetivo especifico con el fin de brindar mayor flexibilidad al momento de maneras rutas (paths) en el framework.
  
 
=== APP_PATH ===
 
=== APP_PATH ===
Línea 74: Línea 68:
 
</pre>
 
</pre>
  
'''NOTA: siempre será mejor utilizar el [[KumbiaPHP_Framework_Versión_1.0_Spirit#Carga_Selectiva.2C_Inyecci.C3.B3n_de_Dependencias_y_el_Componente_Load |Componente Load]] para incluir dependencias.'''
+
NOTA: siempre será mejor utilizar el [[KumbiaPHP_Framework_Versión_1.0_Spirit#Carga_Selectiva.2C_Inyecci.C3.B3n_de_Dependencias_y_el_Componente_Load |Componente Load]] para incluir dependencias.
  
 
=== CORE_PATH ===
 
=== CORE_PATH ===
Línea 84: Línea 78:
 
</pre>
 
</pre>
  
Para incluir archivos que se encuentre bajo este arbol de directorio es el mismo procedimiento que se explico para la constante APP_PATH
+
Para incluir archivos que se encuentre bajo este arbol de directorio es el mismo precidimiento que se explico para la constante APP_PATH
  
 
'''NOTA: El core de KumbiaPHP en la version 1.0 esta totalmente desacoplado del directorio de la aplicación. [[KumbiaPHP_Framework_Versión_1.0_Spirit#Ventajas_de_esta_nueva_estructura_de_directorios|Ventajas de la Estructura de directorio]]'''
 
'''NOTA: El core de KumbiaPHP en la version 1.0 esta totalmente desacoplado del directorio de la aplicación. [[KumbiaPHP_Framework_Versión_1.0_Spirit#Ventajas_de_esta_nueva_estructura_de_directorios|Ventajas de la Estructura de directorio]]'''
  
=== PUBLIC_PATH ===
+
=== URL_PATH ===
Constante que contiene la URL para el navegador (browser) y apunta a '''app/public/''' para enlazar imágenes, CSS, JavaScript y todo lo que sea ruta para browser.
+
Constante que contiene la ruta relativa al directorio '''app/public/''' para generar enlazar imágenes, CSS, JavaScritp y todo lo que sea ruta para browser.
  
 
Ejemplo:
 
Ejemplo:
 
<pre>
 
<pre>
 
  //Genera un link que ira al controller: controller y action: action
 
  //Genera un link que ira al controller: controller y action: action
  <a href="<?php echo PUBLIC_PATH ?>controller/action/" title="Mi Link">Mi Link</a>  
+
  <a href="<?php echo URL_PATH ?>controller/action/" title="Mi Link">Mi Link</a>  
  
 
  //Enlaza una imagen que esta en public/img/imagen.jpg
 
  //Enlaza una imagen que esta en public/img/imagen.jpg
  <img src="<?php echo PUBLIC_PATH ?>img/imagen.jpg" alt="Una Imagen" />  
+
  <img src="<?php echo URL_PATH ?>img/imagen.jpg" alt="Una Imagen" />  
  
 
  //Enlaza el archivo CSS en public/css/style.css
 
  //Enlaza el archivo CSS en public/css/style.css
  <link rel="stylesheet" type="text/css" href="<?php echo PUBLIC_PATH ?>css/style.css"/>  
+
  <link rel="stylesheet" type="text/css" href="<?php echo URL_PATH ?>css/style.css"/>  
 
</pre>
 
</pre>
  
Línea 245: Línea 239:
 
*'''production''' Indica si se encuentra en producción.
 
*'''production''' Indica si se encuentra en producción.
 
*'''cache_driver''' driver que se utilizara para el manejo de cache. KumbiaPHP cuenta con tres (3) driver: file, sqlite y memsqlite.
 
*'''cache_driver''' driver que se utilizara para el manejo de cache. KumbiaPHP cuenta con tres (3) driver: file, sqlite y memsqlite.
*'''locale''' Localización.
+
*'''locale''' Localicazión
*'''routes''' Activar enrutamiento estatico.
 
  
 
<pre>;; Configuracion de Aplicacion
 
<pre>;; Configuracion de Aplicacion
Línea 262: Línea 255:
 
; cache_driver: driver para la cache (file, sqlite, memsqlite)
 
; cache_driver: driver para la cache (file, sqlite, memsqlite)
 
; metadata_lifetime: Tiempo de vida de la metadata cacheada
 
; metadata_lifetime: Tiempo de vida de la metadata cacheada
; locale: Localizacion
+
; locale: Localicazion
; routes: Activar enrutamiento estatico
 
  
  
Línea 283: Línea 275:
 
;metadata_lifetime = "+1 year"
 
;metadata_lifetime = "+1 year"
 
;locale = es_ES
 
;locale = es_ES
;routes = On
 
 
</pre>
 
</pre>
  
Línea 311: Línea 302:
 
host = localhost
 
host = localhost
 
username = root
 
username = root
password = 1qaz2WSX
+
password =
name = test
+
name = innogest
 
type = mysql
 
type = mysql
  
Línea 318: Línea 309:
 
host = localhost
 
host = localhost
 
username = root
 
username = root
password = 1qaz2WSX
+
password =
 
name = test
 
name = test
type = mssql
+
type = mysql
  
 
[test]
 
[test]
 
host = localhost
 
host = localhost
 
username = root
 
username = root
password = 1qaz2WSX
+
password =
 
name = test
 
name = test
type = mssql
+
type = mysql
 
</pre>
 
</pre>
  
 
== boot.ini ==
 
== boot.ini ==
En este archivo fue eliminado, ahora se recomienda la carga explicita con '''require''' o '''include''' o en su defecto aprovechar la autocarga de librerias de KumbiaPHP.
+
En este archivo es donde el usuario carga las extensiones (librerías) que trae el framework o bien alguna que deseen agregar.
O mejor usar el Load::lib('lib')
+
 
 +
Extensiones Propias de Kumbiaphp Framework
 +
*session
 +
*logger
 +
*auth
 +
*date
 +
*filter
 +
*acl
 +
*benchmark
 +
*security
 +
 
 +
Extensiones externas al framework
 +
*excel
 +
*fpdf
 +
*phpmailer
 +
*libchart
 +
 
 +
<pre>
 +
; LIBRERIAS DISPONIBLES
 +
; Librerias Propias de KumbiaPHP Framework (libraries)
 +
;  * session
 +
;  * logger
 +
;  * auth
 +
;  * date
 +
;  * filter
 +
;  * acl
 +
;  * benchmark
 +
;  * security
 +
;
 +
; Cargadores en libraries para librerias de terceros (vendors)
 +
;  * excel
 +
;  * fpdf
 +
;  * phpmailer
 +
;  * libchart
 +
 
 +
 
 +
[modules]
 +
libs = logger
 +
</pre>
 +
 
 +
Es decir, se usa libs= en vez de extensions=
 +
Y también se quita el prefijo kumbia.
 +
 
 +
'''KumbiaPHP 0.5'''
 +
<pre>
 +
[modules]
 +
extensions = kumbia.logger, kumbia.auth
 +
</pre>
 +
'''KumbiaPHP 1.0'''
 +
<pre>
 +
[modules]
 +
libs = logger, auth
 +
</pre>
  
 
== Router ==
 
== Router ==
Línea 512: Línea 555:
  
 
     echo $code;
 
     echo $code;
 +
}
 
}
 
}
 
</source>
 
</source>
Línea 701: Línea 745:
 
El componente cache fué mejorado y ahora posee una implementación utilizando los patrones de diseño factory y singleton, para hacer uso de la cache es necesario tener permisos de escritura en el directorio "cache" (para el caso de los manejadores "sqlite" y "file").  
 
El componente cache fué mejorado y ahora posee una implementación utilizando los patrones de diseño factory y singleton, para hacer uso de la cache es necesario tener permisos de escritura en el directorio "cache" (para el caso de los manejadores "sqlite" y "file").  
  
Puedes obtener un driver de Cache utilizando el metodo '''driver''' que te proporciona la clase Cache.
+
Puedes obtener un driver de Cache utilizando el metodo '''factory''' que te proporciona la clase Cache.
  
===Cache::driver($driver=null)===
+
===Cache::factory($driver=null)===
 
Este metodo permite obtener un manejador de cache específico, si no se indica, se obtiene el manejador de cache por defecto indicado en el '''config.ini'''.
 
Este metodo permite obtener un manejador de cache específico, si no se indica, se obtiene el manejador de cache por defecto indicado en el '''config.ini'''.
  
Línea 710: Línea 754:
 
<source lang=php>
 
<source lang=php>
 
// cache por defecto
 
// cache por defecto
$data = Cache::driver()->get('data');
+
$cache = Cache::factory();
  
 
// manejador para memcache
 
// manejador para memcache
$data_memcache = Cache::driver('memcache')->get('data');
+
$memcache = Cache::factory('memcache');
  
 
// manejador para cache con APC
 
// manejador para cache con APC
$data_apc = Cache::driver('APC')->get('data');
+
$apc = Cache::factory('APC');
 
</source>
 
</source>
  
Línea 728: Línea 772:
 
string '''$group''': grupo al cual pertenece el elemento cacheado (por defecto "default")
 
string '''$group''': grupo al cual pertenece el elemento cacheado (por defecto "default")
  
<source lang=php>
+
<pre>
$data = Cache::driver()->get('data');
+
$cache = Cache::factory();
</source>
+
$data = $cache->get('data');
 +
</pre>
  
 
===save($value, $lifetime=null, $id=false, $group='default')===
 
===save($value, $lifetime=null, $id=false, $group='default')===
Línea 741: Línea 786:
  
 
<source lang=php>
 
<source lang=php>
<?php if($data = Cache::driver()->get('data')): ?>
+
<?php $cache = Cache::factory(); ?>
 +
<?php if($data = $cache->get('data')): ?>
 
     <?php echo $data ?>
 
     <?php echo $data ?>
 
<?php else: ?>
 
<?php else: ?>
Línea 748: Línea 794:
 
     <?php  
 
     <?php  
 
         $data = ob_get_contents();
 
         $data = ob_get_contents();
         Cache::driver()->save($data, '+21 days');
+
         $cache->save($data, '+21 days');
 
         ob_end_flush();         
 
         ob_end_flush();         
 
     ?>
 
     ?>
Línea 756: Línea 802:
  
 
<source lang=php>
 
<source lang=php>
Cache::driver()->save('hola', null, 'data');
+
$cache = Cache::factory();
$data = Cache::driver()->get('data');
+
$cache->save('hola', null, 'data');
 +
$data = $cache->get('data');
 
</source>
 
</source>
  
Línea 770: Línea 817:
  
 
<source lang=php>
 
<source lang=php>
<?php if($data = Cache::driver()->start('+1 day','data')): ?>
+
<?php $cache = Cache::factory(); ?>
 +
<?php if($data = $cache->start('+1 day','data')): ?>
 
     <?php echo $data ?>
 
     <?php echo $data ?>
 
<?php else: ?>
 
<?php else: ?>
 
     Hola
 
     Hola
     <?php Cache::driver()->end()?>
+
     <?php $cache->end()?>
 
<?php endif; ?>     
 
<?php endif; ?>     
 
</source>
 
</source>
Línea 785: Línea 833:
  
 
<source lang=php>
 
<source lang=php>
Cache::driver()->clean('default');
+
$cache = Cache::factory();
 +
$cache->clean('default');
 
</source>
 
</source>
  
Línea 792: Línea 841:
  
 
<source lang=php>
 
<source lang=php>
Cache::driver()->remove('data');
+
$cache = Cache::factory();
 +
$cache->remove('data');
 
</source>
 
</source>
  
Línea 1005: Línea 1055:
  
 
===Production===
 
===Production===
Indicando en el config.ini '''"production = On"''', se entra en el modo de producción, en este la cache de kumbiaphp framework 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.
+
Indicando en el config.ini '''"production = On"''', se entra en el modo de producción, en este la cache de kumbiaphp framework 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===
 
===Development===
Línea 1375: Línea 1425:
 
</source>
 
</source>
  
Los filtros de usuario deben ubicarse en el directorio "app/extensions/filters/".
+
Los filtros de usuario deben ubicarse en el directorio "app/filters".
  
 
Por convenio la clase que corresponde al filtro debe llevar el sufijo "Filter" y el archivo debe llamarse igual que la clase pero en notación smallcase.
 
Por convenio la clase que corresponde al filtro debe llevar el sufijo "Filter" y el archivo debe llamarse igual que la clase pero en notación smallcase.
Línea 1447: Línea 1497:
 
     //Se carga core/libs/auth/auth.php, siempre que no exista algún archivo
 
     //Se carga core/libs/auth/auth.php, siempre que no exista algún archivo
 
     //con el mismo nombre en app/libs/ ya que KumbiaPHP da prioridad a tu app sobre el core.
 
     //con el mismo nombre en app/libs/ ya que KumbiaPHP da prioridad a tu app sobre el core.
     Load::lib('auth');
+
     Load::lib('Auth');
 
   }
 
   }
 
}
 
}
Línea 1501: Línea 1551:
 
</source>
 
</source>
  
===delete($index, $namespace='default')===
+
===unset_data($index, $namespace='default')===
 
Elimina el valor para un indice de la sesión actual.
 
Elimina el valor para un indice de la sesión actual.
  
 
<source lang=php>
 
<source lang=php>
Session::delete('usuario');
+
Session::unset_data('usuario');
 
</source>
 
</source>
  
===has($index, $namespace='default')===
+
===isset_data($index, $namespace='default')===
 
Verifica que este definido el indice en la sesión actual.
 
Verifica que este definido el indice en la sesión actual.
  
 
<source lang=php>
 
<source lang=php>
Session::has('id_usuario');//retorna false.
+
Session::isset_data('id_usuario');//retorna false.
 
</source>
 
</source>
  
  
 
NOTA: '''$namespace''' es un espacio individual en el cual se pueden contener las variables de sesión, permitiendo evitar colisiones con nombres de variables.
 
NOTA: '''$namespace''' es un espacio individual en el cual se pueden contener las variables de sesión, permitiendo evitar colisiones con nombres de variables.
 +
  
 
==Upload==
 
==Upload==

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: