CRUD con Yii Framework
Oct04

CRUD con Yii Framework

Vamos a ver como hacer un CRUD con Yii Framework (Create,Read,Update,Delete) de una tabla de la BD pruebas llamada usuarios con las columnas id,email,password,nombre,apellido. El formulario: <?php class UsuariosForm extends CFormModel{ //Campos que tendrá el formulario public $nombre; public $apellido; public $password; public $email; //Reglas de validación public function rules(){ return array( //Estos campos serán obligatorios array('nombre, email, password,apellido', 'required', "message"=>"Este campo es obligatorio"), //Validando el nombre con una...

Leer más
Validar datos fuera de formularios en Yii
Oct04

Validar datos fuera de formularios en Yii

Esta forma de validar es muy similar a como lo hace Codeigniter, es muy sencilla, y puede ser muy útil cuando los formularios por cualquier cuestión han sido creados manualmente o nos interesa validar algún dato aislado. Tenemos en una vista un formulario creado “a mano”: <form action="" method="post"> Email: <input type="email" name="email" value=""/> <input type="submit" name="enviar" value="Enviar"/> </form> Y validamos los datos en el controlador creando el objeto...

Leer más
Crear el formulario solo con validación en el servidor en Yii
Sep27

Crear el formulario solo con validación en el servidor en Yii

Utilizamos el modelo visto anteriormente. La vista usuarios: <h1>Formularios en Yii Framework</h1> <div class="form col-lg-10"> <?php $model=$formulario; //Formulario con validación en backend echo CHtml::beginForm(); ?> <?php //echo CHtml::errorSummary($model); ?> <div class="row"> <?php echo CHtml::activeLabel($model,'nombre'); ?> <?php echo CHtml::activeTextField($model,'nombre',array("class"=>"form-control")) ?> <?php echo CHtml::error($model,'nombre'); ?> </div> <div class="row"> <?php echo CHtml::activeLabel($model,'apellido'); ?> <?php echo CHtml::activeTextField($model,'apellido',array("class"=>"form-control")) ?> <?php echo CHtml::error($model,'apellido'); ?> </div> <div class="row"> <?php echo CHtml::activeLabel($model,'email'); ?> <?php echo CHtml::activeEmailField($model,'email',array("class"=>"form-control")) ?>...

Leer más
Crear el formulario con validación en el cliente y servidor en Yii
Sep27

Crear el formulario con validación en el cliente y servidor en Yii

Utilizamos el modelo del tutorial anterior. Hay que añadir esta hoja de estilos a la plantilla que utilizamos: <!--Validación formularios front-end--> <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" /> La vista usuarios: <h1>Formularios en Yii Framework</h1> <div class="form col-lg-10"> <?php //Formulario con validación en frontend y backend $model=$formulario; $form=$this->beginWidget('CActiveForm',array( "method"=>"POST", "action"=>"", "enableClientValidation"=>true, "clientOptions"=>array( "validateOnSubmit"=>true, "validateOnChange"=>true, "validateOnType"=>true ) )); ?> <!--Este metodo imprime un resumen de los errores del formulario-->...

Leer más
Crear modelo de formulario en Yii
Sep27

Crear modelo de formulario en Yii

Los formularios en Yii se definen en un modelo de formulario, en el que indicamos los campos del formulario y las reglas de validación de este, posteriormente en la vista imprimimos el formulario. Esto esta muy bien ya que de forma automática nos valida y nos repobla los formularios sin mucho esfuerzo. Lo que diferencia a Yii de otros frameworks en este sentido no es que su componente de...

Leer más
Modelos en Yii Framework
Sep20

Modelos en Yii Framework

Hay dos tipos de modelos en Yii Framework, los modelos de interacción con la base de datos y los modelos de formulario. Vamos a ver el primer tipo de modelo. Lo ideal como en todos los frameworks es utilizar de forma estricta el ORM que estos incluyen, en el caso de Yii Active Record, de forma que cada modelo que creamos represente a una tabla de la base de...

Leer más
Conexión a la base de datos en Yii
Sep13

Conexión a la base de datos en Yii

Para configurar la conexión a la base de datos en Yii Framework, tenemos que definir un array en el fichero de configuración principal de la aplicación. Yii nos da la posibilidad de conectarnos a diferentes tipos de sgbd, para ello incluye drivers para MySQL, SQLite y PostgreSQL. Estos son los diferentes strings de conexión: SQLite: sqlite:/path/to/dbfile MySQL: mysql:host=localhost;dbname=testdb PostgreSQL: pgsql:host=localhost;port=5432;dbname=testdb Ejemplo de conexión a la base de...

Leer más
Conseguir información del cliente con ChttpRequest en Yii
Sep13

Conseguir información del cliente con ChttpRequest en Yii

Esto no es más que una serie de métodos que trabajan con variables superglobales especialmente con $_SERVER. Veamos un ejemplo de su uso en una vista. <h1>CHttpRequest $_SERVER en Yii</h1> <ul class="list-group"> <li class="list-group-item"><?php echo Yii::app()->request->baseUrl //URL base ?></li> <li class="list-group-item"><?php echo Yii::app()->request->requestUri //URL solicitada?></li> <li class="list-group-item"><?php echo Yii::app()->request->pathInfo //Acción en la que estamos?></li> <li class="list-group-item"><?php echo Yii::app()->request->urlReferrer //De donde vengo?></li> <li class="list-group-item"><?php echo Yii::app()->request->userAgent //Navegador y sistema del...

Leer más
Redireccionar en Yii
Sep05

Redireccionar en Yii

Vamos a ver las diferentes opciones que tenemos para redireccionar en Yii. Las redirecciones forman parte del componente controller. En cualquier controlador por un lado podemos redireccionar: $this->redirect(Yii::app()->request->baseUrl."/holamundo"); O bien refrescar:...

Leer más
Crear helpers en Yii
Sep05

Crear helpers en Yii

Veamos como crear helpers en Yii. Lo recomendable es crear el fichero protected/components/helpers.php y ahí crear todas las funciones helper que necesitemos. El siguiente paso será incluir este archivo de helpers en el fichero de principal de configuración justo antes del array de configuración, de esta forma: //Cargar helpers require_once( dirname(__FILE__) . ‘/../components/helpers.php’); Ejemplo: <?php // protected/components/helpers.php // Aqui van los helpers //Comprobar que no existe la función if(!function_exists("imprimirTiempo")){...

Leer más
Utilizar helpers predefinidos en Yii
Ago30

Utilizar helpers predefinidos en Yii

Tenemos muchos helpers con el componente Chtml, los cuales nos generan codigo html. Por ejemplo podemos crear un enlace de esta forma: <?php echo Chtml::link("parámetros",Yii::app()->request->baseUrl. "holamundo/gotham/7/helpers/html", array("title"=>"","id"=>"Gotham City","class"=>"link")) ?> Personalmente este tipo de helpers me parecen un poco absurdos ya que html no es nada complejo ni difícil de recordar. Más información:...

Leer más
Lanzar excepción 404 en Yii
Ago30

Lanzar excepción 404 en Yii

Al igual que en otros framework, en Yii podemos lanzar excepciones con la siguiente orden en cualquier método action de cualquier controlador. throw new CHttpException(404,"No...

Leer más