Diferencia entre revisiones de «KumbiaPHP Framework Versión 1.0 Beta2»

De KumbiaPHP Framework Wiki
Línea 1: Línea 1:
 
Documentación de KumbiaPHP 1.0 beta2
 
Documentación de KumbiaPHP 1.0 beta2
  
== '''Clase Html''' ==
+
== Helpers ==
 +
 
 +
=== Clase Html ===
  
 
Clase con métodos estáticos con la que podemos crear etiquetas HTML optimizadas respetando las convenciones de KumbiaPHP.
 
Clase con métodos estáticos con la que podemos crear etiquetas HTML optimizadas respetando las convenciones de KumbiaPHP.
  
  
=== Html::img() ===
+
==== Html::img() ====
 
Permite incluir una imagen
 
Permite incluir una imagen
 
<pre>
 
<pre>
Línea 23: Línea 25:
  
  
=== Html::link() ===
+
==== Html::link() ====
 
Permite incluir un link  
 
Permite incluir un link  
 
<pre>
 
<pre>
Línea 39: Línea 41:
  
  
=== Html::lists() ===
+
==== Html::lists() ====
 
Crea una lista html a partir de un array
 
Crea una lista html a partir de un array
 
<pre>
 
<pre>
Línea 69: Línea 71:
  
  
=== Html::includeCss() ===
+
==== Html::includeCss() ====
 
Incluye los archivos CSS que previamente fueron cargados a la lista mediante Tag::css()
 
Incluye los archivos CSS que previamente fueron cargados a la lista mediante Tag::css()
  
Línea 79: Línea 81:
  
  
=== Html::headLink() ===
+
==== Html::headLink() ====
 
Enlaza una acción
 
Enlaza una acción
  
 
me falta info...
 
me falta info...
  
=== Html::headLinkAction() ===
+
==== Html::headLinkAction() ====
 
Enlaza una accion
 
Enlaza una accion
  
Línea 90: Línea 92:
  
  
=== Html::headLinkResource() ===
+
==== Html::headLinkResource() ====
 
Enlaza un recurso de la aplicacion
 
Enlaza un recurso de la aplicacion
  
Línea 96: Línea 98:
  
  
=== Html::includeHeadLinks() ===
+
==== Html::includeHeadLinks() ====
 
Incluye los links para el head
 
Incluye los links para el head
  
Línea 106: Línea 108:
  
  
== '''Clase Tag''' ==
+
=== '''Clase Tag''' ===
  
 
Esta clase nos va a permitir adicionar archivos JS y CSS a nuestro proyecto (como lo hacíamos con las funciones stylesheet_link_tag y javascript_include_tag de la Beta1), bien sean archivos que se encuentren en nuestro servidor o en un servidor externo. Tambien vamos a poder hacer  
 
Esta clase nos va a permitir adicionar archivos JS y CSS a nuestro proyecto (como lo hacíamos con las funciones stylesheet_link_tag y javascript_include_tag de la Beta1), bien sean archivos que se encuentren en nuestro servidor o en un servidor externo. Tambien vamos a poder hacer  
Línea 112: Línea 114:
 
Las funciones de esta clase son de tipo static lo que nos permite referenciarlas directamente de la forma como se presentan a continuación.
 
Las funciones de esta clase son de tipo static lo que nos permite referenciarlas directamente de la forma como se presentan a continuación.
  
=== Tag::css() ===
+
==== Tag::css() ====
  
 
Incluye un archivo CSS a la lista
 
Incluye un archivo CSS a la lista
Línea 120: Línea 122:
 
</source>
 
</source>
  
=== Tag::js() ===
+
==== Tag::js() ====
 
Incluye un archivo JavaScript a la vista, partial o template
 
Incluye un archivo JavaScript a la vista, partial o template
 
<source lang=php>
 
<source lang=php>
Línea 127: Línea 129:
  
  
== '''Clase Form''' ==
+
=== '''Clase Form''' ===
 
Clase para el manejo y la creación de formularios
 
Clase para el manejo y la creación de formularios
  
  
=== Form::open() ===
+
==== Form::open() ====
 
Crea una etiqueta de formulario
 
Crea una etiqueta de formulario
 
<pre>
 
<pre>
Línea 147: Línea 149:
 
</source>
 
</source>
  
=== Form::multipart() ===
+
==== Form::multipart() ====
 
