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:...
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")){...
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:...
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...
Plantillas en Yii Framework
Las plantillas en Yii Framework así como en otros frameworks, nos permiten definir una pagina maestra, común a todas las páginas, que tenga elementos que necesitan todas las paginas por ejemplo un encabezado, los ficheros css y js, el pie de página, etc. En ella se “imprimen” las vistas de nuestra aplicación. Las plantillas se crean en el directorio protected/views/layouts/ La plantilla por defecto utilizada por Yii está definida...
Controladores y vistas en Yii
Como en todos los frameworks para PHP Yii sigue la arquitectura MVC, por eso ahora veremos como crear controladores y vistas. Los controladores se crean en el directorio protected/controllers y el nombre de cada controlador debe ser CualquierCosaController.php y la clase que contenga debe llamarse igual que el fichero. Yo he creado el controlador HolaMundo: protected/controllers/HolaMundoController.php <?php //Controlador class HolaMundoController extends Controller{ //Método action public function actionIndex(){ $hola="Hola mundo...
URLs amigables en Yii Framework
Por defecto en Yii las url no son amigables ya que muestran algunos parámetros y ficheros que no son atractivos en la url de un proyecto, vamos a hacer que las rutas sean amigables. Tenemos que tener el mod_rewrite de Apache activado y también debemos tener en true el allowoverride. Ahora vamos al fichero yiiapp/protected/config/main.php (fichero de configuración principal de Yii dentro del directorio protected al cual no se...
Instalar Yii Framework en Wamp
Para instalar Yii Framework en Wamp descargamos el Framework de su web http://www.yiiframework.com/doc/guide/1.1/es/quickstart.installation. Descomprimimos el paquete en la carpeta del servidor web C:/wamp/www le cambiamos el nombre para que se llame yii. Accedemos a http://localhost/yii/require-ments/index.php para comprobar que cumplimos los requerimientos principales, si nos falla algo tendríamos que instalar o activara alguna extensión de PHP o Apache. Añadimos una nueva variable de entorno al path, para poder usar php...
Instalar Yii Framework en Lamp
Para instalar Yii Framework en Lamp descargamos el Framework de su web http://www.yiiframework.com/doc/guide/1.1/es/quickstart.installation. Descomprimimos el paquete en la carpeta del servidor web /var/www le cambiamos el nombre para que se llame yii, con los siguientes comandos. Accedemos a http://localhost/yii/require-ments/index.php para comprobar que cumplimos los requerimientos principales, si nos falla algo tendríamos que instalar o activara alguna extensión de PHP o Apache. Creamos un proyecto desde la consola: Y nos...
Crear plugins para controladores en Zend Framework 2
Los plugins nos van a permitir tener pequeñas clases para tareas específicas que podamos reutilizar fácilmente. Vamos a ver como crear plugins para controladores en Zend Framework 2 de forma muy sencilla. Crearemos dentro del directorio Controller de nuestro módulo, un directorio llamado Plugin. En meteremos los plugins. Por ejemplo, voy a crear un plugin que imprima hace cuanto tiempo fue una fecha. Modulo/src/Controller/Plugin/HaceCuantoPlugin.php <?php namespace Modulo\Controller\Plugin; use Zend\Mvc\Controller\Plugin\AbstractPlugin;...