Para crear páginas web en php rápidamente mediante un framework, vamos a explicar cómo instalar uno de los más conocidos: Yii Framework.

Antes de empezar tenemos que tener instalado y configurado un XAMPP, para poder tener nuestras páginas en local. A partir de ahí ya podemos empezar a hacer páginas web en PHP.
En primer lugar vamos a dirigirnos al enlace de Yii Framework, para descargarnos el framework a usar en “Download Yii“. Nosotros nos hemos creado dentro de htdocs una carpeta llamada TestYii que es donde descomprimimos lo que acabamos de descargarnos, para ver que todo está correctamente escribimos en el navegador la siguiente ruta: http://localhost/testYii/requirements/index.php en la cual podemos ver si lo que acabamos de copiar y nuestra configuración XAMPP es correcta para este framework de php. Esta carpeta es donde tenemos el framework inicial para todas nuestras futuras páginas web en php.
Lo segundo es generar nuestra primera aplicación web de pruebas, para ello si estamos en windows, tenemos que entrar en la consola de comandos [Nos dirigimos a Inicio-> Ejecutar -> Escribimos "cmd" sin las comillas y debería aparecernos]. A continuación dentro de la consola tenemos que ir a la ruta del framework que acabamos de instalar. En nuestro caso escribiremos “cd C:\xampp\htdocs\TestYii\framework\”, sin las comillas, desde aquí y mediante la siguiente línea de comandos podremos crear automáticamente los archivos para iniciar nuestra aplicación web:
yiic webapp C:\xampp\htdocs\AppYii\
Con esta línea crearemos una carpeta llamada AppYii(o como queramos llamarle), con los archivos necesarios para ir empezando a crear páginas web en php. Podemos comprobar que todo ha ido correctamente desde el navegador mediante la ruta: http://localhost/AppYii/ donde veremos algo como en la imagen de cabecera de esta noticia. Podéis ver que ya hay ciertas cosas generadas automáticamente con código incluído.
En tercer lugar vamos a meternos con la base de datos, os recomiendo que creeis en primer lugar vuestro Entidad-Relación, para ello nosotros hemos usado la aplicaciónMysql Workbench, desde la cual una vez generado vuestro diagrama correctamente podéis exportarlo a sentencias SQL para generar vuestra base de datos mediante phpmyadmin.
A continuación podemos ver la estructura que se ha generado y que compartirán inicialmente todas nuestras páginas web en php:
testdrive/
index.php archivo de entrada de la aplicación Web
assets/ contiene archivos de recursos públicos
css/ contiene archivos CSS
images/ contiene archivos de imágenes
themes/ contiene temas de la aplicación
protected/ contiene los archivos protegidos de la aplicación
yiic script de linea de comandos yiic
yiic.bat script de linea de comandos yiic para Windows
commands/ contiene comandos ‘yiic’ personalizados
shell/ contiene comandos ‘yiic shell’ personalizados
components/ contiene componentes reusables
MainMenu.php clase de widget ‘MainMenu’
Identity.php clase ‘Identity’ utilizada para autenticación
views/ contiene los archivos de vistas para los widgets
mainMenu.php el archivo vista para el widget ‘MainMenu’
config/ contiene archivos de configuración
console.php configuración aplicación consola
main.php configuración de la aplicación Web
controllers/ contiene los archivos de clase de controladores
SiteController.php la clase controlador predeterminada
extensions/ contiene extensiones de terceros
messages/ contiene mensajes traducidos
models/ contiene archivos clase de modeloscontaining model class files
LoginForm.php el formulario modelo para la acción ‘login’
ContactForm.php el formulario modelo para la acción ‘contact’
runtime/ contiene archivos temporarios generados
views/ contiene archivos de vista de controladores y de diseño
layouts/ contiene archivos de diseño
main.php el diseño default para todas las vistas
site/ contiene archivos vista para el controlador ‘site’
contact.php contiene la vista para la acción ‘contact’
index.php contiene la vista para la acción ‘index’
login.php contiene la vista para la acción ‘login’
system/ contiene archivos de vista del sistema
De toda esta estructura, nos interesa abrir el archivo que se encuentra en la carpeta \protected\config\main.php, y descomentar las siguientes líneas de código:

/*
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=NombreBaseDatosCreada',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
*/
Podemos indicar los datos de conexión a nuestra base de datos, nombre de usuario y contraseña que tenemos configurado en nuestro XAMPP, con esto ya podría tener acceso nuestra aplicación web a la base de datos que tenemos creada.
En quinto lugar vamos a generar los modelos y el CRUD (Create, Read, Update y Delete) de cada uno de ellos en nuestra aplicación web en php, esta parte es la mejor y donde comprobaremos lo que ahorraremos en el inicio de la programación de páginas web en php. En este paso podemos volver a usar el comando que hemos visto con anterioridad llamado Yiic para automatizar la generación de código o scaffolding, pero yo me voy a centrar en otra manera más fácil e intuitiva que es en la herramienta Gii que viene con Yii Framework.
Esta herramienta hay que activarla, para ello tenemos que ir al mismo archivo que hemos modificado anteriormente main.php y descomentar las siguiente líneas de código e introducir una contraseña nueva:

'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'gii123',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
Para comprobar que todo ha ido bien, iremos al navegador y escribiremos: http://localhost/AppYii/index.php?r=gii, nos pedirá introducir la contraseña que hemos metido con anterioridad, en nuestro caso gii123 y ahora solo queda empezar a crear los objetos que con anterioridad hemos creado mediante nuestro Entidad-Relación en Mysql. Todos estos pasos serían un buen método de desarrollo a repetir en todas nuestras páginas web en php. Para ello tenemos que entrar en la opción “Model Generator“, introducir los datos de nuestra base de datos “db” y el nombre de tabla y luego los modelos (normalmente las tablas las ponemos en plural y los modelos en singular), presionamos en botón “Preview” y si todo ha ido correctamente podremos presionar el botón “Generate” para confirmar la creación de nuestro modelo, este paso lo repetiremos con todos nuestros modelos. Podemos ver como se han generado todos los modelos en la siguiente carpeta: protected\models\.
Ahora que tenemos los modelos, vamos a generar el CRUD de cada uno de ellos, entrando en la opción “Crud Generator“, en nuestro caso mantendremos los nombres que usamos para los modelos en el campo de ID, podemos ir viendo que lo que estamos generando está activo vía web: http://localhost/appYii/index.php?r=nombremodelo y veremos que hay código ya creado automáticamente para dar de alta, leer, modificar y borrar cada uno de los modelos.
A partir de aquí, ya tenemos bastante trabajo hecho por adelantado para nuestras futuras páginas web en php con unos cuantos clicks.


lo generado terminará así :



testdrive/
   index.php                 archivo de entrada de la aplicación Web
   assets/                   contiene archivos de recursos públicos
   css/                      contiene archivos CSS
   images/                   contiene archivos de imágenes
   themes/                   contiene temas de la aplicación
   protected/                contiene los archivos protegidos de la aplicación
      yiic                   script de linea de comandos yiic
      yiic.bat               script de linea de comandos yiic para Windows
      commands/              contiene comandos 'yiic' personalizados
         shell/              contiene comandos 'yiic shell' personalizados
      components/            contiene componentes reusables
         MainMenu.php        clase de widget 'MainMenu'
         Identity.php        clase 'Identity' utilizada para autenticación
         views/              contiene los archivos de vistas para los widgets
            mainMenu.php     el archivo vista para el widget 'MainMenu'
      config/                contiene archivos de configuración
         console.php         configuración aplicación consola
         main.php            configuración de la aplicación Web
      controllers/           contiene los archivos de clase de controladores
         SiteController.php  la clase controlador predeterminada
      extensions/            contiene extensiones de terceros
      messages/              contiene mensajes traducidos
      models/                contiene archivos clase de modeloscontaining model class files
         LoginForm.php       el formulario modelo para la acción 'login'
         ContactForm.php     el formulario modelo para la acción 'contact'
      runtime/               contiene archivos temporarios generados
      views/                 contiene archivos de vista de controladores y de diseño
         layouts/            contiene archivos de diseño
            main.php         el diseño default para todas las vistas
         site/               contiene archivos vista para el controlador 'site'
            contact.php      contiene la vista para la acción 'contact'
            index.php        contiene la vista para la acción 'index'
            login.php        contiene la vista para la acción 'login'
         system/             contiene archivos de vista del sistema