Crea una etiqueta de formulario multipart, este es ideal para formularios que contienen campos de subida de archivos
 
Crea una etiqueta de formulario multipart, este es ideal para formularios que contienen campos de subida de archivos
 
<pre>
 
<pre>
Línea 164: Línea 166:
  
  
=== Form::close() ===
+
==== Form::close() ====
 
Crea una etiqueta de cierre de formulario
 
Crea una etiqueta de cierre de formulario
  
Línea 174: Línea 176:
  
  
=== Form::input() ===
+
==== Form::input() ====
 
Crea un campo de tipo input
 
Crea un campo de tipo input
 
<pre>
 
<pre>
Línea 190: Línea 192:
  
  
=== Form::text() ===
+
==== Form::text() ====
 
Crea un campo de tipo input
 
Crea un campo de tipo input
  
Línea 211: Línea 213:
  
  
=== Form::pass() ===
+
==== Form::pass() ====
 
Crea un campo de tipo Password
 
Crea un campo de tipo Password
 
<pre>
 
<pre>
Línea 228: Línea 230:
  
  
=== Form::textarea() ===
+
==== Form::textarea() ====
 
Crea un textarea
 
Crea un textarea
 
<pre>
 
<pre>
Línea 244: Línea 246:
  
  
=== Form::label() ===
+
==== Form::label() ====
 
Crea un label y lo asocia a un campo
 
Crea un label y lo asocia a un campo
 
<pre>
 
<pre>
Línea 261: Línea 263:
  
  
=== Form::hidden() ===
+
==== Form::hidden() ====
 
Crea un campo hidden (campo oculto)
 
Crea un campo hidden (campo oculto)
 
<pre>
 
<pre>
Línea 277: Línea 279:
  
  
=== Form::dbSelect() ===
+
==== Form::dbSelect() ====
 
Crea campo Select que toma los valores de un array de objetos de ActiveRecord
 
Crea campo Select que toma los valores de un array de objetos de ActiveRecord
 
<pre>
 
<pre>
Línea 294: Línea 296:
 
</source>
 
</source>
  
=== Form::select() ===
+
==== Form::select() ====
 
Crea un campo Select (un combobox)
 
Crea un campo Select (un combobox)
 
<pre>
 
<pre>
Línea 311: Línea 313:
  
  
=== Form::file() ===
+
==== Form::file() ====
 
Crea campo File para subir archivos, el formulario se debe abrir con Form::openMultipart()
 
Crea campo File para subir archivos, el formulario se debe abrir con Form::openMultipart()
 
<pre>  
 
<pre>  
Línea 327: Línea 329:
  
  
=== Form::button() ===
+
==== Form::button() ====
 
Crea un botón
 
Crea un botón
 
<pre>
 
<pre>
Línea 341: Línea 343:
  
  
=== Form::submitImage() ===
+
==== Form::submitImage() ====
 
Crea un botón de tipo imagen siguendo las convenciones de kumbiaphp, la imagen devera estar dentro del directorio '/public/img/'
 
Crea un botón de tipo imagen siguendo las convenciones de kumbiaphp, la imagen devera estar dentro del directorio '/public/img/'
 
<pre>
 
<pre>
Línea 355: Línea 357:
  
  
=== Form::submit() ===
+
==== Form::submit() ====
 
Crea un boton de submit para el formulario actual
 
Crea un boton de submit para el formulario actual
 
<pre>
 
<pre>
Línea 369: Línea 371:
  
  
=== Form::reset() ===
+
==== Form::reset() ====
 
Crea un botón reset para el formulario actual
 
Crea un botón reset para el formulario actual
 
<pre>
 
<pre>
Línea 383: Línea 385:
  
  
=== Form::check() ===
+
==== Form::check() ====
 
Crea un checkbox
 
Crea un checkbox
 
<pre>
 
<pre>
Línea 400: Línea 402:
 
</source>
 
</source>
  
=== Form::radio() ===
+
==== Form::radio() ====
 
Crea un radio button
 
Crea un radio button
 
<pre>
 
<pre>

Revisión del 02:29 7 mar 2010

Documentación de KumbiaPHP 1.0 beta2

Helpers

Clase Html

Clase con métodos estáticos con la que podemos crear etiquetas HTML optimizadas respetando las convenciones de KumbiaPHP.


