Cómo instalar Yii en Windows o Mac

Lo que vas a crear

¿Quieres saber más sobre Yii? Leer Introducción al Marco Yii y sigue nuestra serie de programación Yii.

Bienvenido

En el tutorial de hoy, explicaremos cómo instalar Yii en un entorno de desarrollo local para Windows y macOS. Para la guía de Windows, dependeremos de WAMP Server, un entorno de desarrollo web de Windows para Apache, PHP y Mac, y para la guía de Mac, usaremos su primo, MAMP. Aunque Rod usa WAMP en el tutorial de hoy, también hay una versión para Windows de MAMP.

Estoy escribiendo la parte de Mac de esta guía, y mi colega Rod Ussing está escribiendo el lado de Windows. Conocí a Rod en la escuela secundaria de California en mi segundo trabajo de programación, un número hexadecimal muy grande en años anteriores. Él todavía usa Windows, pero después de ocho años de trabajar en Microsoft y cansarme de reiniciar el sistema para reiniciar Outlook, me fui para macOS. 

Que es yii?

Yii es un framework para PHP increíblemente confiable, bien diseñado y de alto rendimiento, como Rails es para Ruby y similar a Laravel. Si se está preguntando si puede crear aplicaciones de la vida real en Yii, consulte el Planificador de reuniones y nuestra serie Construyendo su inicio.

  • Cómo programar con Yii2: usar la plantilla de aplicación avanzada

    Exploremos la plantilla avanzada de Yii, que proporciona el registro y registro de usuarios integrados, así como un sitio web de fondo para funciones de administración..
    Jeff Reifman
    Yii
  • Construyendo su inicio con PHP: Tabla de contenidos

    Una guía de nuestra serie en curso sobre el lanzamiento de su propio negocio y producto con PHP. Esto es lo que puede esperar en los próximos episodios. Vuelve regularmente para actualizaciones.
    Jeff Reifman
    Yii

Me encanta la codificación en Yii. Todo es más rápido y más fácil para mí. Y es relativamente sencillo en cuanto a los marcos (ese soy yo arrojando sombra en Rails).

Comenzaremos con los aspectos básicos de lo que es exclusivo de la instalación de Yii en macOS y luego pasaremos a Windows. A medida que lo que se necesita para completar la instalación en cada plataforma converge, describiremos las instrucciones restantes en un formulario unificado para ambas plataformas.. 

Elegir entre Yii Basic y Yii Advanced

Yii Basic es la forma más simple de Yii. Puede crear todo tipo de aplicaciones con él, pero es mejor para un solo nivel, por ejemplo. un lado orientado al cliente.

Aquí está la estructura de directorios de una aplicación Yii Basic con solo un conjunto de directorios para una sola aplicación:

 activos / contiene comandos de definición de activos / contiene comandos de consola (controladores) config / contiene configuraciones de aplicaciones controladores / contiene clases de controlador web correo / contiene archivos de vista para correos electrónicos modelos / contiene clases de modelo tiempo de ejecución / contiene archivos generados durante las pruebas de tiempo de ejecución / contiene varias pruebas para el proveedor de aplicaciones básicas / contiene vistas de paquetes de terceros dependientes / contiene archivos de vistas para la web de la aplicación web / contiene el script de entrada y los recursos web

La plantilla de proyecto avanzada Yii 2 es la mejor para desarrollar aplicaciones web complejas con múltiples niveles, como el front-end, el back-end y la consola, cada una de las cuales es una aplicación Yii separada. Por ejemplo, los sitios administrativos pueden ejecutarse en el back-end, y las tareas cron pueden ejecutarse en el entorno de la consola.

En contraste, aquí está la estructura de directorios para una aplicación Yii Advanced con múltiples niveles:

