¿Quieres saber más sobre Yii? Leer Introducción al Marco Yii y sigue nuestra serie de programación Yii.
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.
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.
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..
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.
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.
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:
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:
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 *: 8888Nombre 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.
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.
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..
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
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:
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..
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í.
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.
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.
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.
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.
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..
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]
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 Sí
y pulsa retorno. Si todo va bien, recibiremos un mensaje que Yii migró correctamente.
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í].
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..