Html::img()

Permite incluir una imagen

$src ruta de la imagen
$alt atruibuto alt para la imagen
$attrs atributos adicionales

img ($src, $alt=NULL, $attrs = NULL)
/*Ejemplo*/
echo Html::img('spin.gif','una imagen'); //se muestra la imagen spin.gif que se encuentra dentro de "/public/img/" 
//con el artibuto alt 'una imagen'


Html::link()

Permite incluir un link

$action ruta a la accion
$text texto a mostrar
$attrs atributos adicionales

link ($action, $text, $attrs = NULL)
/*Ejemplo*/
echo Html::link('pages/show/kumbia/status','Configuracion'); //se muestra un link con el texto 'Configuracion'


Html::lists()

Crea una lista html a partir de un array

$array contenido de la lista
$type por defecto ul, y si no ol
$attrs atributos adicionales 

lists($array, $type = 'ul', $attrs = NULL)
/*Ejemplo*/
$ar = array('Abdomen' => 'Abdomen',
            'Brazos' => 'Brazos',
            'Cabeza' => 'Cabeza',
            'Cuello' => 'Cuello',
            'Genitales' => 'Genitales',
            'Piernas' => 'Piernas',
            'Tórax' => 'Tórax',
            'Otros' => 'Otros');
//$ar el array que contiene los items de la lista
echo Html::lists($ar, $type = 'ol'); //Muestra una lista <ol></ol>


$ar2 = array('Abdomen','Brazos','Cabeza','Cuello','Genitales','Piernas','Tórax','Otros');
echo Html::lists($ar2, $type = 'ol'); //Muestra una lista <ol></ol>


Html::includeCss()

Incluye los archivos CSS que previamente fueron cargados a la lista mediante Tag::css()

Tag::css('bienvenida');    //Pone en lista un CSS (app/public/css/bienvenida.css)
echo Html::includeCss();  //Adiciona los recursos enlazados de la clase en el proyecto


Html::headLink()

Enlaza una acción

me falta info...

Html::headLinkAction()

Enlaza una accion

me falta info...


Html::headLinkResource()

Enlaza un recurso de la aplicacion

me falta info...


Html::includeHeadLinks()

Incluye los links para el head

echo Html::headLink('www.google.com');
echo Html::includeHeadLinks();


Clase Tag

Esta clase nos va a permitir adicionar archivos JS y CSS a nuestro proyecto (como lo hacíamos con las funciones stylesheet_link_tag y javascript_include_tag de la Beta1), bien sean archivos que se encuentren en nuestro servidor o en un servidor externo. Tambien vamos a poder hacer

Las funciones de esta clase son de tipo static lo que nos permite referenciarlas directamente de la forma como se presentan a continuación.

Tag::css()

Incluye un archivo CSS a la lista

Tag::css('bienvenida');    //Pone en lista un CSS (app/public/css/bienvenida.css)
echo Html::includeCss();  //Adiciona los recursos enlazados de la clase en el proyecto

Tag::js()

Incluye un archivo JavaScript a la vista, partial o template

Tag::js('jquery/jquery.kumbiaphp')    //Adiciona un archivo javascript (app/public/javascript/jquery/jquery.kumbiaphp)


Clase Form

Clase para el manejo y la creación de formularios


Form::open()

Crea una etiqueta de formulario

$action acción a  la que envía los datos, por defecto llama la misma acción de donde proviene
$method 'POST', 'GET', 'DELETE', 'HEAD', 'PUT'. Por defecto se tiene en 'POST'
$attrs atributos adicionales

Form::open($action = NULL, $method = 'POST', $attrs = NULL)
/*Ejemplo*/
<?php echo Form::open(); ?>//inicia un formulario que enviara los datos a la acción que corresponde al controller actual
<?php echo Form::open('usuarios/nuevo'); ?> //inicia un formulario que enviara los datos al controller 'usuarios' y la acción 'nuevo'

Form::multipart()

Crea una etiqueta de formulario multipart, este es ideal para formularios que contienen campos de subida de archivos

$action acción a  la que envía los datos, por defecto llama la misma acción de donde proviene
$attrs atributos adicionales

openMultipart ($action = NULL, $attrs = NULL)
/*Ejemplo*/
echo Form::multipart();//inicia un formulario multipart que enviara los datos a la acción que corresponde a la vista actual
echo Form::multipart('usuarios/nuevo');//inicia un formulario multipart que enviara los datos al controller 'usuario' y la acción 'nuevo'


