Yii – Yes, it is
Un framework es un conjunto de código, librerías y componentes de software probados, optimizados para facilitar y agilizar el desarrollo de aplicaciones, basado en las mejores prácticas de desarrollo, que permitirán trabajar de forma uniforme, organizada y con la mayor cálidad posible. Normalmente cuentan con documentación, una comunidad organizada que constantemente esta trabajando y luchando por su constante desarrollo y mantenimiento. Los frameworks tienen la intención de enfocar el trabajo de programación a las áreas que realmente agregaran un valor al negocio y que supondrán la esencia de la aplicación que se construirá, por ello intenta restarle trabajo a los programadores en áreas mas triviales a estas alturas como la validación de campos, operaciones de consultar, insertar, modificar y eliminar por decir algunos ejemplos.
Yii es un framework de desarrollo de alto rendimiento, muy flexible y versátil, escrito en PHP5 para el desarrollo rápido de aplicaciones web. Yii es software libre liberado bajo una licencia BSD, y tiene la concepción de hacer las cosas de manera sencilla, elegante y rápidas, ayudando con esto a construir aplicaciones eficientes, que fácilmente pueden ser mantenidas y escaladas.
Yii le presenta al programador un código fuente limpio, sencillo y entendible que roza con lo intuitivo de como que hace cada trozo de código y que significa cada elemento.
Yii es una opción idónea para desarrollos de sistemas pequeños hasta para desarrollos de grandes aplicaciones que necesiten garantizar la disponibilidad de la misma.
Yii es un acrónimo de Yes, it is! proveniente de la respuesta que el proyecto Yii le da a los que por primera vez se plantean si adoptar su uso:
Is it fast? … Is it secure? … Is it professional? … Is it right for my next project? … Yes, it is!
¿Es rápido? … ¿Es seguro? … ¿Es profesional? … ¿Es lo que necesito para mi próximo proyecto? … Sí, lo es!
Algunos otros frameworks existentes:
– Symfony (PHP) – symfony.com
– CakePHP (PHP) – cakephp.org
– CodeIgniter (PHP) – codeigniter.com
– Ruby on Rails (Ruby) – rubyonrails.org
– Catalyst (Perl) – catalystframework.org
– Django (Python) – djangoproject.com
–
Por que escoger Yii
Yii es un framework genérico de programación Web que puede ser utilizado para todo tipo de aplicaciones Web. Gracias a que es liviano de correr y está equipado con soluciones de cacheo sofisticadas, es adecuado desde para desarrollar aplicaciones de gran tráfico como portales, foros, CMS, e-commerce, etc… Hasta para desarrollar aplicaciones de mayor complejidad que necesiten interconexión y interoperabilidad de sistemas, bases de datos, webservices, etc…
– Rápido
Yii sólo carga las características que usted necesita. Tiene excelente y poderoso soporte de caché. Esta explícitamente diseñado para trabajar eficientemente con AJAX.
Yii es mucho más rápido, ya que utiliza la técnica de carga diferida ampliamente, es decir se carga, interpreta o procesa contra demanda únicamente lo que se solicita, Por ejemplo, no se incluye un archivo de clase hasta que la clase se utiliza por primera vez, y no se crea un objeto hasta que el objeto se accede por primera vez. Otros frameworks sufren mucho el impacto del rendimiento, ya que permiten una funcionalidad (por ejemplo, conexión DB, sesión de usuario, etc…) independientemente de que se usen o no durante una petición.
– Seguro
La seguridad es un estándar en Yii. Éste incluye la validación de entradas, filtrado de salidas, prevención de inyección SQL y Cross-site scripting.
Yii está equipado con medidas de seguridad para ayudar a proteger sus aplicaciones web de ataques como inyección SQL, cross-site scripting (XSS), cross-site request forgery (CSRF), y de manipulación de cookies (Cookie Tampering).
– Profesional
Yii le ayuda a desarrollar un código limpio y reutilizable. Sigue el patrón MVC, lo que garantiza una clara separación de la lógica del negocio y la presentación. Fomenta la sinergia en equipos de desarrollo y promueve activamente métodos ágiles de trabajo que son ideales para combinar con metodologías como SCRUM o XP
–
Yii es simple, sencillo y humilde. Ha adoptado ideas y mejores prácticas de otros frameworks, siempre enfocado al principio KISS.
Yii posee una curva de aprendizaje menos empinada que otros framework de desarrollo como Symfony o CakePHP, en los cuales hay que tener sólidos conocimientos de programación orientada a objetos, experiencia en linea de comandos, uso obligatorio formatos como YAML, etc… Al Yii no adoptar dependencia a tantas habilidades técnicas para su funcionamiento y embeber directamente elementos que la mayoría necesitara como jQuery y acceso a base de datos, facilita enormemente que mayor cantidad de personas puedan sumarse a su uso y desarrollo.
Yii permite la puesta en marcha rápida de una aplicación, ya que no tiene mayores requerimientos de software y dependencias para su funcionamiento. Solo necesita un servidor web como apache, nginx ó cualquier otro con soporte a php5. No requiere de cosas como Pear ó conectar el framework a un canal de software como era el caso de Symfony. Tampoco necesitara cambios ni directivas adicionales en el PHP.ini ó en la configuración de su servidor web. Todo funcionara a la primera, pero luego queda de usted adecuar su instalación y entorno.
–
Características
Patrón MVC, Modelo – Vista – Controlador: El árbol de directorios de Yii diferencia claramente donde ubicar Modelos, Vistas y Controladores, así como facilita en gran medida la interacción entre ellos.
Generación de Código, CRUD, Validaciones: Generación automática de código para el esqueleto de la aplicación, generación de módulos que cuentan con formularios que realizan select, insert, update y delete a tablas de base de datos, con elementos comunes a todo sistema web como paginación,búsquedas, menús, etc… Yii entiende la descripción de la tabla que se le indique en una base de datos y crea código que valida según cada campo de dicha tabla, es así como un campo Not Null en la base de datos sera un campo requerido en el sistema, un campo numérico no dejara al sistema enviar valores que no sean numéricos a la base de datos, un campo de texto de 100 caracteres solo permitirá en el campo de la interfaz web colocar 100 caracteres y así sucesivamente…
Poderoso soporte a Bases de Datos: Yii provee tres mecanismos para interactuar con bases de datos:
Database Access Objects (DAO): Construído sobre la extensión PHP Data Objects (PDO), los Objetos de Acceso a Datos de Yii (DAO) habilitan el acceso a diferentes sistemas de administración de bases de datos (DBMS) en una interfaz uniforme simple. Las aplicaciones desarrolladas usando el DAO de Yii pueden ser fácilmente cambiadas para usar un DBMS diferente sin la necesidad de modificar el código de acceso a los datos. Ver Documentación Oficial
Active Record: Los Registros Activos de Yii (AR), implementados con un enfoque ampliamente adoptado de Mapeo Objeto-Relacional, simplifican aún más la programación con bases de datos. Representado una tabla en términos de una clase y una fila como una instacia de esa clase, los AR de Yii eliminan la tarea repetitiva de escribir aquellas sentencias SQL que tratan principalmente con las operaciones CRUD (create, read, update y delete). Ver Documentación Oficial – Ver Documentación Oficial Active Record Relaciones
Query Builder: Permite a programadores usar métodos de una clase y propiedades para especificar partes individuales de una sentencia SQL. Ver Documentación Oficial (Ingles)
DB Migration: Yii proporciona una herramienta de migración de base de datos que puede realizar seguimiento de la historia de una migración de base de datos, aplicar nuevas migraciones, o revertir existentes. Ver Documentación Oficial (Ingles)
Adicionalmente a todo esto usted puede usar la librería de acceso a bases de datos que mas le agrade como pudiera ser adodb para php.
Full Soporte Ajax, jQuery integrado: Los desarrolladores de Yii entienden que las aplicaciones web necesitan usar ajax, por ello jQuery es integrado en Yii y no hace falta hacer nada al respecto para lograrlo. Yii viene con un conjunto de widgets AJAX, tales como autocompletado en campos de entrada, árbol (treeview), red de datos (datagrid), que permiten escribir, de forma extremadamente simple interfaces de usuarios altamente eficientes y versátiles.
Autenticación y Autorización: Yii tiene incorporado mecanismos de autenticación y autorización muy completos que permiten la adecuación para necesidades especiales. También es compatible con autorización a través del control de acceso basado en roles.Yii autentica por defecto de manera rápida y sencilla contra usuarios en un archivo php (sistemayii/protected/components/UserIdentity.php) donde se pueden agregar los necesarios, también claro esta contra una base de datos, un LDAP, etc.. Ver entrada sobre autenticación
Gestión de errores y logging: La gestión de errores y de log de la aplicación sencillos, vienen por defecto y son altamente configurables. El log se genera por defecto en sistemayii/protected/runtime/application.log y puede indicarse que se guarde en una base de datos o se envié por correo por ejemplo.
Urls Amigables: Yii por defecto permite el uso de urls amigables ejemplo: http://leninmhs.wordpress.com/2011/10/18/v-jornastec-taller-yii-framework/ que nos ayuda a entender de que se trata la dirección sin haber entrado en ella y le gusta mucho mas a google para indexar nuestros contenidos.
Seguridad, Prevención de ataques comunes: Yii está equipado con medidas de seguridad para ayudar a prevenir a las aplicaciones web hechas en yii de ataques como inyección SQL, cross-site scripting (XSS), cross-site request forgery (CSRF), y de manipulación de cookies.
Sistema de Cache: Yii soporta el almacenamiento en caché de datos, páginas caché, caché de fragmentos y contenido dinámico. El medio de almacenamiento de la memoria caché se puede cambiar fácilmente sin tocar el código de la aplicación.
Soporte a Código de Terceros y Extensiones: Yii ha sido cuidadosamente diseñado para trabajar bien con código de terceros. Por ejemplo, puede usar el código de PEAR o cualquier otro framework como Zend , Symfony o WordPress en su aplicación Yii. De igual forma Yii proporciona una biblioteca de extensiones que consisten en componentes, plugines y funcionalidades aportados por los usuarios de Yii. Esto hace que la lista de características y funcionalidades de Yii sean interminables.
Soporte de Temas y Skins: Yii implementa un mecanismo de aplicación de Temas y Skins que le permite cambiar rápidamente el diseño de un sitio web escrito en Yii.
Internacionalización (I18N) y Localización (L10N): Yii soporta traducción de mensajes, formatos de fecha y hora, formatos de números y la localización de interfaz de usuario. Lo cual ayudara mucho si necesita un sistema que haga uso de varios idiomas.
Soporte de Pruebas Funcionales y Unitarias: Yii provee excelente soporte para escribir y ejecutar pruebas unitarias y pruebas de funcionales, basadas en PHPUnit y Selenium respectivamente.
Documentación Detallada: Cada método, propiedad o funcionalidad de Yii está claramente documentada. Libros como: «Web Application Development with Yii and PHP» (2012), «Yii 1.1 Application Development Cookbook» (2011) y «Yii Rapid Application Development Hotshot» (2012), entre otros se pueden comprar o conseguir en internet, así como también están disponibles completos tutoriales para aprender sistemáticamente Yii. Cada vez son mas los usuarios de Yii que se dan la tarea de escribir, divulgar y evangelizar sobre Yii como es mi caso.
Extensiones
Yii realiza un buen trabajo con las extensiones o lo que es lo mismo el uso de librerías de terceros y la creación de código fuente que permita crear funcionalidades ó extender las existentes.
A la fecha de esta entrada existen 1196 extensiones, día a día este numero incrementa y cada una de las extensiones existentes van evolucionando, se corrigen fallos que la comunidad detecta y se le agregan mejoras a cada una de ellas. Las extensiones disponibles las encuentran aquí -> http://www.yiiframework.com/extensions/
Básicamente las extensiones están categorizadas en: Autenticación, Cáche, Consola, Base de Datos, Fecha y Tiempo, Manejo de Errores, Sistema de Archivos, Bitacoras, Mail, Redes, Seguridad, Interfaz de Usuario, Validación, Web Service, Otras…
En caso de no existir lo que busca, la mayoría de librerías de un tercero se pueden usar en yii asi:
1 – Colocar en el directorio extensions ubicado dentro de protected
2 – Llamarla desde la aplicación así:
Yii::createComponent(‘application.extensions.tulibreria’);
–
Yii – Elegante y Atractivo
Yii por defecto cuenta con un estilo visual muy atractivo en comparación con otros frameworks o generadores. Sin embargo hacer que su sistema tenga un mejor aspecto y lograr mayor impacto visual es relativamente fácil. Solo con tener conocimiento de HTML y CSS puede ponerse a trabajar en ello, recuerde que Yii es MVC y si existe una programación acorde no se debería tropezar con consultas SQL ni programación con lógica del negocio en los archivos de las vistas que son las que desplegaran las interfaces de usuario. Recuerde también que Yii le permite sin requisitos previos usar widgets (pestañas, acordeón, calendario, tooltips, etc…) del proyecto jQueryUI el cual cuenta con finas interfaces, las cuales puede refinar y ajustar mucho mas a sus requerimientos en la sección de themes del proyecto http://jqueryui.com/themeroller/.
Si todo esto aun le parece mucho trabajo podrá buscar en la categoría de interfaces de usuarios de las extensiones de Yii en su pagina oficial y encontrara muchos elementos relacionados a interfaces de usuarios.
Adicionalmente Yii provee un mecanismo de gestión de temas muy bueno que permite cambiar el diseño de un sistema de forma rápida y practica. Si usted quiere cambiar el tema por defecto deberá colocar su tema en el directorio sistemayii/themes y agregar en sistemayii/protected/config/main.php esta linea ‘theme’ => ‘sutema’,
Existe un buen directorio de temas públicos y gratuitos para Yii donde encontraran desde diseños enfocados a paginas web corporativas hasta interfaces orientadas a cuadros de mandos y sistemas complejos, muchos con las tendencias actuales como diseño responsive y alta configuración de los mismos. De modo que tener un diseño profesional orientado a su necesidad puede ser cuestión de segundos. http://yii.themefactory.net/
–
Yii vs El Mundo
RPS significa «solicitudes por segundo», o lo que es lo mismo la cantidad de peticiones que el framework puede procesar por segundos, cuanto mayor sea el número más eficiente será el framework. La ventaja en el rendimiento de Yii es especialmente significativa cuando se usa con el acelerador de PHP APC (Alternative PHP Cache). Yii, cuenta con un conjunto de características que mejoran considerablemente su eficiencia como la gestión de cáche, carga de componentes contra demanda, etc…
Esta comparación debe haber sido realizado aproximadamente en 2010. Fuente y mas información: http://www.yiiframework.com/performance/
–
Aplicaciones Desarrolladas en Yii
Herramienta web de gestión de bases de datos MySQL, con rápidas y bien elaboradas interfaces de usuario, excelente despliegue de ajax y muy cuidada interfaz de usuario, excelente competencia para phpMyAdmin. Liberada como software libre. www.chive-project.com
–
«Básicamente contiene todo lo que necesitas para elaborar cualquier encuesta posible». LimeSurvey permite a los usuarios crear de forma rápida, potente e intuitiva, encuestas on-line en las que pueden participar decenas de miles de participantes sin mucho esfuerzo, funcionando como auto-guía para los encuestados que participan en las encuestas. www.limesurvey.org
Conocer mas sistemas desarrollados en YII:
http://www.yiiframework.com/forum/index.php?/forum/14-yii-powered-applications/
–
Instalar Yii
Yii necesita para funcionar PHP5, un servidor web y normalmente una base de datos. Para saber si su instalación cumple con los requerimientos y tener información mas detallada use el url: http://localhost/yii/requirements/index.php
En nuestro caso usaremos Yii con PostgreSQL en Apache. Todo lo que necesitamos en Debian GNU/Linux lo conseguimos asi:
aptitude install apache2 php5 php5-cli postgresql-9.1 php5-pgsql
El php5-cli es para el uso por lineas de comando de php, lo cual usaremos para generar el esqueleto de la aplicación.
1 – Desde yiiframework.com Descargar y Descomprimir en su document root. Preferiblemente renombrar el directorio a yii.
2 – En un terminal ubicarse en el directorio «framework» dentro del directorio «yii»
$cd www/yii/framework/
$yiic webapp ../../nombresistema
ó
$php yiic.php webapp ../../nombresistema
3- Visitar en el navegador la ruta al esqueleto de aplicación que acabamos de generar: http://localhost/sistemayii
A este punto tenemos una aplicación web funcional, con sistema de autenticación, formulario de contacto, menús, etc…
Si es todo lo que necesitamos para comenzar con Yii, simple verdad, como Yii
–
Configurar Yii
En: sistemayii/protected/config/main.php
Indicar la cadena de conexión a su manejador de base de datos, en este ejemplo usamos PostgreSQL.
Descomentamos y escribimos los datos de conexión
‘db’ => array (
‘connectionString’ => ‘pgsql:host=localhost;dbname=nombrebd’,
‘emulatePrepare’ => true,
‘username’ => ‘postgres’,
‘password’ => ‘clave’,
‘charset’ => ‘utf8’,
),
Descomentar el modulo gii para habilitar la generación de sus futuros módulos. Debe colocar una contraseña
‘gii’ => array(
‘class’ => ‘system.gii.GiiModule’,
‘password’ => ‘cl4v3s3cr3t4’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’ => array(‘127.0.0.1′,’::1′),
),
Agregar al final del archivo:
‘language’=>‘es’,
‘sourceLanguage’=>‘en’,
‘defaultController’=>‘tu_modulo/admin’,
Luego ir al URL-> http://localhost/sistemayii/index.php?r=gii
Generating code using template "/home/lenin/www/yii/framework/gii/generators/model/templates/default"...
generating models/Usuario.php
Unable to write the file '/home/lenin/www/lenin/protected/models/Usuario.php'.
done!
ó
Generating code using template "/home/lenin/www/yii/framework/gii/generators/crud/templates/default"... generating controllers/UsuarioController.php Unable to write the file '/home/lenin/www/lenin/protected/controllers/UsuarioController.php'. generating views/usuario/_form.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/_search.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/_view.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/admin.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/create.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/index.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/update.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. generating views/usuario/view.php Unable to create the directory '/home/lenin/www/lenin/protected/views/usuario'. done!
Entonces aplique permisología a los directorios: protected/models protected/controllers protected/views
Hasta este punto ya usted tendrá todos los elementos para la generación de módulos. La siguiente imagen es un referencia rápida sobre como crear módulos en Yii. Recuerde que para acceder al generador Gii el url es -> http://localhost/sistemayii/index.php?r=gii
–
Interfaz Yii
–
Directorios Yii
root@i5:/home/lenin/www# tree sistemayii
sistemayii
├── assets <- Cáche que genera Yii de elementos públicos como html, js, css…
├── css <- Directorio donde colocar archivos css
├── images <- Directorio para colocar imágenes, iconos, etc…
├── index.php <- Ruta al framework Yii, archivo de configuración de la app, log y debug
├── index-test.php <- Entrada alternativa al sistema, generalmente para modo debug y testing
├── protected <- Contenedor del código fuente de tu app, donde ocurre toda la accion de yii
│ ├── commands <- Se pueden personalizar comandos de yiic
│ │ └── shell <- Se pueden personalizar comandos de yiic por linea de comandos
│ ├── components
│ │ ├── Controller.php
│ │ └── UserIdentity.php <- Aquí se indican usuarios y contraseñas por defecto
│ ├── config
│ │ ├── console.php
│ │ ├── main.php <- Archivo de configuración de la app, valores generales son indicados aquí
│ │ └── test.php
│ ├── controllers <- Directorio donde están los controladores
│ │ ├── SiteController.php
│ │ └── UsuarioController.php
│ ├── data <- Tiene bds de ejemplo
│ │ ├── schema.mysql.sql
│ │ ├── schema.sqlite.sql
│ │ └── testdrive.db <- Base de datos sqlite de ejemplo
│ ├── extensions <- Aquí se colocan extensiones y librerías de terceros
│ ├── messages <- Aquí se colocaran traducciones a otros idiomas de mensajes y textos
│ ├── migrations
│ ├── models <- Directorio donde están los modelos
│ │ ├── ContactForm.php
│ │ ├── LoginForm.php
│ │ └── Usuario.php
│ ├── runtime
│ │ ├── application.log <- Log de la aplicación
│ │ └── gii-1.1.13
│ │ ├── CrudCode.php
│ │ └── ModelCode.php
│ ├── tests <- Directorio donde se ubican los test funcionales y unitarios
│ │ ├── bootstrap.php
│ │ ├── fixtures
│ │ ├── functional
│ │ │ └── SiteTest.php
│ │ ├── phpunit.xml
│ │ ├── report
│ │ ├── unit
│ │ └── WebTestCase.php
│ ├── views <- Directorio donde están las vistas
│ │ ├── layouts
│ │ │ ├── column1.php
│ │ │ ├── column2.php
│ │ │ └── main.php <- Layout o maquetación principal de la app
│ │ ├── site
│ │ │ ├── contact.php <- Vista del formulario de contacto incluye captcha
│ │ │ ├── error.php <- Vista de la acción error
│ │ │ ├── index.php <- Vista de la pagina de inicio que muestra bienvenida y enlaces
│ │ │ ├── login.php <- Vista del formulario de login
│ │ │ └── pages <- Directorio para vistas estáticas
│ │ │ └── about.php <- Vista de pagina estática about
│ │ └── usuario <- Vistas de módulo autogenerado
│ │ ├── admin.php
│ │ ├── create.php <- Vista para crear registros embebe a _form.php
│ │ ├── _form.php <- Vista con formulario usado en create y update
│ │ ├── index.php
│ │ ├── _search.php <- Formulario de búsqueda de valores
│ │ ├── update.php <- Vista para modificar registros embebe a _form.php
│ │ ├── _view.php
│ │ └── view.php
│ ├── yiic <- Línea de comandos para entorno unix/linux
│ ├── yiic.bat <- Línea de comandos para windows
│ └── yiic.php <- Línea de comando usando php
└── themes <- Temas de la aplicación
└── classic
└── views
├── layouts
├── site
└── system
32 directories, 47 files
–
Recursos Yii
- Entradas de Yii en mi Blog http://leninmhs.wordpress.com/category/yii/
- Serie de video tutoriales disponibles en youtube, muy buenos y completos con gran diversidad de tópicos para Yii. Están en español y explicados con detalle. www.youtube.com/user/Gustalh
- Yii Playground – www.yiiplayground.com Demo de aplicación Yii con ajax, widgets y otras funcionalidades, en su pagina pueden ver cada funcionalidad junto a su respectivo código fuente. También pueden descargar el proyecto entero a su equipo y revisar minuciosamente la aplicación. Si deciden descargarlo a su equipo deberán tener la librería de SQLite para PHP, si usan Debian: aptitude install php5-sqlite
- Foro, Wiki y otros recursos en español www.yiiframeworkenespanol.org
- Chat IRC Oficial Yii http://www.yiiframework.com/chat/
- Redes Sociales – Excelente para estar actualizado en Yii, y tener una idea fresca de que cosas se van añadiendo al proyecto o que rumbo esta tomando.
Twitter twitter.com/yiiframework
Facebook facebook.com/group.php?gid=61355672149
LinkedIn linkedin.com/groups?gid=1483367
–
Presentación
–
[slideshare id=18373702&sc=no]
Felicitaciones por la buena descripción del framework quisiera agregar modestamente que también se podría indicar de componentes behaviors y eventos y el utilizo de modulos as como la aplicación en console asi como la integración con librerias de otros frameworks como zend o librerias personales.
Excelentes sugerencias para tratar en próximas entregas! Pudieramos sacar «Entendiendo Yii – Parte 2»
Me parece una buena y justa idea, es verdad que en algunas cosas del framework hay poca documentación pero si vas al forum de Yii y otros enlaces puedes encontrar mucho mas también puedo colaborar modestamente en el caso que sirva.
Muy buen aporte
una pregunta si quiero cambiar el home y añadir otro según el tipo de usuario que entra a la web, es decir si tengo un usuario admin con sus páginas, cuando haga login ese usuario quiero que cargue sus paginas, eso es posible?
gracias y saludos!
Si quieres cambiar el tema de la aplicación según usuarios o alguna otra condición revisa aquí:
http://hafiznor.wordpress.com/2012/04/21/yii-change-theme-dynamically-on-the-fly/
http://www.yiiframework.com/forum/index.php/topic/29619-changing-theme-on-the-fly/
http://danaluther.blogspot.com/search/label/themes
En cambio si lo que necesitas es mostrar opciones de menú distintas por usuarios ó roles te puede servir esta otra entrada: https://leninmhs.com/yii-autenticacion-last-login
muy buena descripción del framework.
Me gustaría saber si Yii supera en cuanto a rendimiento al Symfony.
gracias.
1.necesito saber como puedo pasar un icono dentro de un menu!!!!!!!! por favor para mi tesis de grado.
2. y como hago creo un reporte en yii
Muy completo este post sobre Yii Framework, y más porque es un frame que voy a aprender en la universidad.
Hola espero puedas ayudarme.
Estoy tratando de poner la aplicacion desarrollada YII en un servidor, para esto ya copie la carpeta framework en la carpeta de mi proyecto, en el srevidor si entro al http://www.nombreservidor.com inicia la aplicacion sin problema, pero cuando intento acceder desde otra pc (area local) me sale los siguiente
run();
Espero puedas ayudarme, gracias
Hola Jesus tendría que tener mayor información si quieres me escribes con mayor detalle a [email protected] saludos
ya esta ya te envie correo, gracias