Master en PHP: Aprender PHP, SQL, POO, MVC, Laravel, Symfony 4, WordPress y más
¡Entra al master completo pinchando aquí! Acabo de publicar el Máster en PHP, en el que aprenderemos todo lo necesario para dominar el lenguaje de programación del lado del servidor(backend) más popular en la actualidad y todas las tecnologías a su alrededor con más futuro y demanda laboral. Este no es un curso cualquiera, estás ante un máster completo en el que aprenderemos: Programación desde cero y paso a paso, sin necesidad...
Subir ficheros en Yii Framework
Veamos como subir ficheros en Yii framework. El controlador: public function actionIndex(){ $form=new UsuariosForm(); if(isset($_FILES["UsuariosForm"])){ //Instanciamos el subidor para el campo fichero del formulario $file=CUploadedFile::getInstance($form,"fichero"); //Nombre del fichero $name=time()."-".$file->getName(); //$file->getExtensionName() //Permitimos tres tipos de fichero if($file->getExtensionName()=="png" || $file->getExtensionName()=="pdf" || $file->getExtensionName()=="zip"){ //Guardamos el fichero $file->saveAs(Yii::getPathOfAlias("webroot")."/uploads/".$name); }else{ //Crear mensaje flash Yii::app()->user->setFlash('mensaje','Solo ficheros png, pdf o zip'); //Refrescamos pantalla $this->refresh(); } } $this->render('index',array( "form"=>$form )); } La vista: <h1>Subir ficheros con Yii</h1>...
Paginación en Yii Framework
Vamos a ver como paginar registros con Yii esta es una herramienta muy importante dentro de un Framework. La paginación en Yii puede hacerse de dos formas, que veremos a continuación. Paginación con CdbCriteria De esta forma se nos obliga a utilizar Active Record y sus métodos find para hacer las consultas, para hacer paginaciones de forma rápida y de una sola tabla seria una buena opción. El controlador:...
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...
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...
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")) ?>...
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-->...
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...
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...
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...
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...
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:...