Form::close()

Crea una etiqueta de cierre de formulario

/*Ejemplo*/
echo Form::close();//crea una etiqueta de cierre de formulario </form>


Form::input()

Crea un campo de tipo input

$attrs atributos para el tag
$content contenido interno

input($attrs = NULL, $content = NULL)
/*Ejemplo*/
echo Form::input('nombre');


Form::text()

Crea un campo de tipo input

Siempre que se le da el parmetro name de la forma model.campo, es decir un nombre que contenga un punto dentro del string, se crea el campo de texto con el name= "model[campo]" y el id="model.campo" (en la version 1.0 beta 1 se cambiaba por id="model_campo")

$field Nombre de campo
$attrs atributos de campo
$value valor inicial para el input

text($field, $attrs = NULL, $value = NULL)
/*Ejemplo*/
echo Form::text('nombre'); //crea un campo de tipo texto con el parametro name= "nombre", id = "nombre"
echo Form::text('usuario.nombre'); //crea un campo de tipo texto con el parametro name= "usuario[nombre]", id = "usuario.nombre"
echo Form::text('nombre',"class= 'caja'",'55'); //crea un campo de tipo texto con el parametro name= "nombre", id = "nombre", class= "caja", value = "55"


Form::pass()

Crea un campo de tipo Password

$field nombre de campo
$attrs atributos de campo
$value valor inicial para el campo

pass($field, $attrs = NULL, $value = NULL)
/*Ejemplo*/
echo Form::pass('password'); //crea un campo de tipo password con el parametro name= "password"


Form::textarea()

Crea un textarea

$field nombre de campo
$attrs atributos de campo
$value valor inicial para el textarea

textarea($field, $attrs = NULL, $value = NULL)
echo Form::textarea('detalles'); //Crea un textarea


Form::label()

Crea un label y lo asocia a un campo

$text texto a mostrar
$field campo al que hace referencia
$attrs array de atributos opcionales

label($text, $field, $attrs = NULL)
echo Form::label('nombre de usuario:','nombre'); //Crea un label para el campo nombre con el texto 'nombre de usuario:'
echo Form::text('nombre');


Form::hidden()

Crea un campo hidden (campo oculto)

$field nombre de campo
$attrs atributos adicionales de campo
$value valor inicial para el campo oculto

hidden($field, $attrs = NULL, $value = NULL)
echo Form::hidden('id',null,12); //Crea un campo oculto con el name="id" y el value="12"


Form::dbSelect()

Crea campo Select que toma los valores de un array de objetos de ActiveRecord

$field nombre de campo
$data array de valores para la lista desplegable
$show campo que se mostrara
$blank campo en blanco
$attrs atributos de campo
$value valor inicial para el campo oculto

dbSelect($field, $data, $show, $blank = NULL, $attrs = NULL, $value = NULL)
ejemplo pendiente...

Form::select()

Crea un campo Select (un combobox)

$field nombre de campo
$data array de valores para la lista desplegable
$attrs atributos de campo
$value valor inicial para el campo

select($field, $data, $attrs = NULL, $value = NULL)
$ar2 = array('Abdomen','Brazos','Cabeza','Cuello','Genitales','Piernas','Tórax','Otros');
echo Form::Select('region', $ar2,'Cuello'); //Crea un campo Select (un combobox) con el nombre 'region' y teniendo preseleccionado 'Cuello'


Form::file()

Crea campo File para subir archivos, el formulario se debe abrir con Form::openMultipart()

 
$field nombre de campo
$attrs atributos de campo

file($field, $attrs = NULL)
echo Form::openMultipart(); //Abre el formulario multipart
echo Form::file('subir'); crear el campo para subir archivos
echo Form::close(); //Cierra el formulario


Form::button()

Crea un botón

$text texto del botón
$attrs atributos del botón

button($text, $attrs = NULL)
echo Form::button('calcular'); //Crea un botón con el texto 'calcular'


Form::submitImage()

Crea un botón de tipo imagen siguendo las convenciones de kumbiaphp, la imagen devera estar dentro del directorio '/public/img/'

$img ruta de la imagen que usa el botón
$attrs atributos del botón