configuración común / contiene configuraciones compartidas correo / contiene archivos de vista para modelos de correo electrónico / contiene clases de modelo usadas en las pruebas de backend y frontend / contiene pruebas para las clases comunes configuración de consola / contiene configuraciones de consola controladores / contiene controladores de consola (comandos) migraciones / contiene la migración de la base de datos modela / contiene el tiempo de ejecución de las clases del modelo específico de la consola / contiene los archivos generados durante los activos de back-end del tiempo de ejecución / contiene activos de la aplicación como JavaScript y la configuración CSS / contiene las configuraciones del backend controladores / contiene los modelos de las clases del controlador web / contiene las clases del modelo específicas del backend el tiempo de ejecución / contiene los archivos generados durante las pruebas de tiempo de ejecución / contiene pruebas para las vistas de la aplicación backend / contiene los archivos de vista para la aplicación web web / contiene el script de entrada y los recursos web frontend activo / contiene recursos de la aplicación como JavaScript y CSS config / contiene configuraciones frontend controladores / contiene controlador web clases modelos / contai ns frontend específicos modelo modelo tiempo de ejecución / contiene archivos generados durante las pruebas de tiempo de ejecución / contiene pruebas para las vistas de la aplicación frontend / contiene archivos de vista para la aplicación web web / contiene el script de entrada y los recursos de la web widgets / contiene widgets frontend proveedor / contiene dependientes de terceros paquetes entornos / contiene anulaciones basadas en el entorno

Cada nivel es su propio sitio, pero pueden compartir fácilmente el código y una base de datos común si lo desean. Yo uso esta plantilla en nuestra serie de inicio. Yii Advanced también proporciona soporte de configuración integrado para diferentes entornos, lo que facilita el desarrollo del equipo.

Preparando macOS para Yii

He estado codificando en Yii en macOS desde hace varios años. Claro, hay muchas formas diferentes de ejecutar un entorno Apache, MySQL, PHP en una Mac, pero prefiero MAMP.

Instalando MAMP

Básicamente, solo visite el sitio web de MAMP y descargue el paquete macOS:

Una vez descargado, puede arrastrar el paquete a la Aplicaciones carpeta y haga doble clic para iniciar MAMP. Esto mostrará una ventana MAMP:

Configurando MAMP

Hacer clic Preferencias para configurar los puertos que desea al servidor en (yo uso 8888 para apache):

Hacer clic Servidor web para revisar o cambiar el directorio de su servidor. Yo uso Apache localmente:

Instalando Composer en macOS

Yii2 requiere Composer, un administrador de dependencias popular para PHP. Si aún no tiene Composer instalado, haga lo siguiente:

curl -s http://getcomposer.org/installer | php mv composer.phar / usr / local / bin / composer

Luego, usa Composer para instalar Yii2. La solicitud de instalación requiere que uses tus propias credenciales de cuenta de GitHub; Regístrate si no tienes una cuenta.

Como Rod describe más adelante, la instalación de Yii requiere el complemento de componente de composición:

el compositor global requiere "fxp / composer-asset-plugin: 1.0.0-beta2"

Recomienda crear una cuenta con GitHub y configurando un token de acceso. El motivo de esto es que durante la instalación de Yii, el número de solicitudes puede exceder el límite de velocidad de la API de GitHub, y Composer puede detener y solicitar sus credenciales de inicio de sesión de GitHub para obtener un token de acceso a la API de GitHub durante la instalación. 

Cuando esté listo, puede instalar Yii. Usaremos Yii básico e instalarlo en el ~ / sites / hello directorio:

compositor create-project --prefer-dist yiisoft / yii2-app-basic hello

Luego, cree un enlace simbólico para MAMP a su directorio de aplicaciones de Sitios:

cd / Applications / MAMP / htdocs ln -s ~ / Sites / hello / / Applications / MAMP / htdocs / hello

Si decide instalar Yii Advanced, puede ayudar a activar y personalizar su archivo de host virtual:

$ nano /Applications/MAMP/conf/apache/httpd.conf # Los hosts virtuales incluyen /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

A continuación, he configurado frontend.dev y backend.dev para asignar a una instalación Yii Advanced en el ~ / sites / yiiplus directorio que tiene un enlace simbólico en / Aplicaciones / MAMP.