submitImage($img, $attrs = NULL)
echo Form::submitImage('botones/edit.gif'); //Crea un botón con la imagen 'botones/edit.gif'


Form::submit()

Crea un boton de submit para el formulario actual

$text texto del botón
$attrs atributos del botón

submit($text, $attrs = NULL)
echo Form::submit('enviar'); //Crea un botón con el texto 'enviar'


Form::reset()

Crea un botón reset para el formulario actual

$text texto del botón
$attrs atributos del botón

reset($text, $attrs = NULL)
echo Form::reset('reiniciar'); //Crea un botón con el texto 'reiniciar'


Form::check()

Crea un checkbox

$field nombre de campo
$value valor en el checkbox
$attrs atributos de campo
$checked indica si se marca el campo

check($field, $value, $attrs = NULL, $checked = NULL)
     echo Form::check('recuerdame','1','',true); // Crea un check seleccionado con id="recuerdame" , name="recuerdame" y value="1" 
     echo Form::check('recuerdame','1','',false); // Crea un check NO seleccionado con id="recuerdame" , name="recuerdame" y value="1"

Form::radio()

Crea un radio button

$field nombre de campo
$value valor en el radio
$attrs atributos de campo
$checked indica si se marca el campo

radio($field, $value, $attrs = NULL, $checked = NULL)
ejemplo pendiente..


Migrando de 1.0 Beta 1 a 1.0 Beta 2

La versión 1.0 beta2 trae consigo correcciones y mejoras, nuevos helpers, clases y extensiones que facilitaran aun mas el trabajo.

Para realizar la migración de la versión 1.0beta1 a la versión 1.0beta2 solamente hay que tener presentes los cambios que se han realizado en cuanto a funcionamiento, la inclusión de nuevos helpers para las vistas y controllers.

Recordemos que todo lo que se incluye es con el fin de facilitar la curva de aprendizaje, la forma de trabajo y de poseer un framework con una semántica mucho mayor, claro esta que sigue sin perder su cualidades mvc y de scaffolding

Autoload libs (new)

En la versión 1.0 beta 2 las librerías se cargan automáticamente, siempre y cuando se encuentren en el directorio correspondiente “app/libs”, de igual modo se cargan las extensiones automáticamente “extensions/” y los helpers “helpers/”. Por esta razón el archivo “/config/boot.ini” ya no se usa en la versión 1.0 beta2

¿Que debo cambiar?

Si se tiene una APP con la versión 1.0 beta1, solamente debe eliminar (ya que no sera necesario) el archivo “/config/boot.ini” la carga de librerías que se realizaba mediante load::lib(); ya no es necesaria, así que estas también se pueden borrar. En resumen: eliminar todas las cargas de librerías que se hagan mediante load::lib(); y boot.ini

Como se usa

Como verán se omite la carga de librerías y se crea directamente el objeto

Versión 1.0 beta 1

Load::lib('util');
$var = new util();

Versión 1.0 beta 2

$var = new util();


Controller principal cambio de nombre

Dentro de los cambios que encontraremos en las versiones beta 1 y beta 2 estar el cambio de nombre del archivo application.php por application_controller.php el cual mantendrá la funcionalidad, solo cambia el nombre del archivo que sigue siendo el controller principal

¿porque se cambio? simple, es un controller y al igual que los demás debe llevar el sufijo _controller que identifica los controladores de kumbiaphp


Nuevo árbol de directorios

Anteriormente los partials, templates y errors se almacenaban en 'app/views/' a pesar de que no eran vistas, debido a eso se creo el directorio '_shared' y se movió todo lo que no son vistas allí.

_shared es el directorio 'app/views/_shared' que ahora almacena partials, templates y errors

Así que en nuestra migración debemos mover los archivos correspondientes a dichos directorios Ejemplo: 'app/views/partials/menu.phtml' pasara al directorio 'app/views/_shared/partials/menu.phtml' (pueden ver el ejemplo básico dentro de su app con el partial footer.phtml que se encuentra en dicho directorio)



Por supuesto... aun falta a esta documentación, por el momento les recomiendo que revisen el CRUD de la versión 1.0 beta 2 allí podrán ver otros cambios, estos se documentaran muy pronto CRUD Beta2 KumbiaPHP


--Onizukar 16:16 05 mar 2010 (UTC) --Ingjuanfelipe 20:38 21 feb 2010 (UTC)