$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NameVirtualHost *: 8888  Nombre del servidor frontend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / frontend / web /  # use mod_rewrite para soporte de URL bonito RewriteEngine on # Si existe un directorio o un archivo, use la solicitud directamente RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # De lo contrario, reenvíe la solicitud a index.php RewriteRule. index.php # usa index.php como archivo de índice DirectoryIndex index.php # ... otras configuraciones ...    ServerName backend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / backend / web /  # use mod_rewrite para soporte de URL bonito RewriteEngine on # Si existe un directorio o un archivo, use la solicitud directamente RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # De lo contrario, reenvíe la solicitud a index.php RewriteRule. index.php # usa index.php como archivo de índice DirectoryIndex index.php # ... otras configuraciones ...  

Si decides usar Yii Advanced, te animo a que también veas mi tutorial sobre esto, que ofrece más detalles..

Esos son los pasos específicos de la plataforma para macOS. Ahora veamos cómo prepararse para Yii en Windows. Posteriormente, volveremos a finalizar las configuraciones con pasos que funcionan para ambas plataformas. Si eres estrictamente un usuario de macOS, salta a la Completando la configuración de Yii sección.

Preparando Windows para Yii

Para Yii en Windows, vamos a utilizar WAMP. Para comenzar, deberá descargar y configurar WAMP en su computadora con Windows. Para este tutorial, instalaremos WAMP en su computadora local (que el servidor tratará como localhost). Si desea instalar en un servidor Windows de producción, deberá ponerse en contacto con su proveedor para obtener detalles del servidor y seguir las recomendaciones para instalar y configurar el Servidor WAMP o una pila alternativa Apache, MySQL, PHP para ese entorno.

Instalando WAMP

Como el enfoque de este tutorial es sobre la instalación de Yii, le sugerimos que consulte uno de los muchos excelentes tutoriales existentes que cubren la instalación de WAMP; Te sorprenderá lo fácil que es. Como también es una aplicación PHP, la guía de WordPress para instalar WAMP es un buen punto de partida..

Una vez que hemos instalado y configurado WAMP, necesitamos instalar Composer, que es un administrador de dependencias e instalador para proyectos PHP. Esto nos permitirá comenzar con nuestra instalación Yii..

Instalando Composer en Windows

Aunque puede descargar paquetes Yii desde GitHub, en este tutorial usaremos Composer para instalarlo. Si no está familiarizado con Composer, puede aprender más en este tutorial..

Primero vamos a GitHub para descargar e instalar la última versión de Composer-setup.exe, que en este momento es v4.5.0.

Una vez que se complete la instalación, es una buena idea cerrar la sesión y volver a iniciarla para asegurarse de que todos los archivos estén actualizados. [Jeff aquí: o comprar una Mac].

Puede verificar su instalación abriendo el símbolo del sistema y dirigiéndose a:

cd \ Users \ tu-nombre de usuario

Ingrese el siguiente comando:

compositor -V

La información de la versión de Composer debería mostrarse, algo así como:

Versión del compositor 1.4.1 2017-03-10 09:29:45

Instalar el componente Composer Asset Plugin

Para administrar los activos de su proyecto en Composer .json, sin tener que instalar NPM o Bower, deberá asegurarse de que Composer tenga todos los paquetes que necesita ejecutando el comando de instalación para el complemento Composer Assets.

Abra el símbolo del sistema en Windows y navegue hasta donde se encuentra su carpeta PHP. En esta instalación, PHP se encuentra en el directorio wamp64 \ bin \ y es la versión 7.0.10 de PHP, por lo que escribimos:

cd \ wamp64 \ bin \ php \ php7.0.10

Luego escribe el siguiente comando:

el compositor global requiere "fxp / composer-asset-plugin: ^ 1.3.1"

Tenga en cuenta que el software cambia, así que asegúrese siempre de verificar que está trabajando con la versión estable más actual. Ten cuidado con las betas, porque si te pones demasiado nervioso, las cosas podrían comenzar a romperse..

Para las versiones más actuales de Composer y Composer Asset Plugin:

  • Compositor
  • Compositor activo plugin 

Configurando WAMP para tu aplicación Yii

Ahora, configuremos WAMP para Yii. Cambie su directorio a la instalación de WAMP \ www para esta instalación:

cd \ wamp64 \ www

En este directorio, crearemos un nuevo directorio llamado Yii Basic escribiendo:

mkdir yii-basic

Aquí es donde vamos a instalar Yii Basic. Puede omitir este paso e instalar Yii directamente en el directorio www, pero crear un directorio con un nombre claro evita la confusión, especialmente si planea instalar las plantillas avanzadas de Yii Basic y Yii.

En el nuevo directorio yii-basic, ejecutamos el siguiente comando para instalar la plantilla básica de Yii:

compositor create-project --prefer-dist --stability = dev yiisoft / yii2-app-basic yii-basic

Podemos verificar Yii navegando a la carpeta “Básica” en el directorio que creó:

cd \ wamp64 \ bin \ www \

Ahora escribimos en el comando:

PHP yii servir

Esto iniciará Yii utilizando el motor PHP de WAMP..

Configurando el archivo host en Windows

Si desea personalizar las direcciones de los navegadores locales para su sitio, o referirse de manera específica al extremo frontal y al final de la página de Yii-Advanced, deberá hacer un poco más..

Ya sea utilizando el editor de texto Abrir documento desplegable o navegando directamente en el Explorador de Windows, vaya al archivo:

C: \ Windows \ system32 \ drivers \ etc \ hosts

Estamos buscando la sección que dice:

# la resolución de nombres localhost se maneja dentro del propio DNS. 127.0.0.1 localhost

En preparación para los sitios múltiples de Yii-Advanced, agreguemos uno para el frontend y otro para el backend:

127.0.0.1 frontend.dev 127.0.0.1 backend.dev

Se verá así:

Puede encontrar más información sobre cómo encontrar y configurar su archivo de Windows Host aquí.

Habilitando hosts virtuales en el archivo httpd.conf

Es una buena idea verificar que los hosts virtuales estén habilitados en el archivo httpd.conf de Apache.

Tenga mucho cuidado al editar el archivo httpd.conf: haga una copia antes de comenzar, y asegúrese de entender lo que está haciendo antes de hacer las ediciones, de lo contrario, puede destruir fácilmente su servidor WAMP. [Jeff aquí, suena como que Rod está hablando por experiencia]

Para encontrar httpd.conf, escriba:

cd \ wamp64 \ bin \ apache \ apache2.4.23 \ conf

Me gusta esta guía para obtener una explicación más detallada de la edición de httpd.conf para habilitar las funciones relacionadas con los hosts virtuales en Apache y configurar los hosts virtuales en WAMP.

Configurar hosts virtuales

Ahora necesitamos configurar nuestros hosts virtuales Apache. Usando nuestro menú del editor de texto o el Explorador de Windows, navegaremos al siguiente directorio:

C: Wamp64 \ bin \ apache \ apache2.4.23 \ conf \ extra \ httpd-vhosts.conf

Ya debería haber un host virtual para localhost, por lo que ahora debemos agregar hosts virtuales para el frontend de Yii y el backend de Yii. Recomiendo que escriba el nombre encima de cada host virtual para evitar confusiones. (¡No olvides comentar el nombre!)

es decir. #Interfaz

El archivo de configuración del Host Virtual debería verse como este. 

En este ejemplo, instalamos Yii Advanced en c: / wamp64 / www / yii-advanced y creó una aplicación llamada yii-application. También está bien instalar Yii en www para que su ruta pueda leer más simplemente c: / wamp64 / www / myapp / frontend / web.

Preste mucha atención a la Raiz del documento y Directorio líneas. Ambos deben contener la ruta completa al directorio de aplicaciones Yii hasta el archivo "web" que se encuentra dentro de los directorios frontend y backend respectivamente. El contenido de DocumentRoot y el Directorio es idéntico, excepto que la ruta para el Directorio está entre comillas.

Instalación de la plantilla Yii-Advanced para Windows

Para instalar la plantilla avanzada de Yii, volvamos al directorio wamp64 \ www:

cd \ wamp64 \ www

Ahora vamos a crear un nuevo directorio llamado yii-avanzado:

mkdir yii-avanzado

En el nuevo directorio, ejecutamos el siguiente comando, que instalará la plantilla Yii Advanced:

compositor create-project --prefer-dist yiisoft / yii2-app-advanced yii-application

Hasta ahora, la instalación de Yii Basic y Yii Advanced ha sido la misma. Ahora tendremos que agregar algunos pasos más para preparar su Plantilla Yii Advanced para la acción.

Completando la configuración de Yii

Pasos para Windows y Mac

Creando la base de datos MySQL

Suponiendo que PHPmyAdmin está instalado en su servidor WAMP (se incluye con MAMP), puede crear la base de datos a través de la interfaz gráfica de usuario de PHPmyAdmin, pero vamos a poner manos a la obra y usar la línea de comandos SQL, lo que, sinceramente, no requiere mucho esfuerzo..

En la línea de comandos de Windows, navegue a la carpeta MySQL escribiendo:

cd \ wamp64 \ www \ bin \ mysql \ mysql5.7.14 \ bin

También puede hacer esto desde cualquier lugar siempre que WAMP o MAMP estén en su ruta de entorno local..

Luego, para Mac y Windows, escriba:

mysql -u root -p

Esto nos llevará a la línea de comandos mysql. Ahora ejecutaremos el siguiente comando en SQL:

crear base de datos yii2test;

(Puede asignar a la base de datos el nombre que desee, siempre y cuando se asegure de utilizar el nombre apropiado durante el resto del proceso).

Ahora crearemos un nombre de usuario y contraseña para esta base de datos escribiendo los siguientes comandos SQL:

OTORGAR TODO EN yiit2est. * A 'your-username' @ 'localhost' IDENTIFIED BY 'your_chosen_password'; PRIVILEGIOS DE LAVADO; SALIDA;

Ahora dejará MySQL y volverá a la línea de comandos de la consola.

Mantenga el nombre de usuario y la contraseña de la base de datos a mano, ya que lo necesitaremos para configurar el archivo de configuración de PHP (common / config / main-local.php), que permite a Yii comunicarse de forma segura con MySQL.

Inicializando la aplicación Yii Advanced

Esto es innecesario para las instalaciones de Yii-basic..

Para inicializar Yii avanzado, necesitaremos navegar a la carpeta de la aplicación Yii-Advanced. En este caso, eso sería:

cd \ wamp64 \ www \ yii-avanzado \

Entonces escribe en eso:

Esto iniciará el script de inicialización que le preguntará si desea inicializar Yii para un entorno de desarrollo o producción; lo más probable es que se vea así:

¿En qué entorno desea que se inicialice la aplicación? [0] Desarrollo [1] Producción 

Para el propósito de este tutorial, estaremos trabajando en un entorno de desarrollo, por lo tanto, escriba 0 y presione enter, y luego escriba "sí" (sin comillas) cuando se le solicite y la inicialización se completará.

Ya casi hemos terminado, todo lo que queda ahora son unos pocos pasos de configuración, y puede comenzar a programar con Yii..

Actualización de los ajustes de configuración de Yii

Para Yii-basic, estarás editando. /yii-basic/config/db.ini. Para, Yii-advanced, estarás editando. /yii-advanced/common/config/main-local.php.

Para editar este archivo, necesitaremos usar un editor de texto. Atom es una excelente opción que te servirá bien a medida que te adentres en la codificación más avanzada.

Para abrir el archivo de configuración, use la tecla Abrir documento desplegable en el editor de texto o navegue directamente al archivo de configuración usando el Explorador de Windows y haga clic derecho Abrir con y seleccione su editor de texto. (En Windows, es posible que tenga que ejecutar el editor de texto como administrador).

El siguiente ejemplo de la instalación que estamos utilizando hoy ilustra este proceso. Tenga en cuenta que es posible que esté usando una designación de unidad diferente y que tenga una ruta ligeramente diferente dependiendo de lo que haya nombrado en sus carpetas..

El archivo de configuración debería verse así:

Recuerde ingresar el mismo nombre de usuario y contraseña que usó para configurar su base de datos MySQL de Yii, de lo contrario, Yii y MySQL no funcionarán bien!

Y, por favor, ni siquiera piense en usar el nombre de usuario y la contraseña de su base de datos en el archivo de configuración.! [Jeff aquí ... en serio, no lo hagas]

Usando la herramienta de migración Yii

Yii Advanced tiene sus propias migraciones. Ahora que MySQL está configurado, necesitaremos algunas tablas. Las migraciones de Yii crean tablas y esquemas en su base de datos MySQL programáticamente.

Para iniciar la herramienta de migración de Yii en Windows, debemos ir a nuestro directorio de instalación de Yii escribiendo:

cd \ wamp64 \ www \ yii-advanced \ yii-application

Nuevamente, puede elegir instalarlo sin el directorio principal que Rod creó para esta demostración. Por ejemplo, para MAMP, estoy usando:

$ cd ~ / sites / yii-advanced

Ahora escribe el siguiente comando:

yii migrar

En un momento se le preguntará si desea "Aplicar la migración anterior?"

Tipo  y pulsa retorno. Si todo va bien, recibiremos un mensaje que Yii migró correctamente.

Visitando el sitio web de Yii

Ahora para el momento de la verdad. Cuando tu visitas localhost: 8888 en tu navegador deberías ver:

Para Yii Advanced, puede que necesites probar frontend.dev o incluir el sitio frontend o backend, por ejemplo,. localhost: 8888 / frontend. Si no habilita su archivo host, puede acceder a Yii directamente a través de la ruta, localhost: 8888 / web.

Si instaló la plantilla avanzada, vaya a la Regístrate vincular e ingresar un nombre de usuario, la dirección de correo electrónico que desea utilizar y una contraseña. 

No use su contraseña de MySQL (la que ingresó en el archivo de configuración de PHP). Esta es la base de datos de cuentas de usuario de Yii con nuevos nombres de usuario y contraseñas.

Su primer registro de usuario también será el usuario administrativo de la aplicación Yii con acceso a todo.

Ahora que estás registrado, escribe en el navegador:

backend.dev

Debería obtener una pantalla de inicio de sesión de administrador donde puede ingresar su nuevo nombre de usuario y contraseña:

Esto te llevará de regreso a la anterior Yii "Felicidades”Página pero como un usuario autenticado.

Ahora con todas las felicitaciones dando vueltas, ¿por qué no felicitarte a ti mismo ya que acabas de instalar Yii con éxito? Bien hecho. [Jeff aquí, si hiciste esto en Windows, ve a comprar una Mac y pruébalo allí].

Para concluir

Espero que nuestro tutorial de hoy te ayude a comenzar con Yii. Rod y yo disfrutamos escribiendo esto juntos.

Mire los próximos tutoriales en nuestra serie Programación con Yii2 a medida que continuamos explorando diferentes aspectos del marco. Asegúrese de consultar nuestra serie Construyendo su inicio con PHP, que utiliza la plantilla avanzada de Yii2 mientras construimos una aplicación del mundo real..

Cómo programar con el episodio Getting Started de Yii hace un gran trabajo al detallar la configuración de Yii Basic y un servidor Linux de producción.

Si desea saber cuándo llegará el próximo tutorial de Yii2, síganme @reifman en Twitter o consulte la página de mi instructor. La página de mi instructor incluirá todos los artículos de esta serie tan pronto como se publiquen.. 

enlaces relacionados

  • Yii Framework
  • Yii2 Developer Exchange
  • Servidor de WAMP
  • MAMP