Comment installer Yii sur Windows ou Mac

Ce que vous allez créer

Vous voulez en savoir plus sur Yii? Lis Introduction au cadre Yii et suivez notre série de programmation Yii.

Bienvenue

Dans le tutoriel d'aujourd'hui, nous expliquerons comment installer Yii dans un environnement de développement local pour Windows et macOS. Pour le guide Windows, nous utiliserons WAMP Server, un environnement de développement Web Windows pour Apache, PHP et Mac, et pour le guide Mac, nous utiliserons son cousin, MAMP. Bien que Rod utilise WAMP dans le tutoriel d'aujourd'hui, il existe également une version Windows de MAMP.

J'écris la partie Mac de ce guide et mon collègue Rod Ussing écrit Windows. J'ai rencontré Rod au lycée en Californie à mon deuxième emploi en programmation, un très grand nombre hexadécimal il y a des années. Il utilise toujours Windows, mais après huit ans de travail chez Microsoft et de fatigue de redémarrer le système pour redémarrer Outlook, je suis parti pour macOS.. 

Qu'est-ce que Yii??

Yii est un framework incroyablement fiable, bien conçu et performant pour PHP, tout comme Rails est pour Ruby et similaire à Laravel. Si vous vous demandez si vous pouvez créer des applications réelles dans Yii, consultez Meeting Planner et notre série Building Your Startup..

  • Comment programmer avec Yii2: Utilisation du modèle d'application avancé

    Explorons le modèle avancé de Yii, qui fournit une inscription et un enregistrement intégrés des utilisateurs, ainsi qu'un site Web principal pour les fonctionnalités d'administration..
    Jeff Reifman
    Yii
  • Construire votre démarrage avec PHP: Table des matières

    Guide de notre série en cours sur le lancement de votre propre entreprise et de votre produit avec PHP. Voici à quoi s'attendre dans les prochains épisodes. Revenez régulièrement pour les mises à jour.
    Jeff Reifman
    Yii

J'aime coder en Yii. Tout est plus rapide et plus facile pour moi. Et c’est relativement simple en ce qui concerne les frameworks (c'est moi jeter de l'ombre sur Rails).

Commençons par les bases de l’installation unique de Yii sous macOS, puis passons à Windows. Comme ce qui est nécessaire pour terminer l'installation sur chaque plate-forme converge, nous décrirons les instructions restantes sous une forme unifiée pour les deux plates-formes.. 

Choisir entre Yii Basic et Yii Advanced

Yii Basic est la forme la plus simple de Yii. Vous pouvez créer tout type d’applications, mais c’est mieux pour un seul niveau, par exemple. un côté client.

Voici la structure de répertoires d'une application Yii Basic avec seulement un ensemble de répertoires pour une seule application:

 assets / contient les assets définition des commandes / contient les commandes de la console (contrôleurs) config / contient les configurations de l'application contrôleurs / contient les classes du contrôleur Web mail / contient les fichiers de vue pour les modèles de courriers électroniques / contient les classes du modèle runtime / contient les fichiers générés lors des tests d'exécution / contient divers tests pour le fournisseur de l'application de base / contient les packages tiers dépendants vues / contient les fichiers de vue pour l'application Web web / contient le script d'entrée et les ressources Web

Le modèle de projet Yii 2 Advanced convient parfaitement au développement d’applications Web complexes à plusieurs niveaux, tels que front-end, back-end et console, chacune d’elles constituant une application Yii distincte. Par exemple, les sites d’administration peuvent être exécutés à l’arrière-plan et les tâches périodiques peuvent être exécutées dans l’environnement de la console..

En revanche, voici la structure de répertoires pour une application Yii Advanced à plusieurs niveaux:

common config / contient les configurations partagées mail / contient les fichiers de vue pour les modèles de courrier électronique / contient les classes de modèles utilisées dans les tests backend et frontend / contient les tests pour les classes courantes console config / contient les configurations de console contrôleurs / contient les contrôleurs de console (commandes) migrations / contient bases de données modèles migrations / contient des classes de modèle spécifiques à la console runtime / contient les fichiers générés au cours de l'exécution actifs de backend / contient des actifs d'application tels que JavaScript et CSS config / contient les configurations dorsales contrôleurs / contient les classes du contrôleur Web fichiers générés lors des tests d'exécution / contient des tests pour les vues d'application backend / contient des fichiers de vue pour l'application Web web / contient le script d'entrée et les ressources Web actifs frontaux / contient les actifs d'application tels que JavaScript et CSS config / contient les configurations frontales contrôleurs / contient le contrôleur Web classes modèles / contai classes de modèle spécifiques au client ns runtime / contient les fichiers générés lors des tests d'exécution / contient les tests pour les vues d'application frontale / contient les fichiers de vue pour l'application Web web / contient le script d'entrée et les widgets de ressources Web / contient les widgets frontaux fournisseur / contient des tiers dépendants packages environnements / contient des remplacements basés sur l'environnement

Chaque niveau est son propre site, mais ils peuvent facilement partager du code et une base de données commune s'ils le souhaitent. J'utilise ce modèle dans notre série de startups. Yii Advanced fournit également une prise en charge intégrée de la configuration pour différents environnements, facilitant ainsi le développement en équipe..

Préparer macOS pour Yii

Je code sur Yii sur macOS depuis plusieurs années. Bien sûr, il y a beaucoup de façons d'exécuter un environnement Apache, MySQL, PHP sur un Mac, mais je préfère MAMP..

Installation de MAMP

En gros, il suffit de visiter le site Web MAMP et de télécharger le package macOS:

Une fois téléchargé, vous pouvez faire glisser le paquet vers le Applications dossier et double-cliquez pour lancer MAMP. Cela affichera une fenêtre MAMP:

Configuration de MAMP

Cliquez sur Préférences configurer les ports que vous voulez sur le serveur (j’utilise 8888 pour Apache):

Cliquez sur Serveur Web pour revoir ou changer le répertoire de votre serveur. J'utilise Apache localement:

Installer Composer sur macOS

Yii2 nécessite Composer, un gestionnaire de dépendances populaire pour PHP. Si Composer n'est pas déjà installé, procédez comme suit:

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

Ensuite, utilisez Composer pour installer Yii2. La demande d'installation nécessite que vous utilisiez vos propres informations d'identification de compte GitHub; inscrivez-vous si vous n'avez pas de compte.

Comme Rod le décrit plus en détail ci-dessous, l'installation de Yii nécessite le plugin asset composer:

composer global nécessite "fxp / composer-asset-plugin: 1.0.0-beta2"

Il recommande de créer un compte avec GitHub et configuration d'un jeton d'accès. La raison en est que lors de l'installation de Yii, le nombre de demandes peut dépasser la limite de débit de l'API GitHub et que Composer peut s'arrêter et demander vos identifiants de connexion GitHub pour obtenir un jeton d'accès à l'API GitHub lors de l'installation.. 

Lorsque vous êtes prêt, vous pouvez installer Yii. Nous allons utiliser Yii basic et l’installer dans le ~ / sites / bonjour annuaire:

Compositeur créer-projet --prefer-dist yiisoft / yii2-app-basic bonjour

Ensuite, créez un lien symbolique pour MAMP vers le répertoire de votre application Sites:

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

Si vous décidez d'installer Yii Advanced, il peut être utile d'activer et de personnaliser votre fichier d'hôte virtuel:

$ nano /Applications/MAMP/conf/apache/httpd.conf # Hôtes virtuels Inclure /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Ci-dessous, j'ai configuré frontend.dev et backend.dev pour les mapper sur une installation de Yii Advanced dans ~ / sites / yiiplus répertoire qui a un lien symbolique dans / Applications / MAMP.

$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NomVirtualHost *: 8888  ServerName frontend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / frontend / web /  # utilisez mod_rewrite pour la jolie prise en charge des URL RewriteEngine on # Si un répertoire ou un fichier existe, utilisez directement la demande RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Sinon, transférez la demande à index.php RewriteRule. index.php # utilise index.php comme fichier d'index DirectoryIndex index.php #… d'autres paramètres…    ServerName backend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / backend / web /  # utilisez mod_rewrite pour la jolie prise en charge des URL RewriteEngine on # Si un répertoire ou un fichier existe, utilisez directement la demande RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Sinon, transférez la demande à index.php RewriteRule. index.php # utilise index.php comme fichier d'index DirectoryIndex index.php #… d'autres paramètres…  

Si vous décidez d'utiliser Yii Advanced, je vous encourage à consulter également mon tutoriel sur ce sujet, qui offre plus de détails..

Ce sont les étapes spécifiques à la plate-forme pour macOS. Voyons maintenant comment préparer Yii sous Windows. Nous reviendrons plus tard pour terminer les configurations avec des étapes qui fonctionnent pour les deux plates-formes. Si vous êtes strictement un utilisateur macOS, passez à la Terminer la configuration Yii section.

Préparer Windows pour Yii

Pour Yii sous Windows, nous allons utiliser WAMP. Pour commencer, vous devez télécharger et configurer WAMP sur votre ordinateur Windows. Pour ce didacticiel, nous allons installer WAMP sur votre ordinateur local (que le serveur adressera en tant qu’hôte local). Si vous souhaitez installer sur un serveur Windows de production, vous devez contacter votre fournisseur pour obtenir des informations détaillées sur le serveur et suivre les recommandations d'installation et de configuration de WAMP Server ou une pile alternative Apache, MySQL, PHP pour cet environnement..

Installation de WAMP

Comme ce didacticiel a pour objectif d’installer Yii, nous vous conseillons de consulter l’un des nombreux excellents didacticiels existants qui traitent de l’installation de WAMP; vous serez surpris de voir à quel point c'est facile. Comme il s’agit également d’une application PHP, le guide WordPress pour installer WAMP est un bon point de départ..

Une fois que nous avons installé et configuré WAMP, nous devons installer Composer, qui est un gestionnaire de dépendance et un installateur pour les projets PHP. Cela nous permettra de commencer avec notre installation Yii.

Installer Composer sous Windows

Bien que vous puissiez télécharger les packages Yii à partir de GitHub, dans ce tutoriel, nous utilisons Composer pour l’installer. Si vous ne connaissez pas Composer, vous pouvez en apprendre plus dans ce tutoriel..

D'abord, allons sur GitHub pour télécharger et installer la dernière version de Composer-setup.exe, qui est actuellement la v4.5.0..

Une fois l'installation terminée, il est conseillé de vous déconnecter et de vous reconnecter pour vous assurer que tous les fichiers sont mis à jour. [Jeff ici: ou acheter un Mac].

Vous pouvez vérifier votre installation en ouvrant la ligne de commande et en allant sur:

cd \ Utilisateurs \ votre-nom d'utilisateur

Entrez la commande suivante:

compositeur -V

Les informations de version pour Composer devraient alors être affichées, quelque chose comme:

Version du compositeur 1.4.1 2017-03-10 09:29:45

Installer Composer Asset Plugin

Pour pouvoir gérer les actifs de votre projet dans Composer .json, sans avoir à installer NPM ni Bower, vous devez vous assurer que Composer dispose de tous les packages nécessaires en exécutant la commande d'installation du plug-in Composer Assets..

Ouvrez l’invite de commande sous Windows et naviguez jusqu’à l’emplacement de votre dossier PHP. Sur cette installation, PHP se trouve dans le répertoire wamp64 \ bin \ et il s’agit de la version 7.0.10 de PHP. Nous tapons donc:

cd \ wamp64 \ bin \ php \ php7.0.10

Puis tapez la commande suivante:

composer global nécessite "fxp / composer-asset-plugin: ^ 1.3.1"

N'oubliez pas que les modifications logicielles sont effectuées. Veillez donc toujours à vérifier que vous utilisez la version stable la plus récente. Soyez prudent avec les bêtas, car si vous êtes trop loin sur le fil du rasoir, les choses pourraient commencer à casser.

Pour les versions les plus récentes de Composer et Composer Asset Plugin:

  • Compositeur
  • Plugin Asset Composer 

Configuration de WAMP pour votre application Yii

Maintenant, configurons WAMP pour Yii. Modifiez votre répertoire dans le répertoire d'installation de WAMP \ www pour cette installation:

cd \ wamp64 \ www

Dans ce répertoire, nous allons créer un nouveau répertoire nommé Yii Basic en tapant:

mkdir yii-basic

C'est ici que nous allons installer Yii Basic. Vous pouvez ignorer cette étape et installer Yii directement dans le répertoire www, mais la création d'un répertoire clairement nommé évite toute confusion, en particulier si vous envisagez d'installer les modèles Yii Basic et Yii Advanced..

Dans le nouveau répertoire yii-basic, nous exécutons la commande suivante pour installer le modèle de base Yii:

composer créer-projet --prefer-dist --stability = dev yiisoft / yii2-app-basic yii-basic

Nous pouvons vérifier Yii en naviguant vers le dossier «Basic» du répertoire que vous avez créé:

cd \ wamp64 \ bin \ www \

Maintenant, nous tapons la commande:

PHP yii servir

Cela démarrera Yii en utilisant le moteur PHP de WAMP.

Configuration du fichier hôte sous Windows

Si vous souhaitez personnaliser les adresses des navigateurs locaux de votre site ou vous référer distinctement au début et à la fin du site Yii-Advanced, vous devrez en faire un peu plus..

Soit en utilisant l'éditeur de texte Fichier ouvert dans la liste déroulante ou en naviguant directement dans l’explorateur Windows, accédez au fichier:

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

Nous recherchons la section qui se lit comme suit:

La résolution de noms de localhost est gérée dans le DNS même 127.0.0.1 localhost

En préparation pour les multiples sites de Yii-Advanced, ajoutons un pour le front-end et un pour le back-end:

127.0.0.1 frontend.dev 127.0.0.1 backend.dev

Il ressemblera à ceci:

Vous trouverez plus d'informations sur la recherche et la configuration de votre fichier hôte Windows ici..

Activation des hôtes virtuels dans le fichier httpd.conf

C'est une bonne idée de vérifier que les hôtes virtuels sont activés dans le fichier Apache httpd.conf..

Soyez très prudent lorsque vous modifiez le fichier httpd.conf: faites-en une copie avant de commencer et assurez-vous de bien comprendre ce que vous faites avant de procéder aux modifications. Sinon, vous pouvez facilement détruire votre serveur WAMP.. [Jeff ici, on dirait que Rod parle d'expérience.]

Pour trouver httpd.conf, tapez:

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

J'aime ce guide pour une explication plus détaillée de l'édition de httpd.conf afin d'activer les fonctions relatives aux hôtes virtuels dans Apache et à la configuration des hôtes virtuels sur WAMP..

Configurer des hôtes virtuels

Nous devons maintenant configurer nos hôtes virtuels Apache. En utilisant notre menu d'éditeur de texte ou l'Explorateur Windows, nous allons naviguer dans le répertoire suivant:

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

Il devrait déjà y avoir un hôte virtuel pour localhost, nous devons donc maintenant ajouter des hôtes virtuels pour Yii frontend et Yii backend. Je vous recommande de taper le nom au-dessus de chaque hôte virtuel pour éviter toute confusion. (N'oubliez pas de commenter le nom!)

c'est à dire. #L'extrémité avant

Le fichier de configuration de l'hôte virtuel devrait ressembler à ceci. 

Dans cet exemple, nous avons installé Yii Advanced dans c: / wamp64 / www / yii-advanced et créé une application nommée yii-application. Vous pouvez également installer Yii sur www afin que votre chemin puisse lire plus simplement c: / wamp64 / www / myapp / frontend / web.

Portez une attention particulière à la DocumentRoot et Annuaire lignes. Ils doivent tous deux contenir le chemin d'accès complet du répertoire de l'application Yii jusqu'au fichier «Web» situé dans les répertoires frontend et backend, respectivement. Le contenu de DocumentRoot et Directory est identique à la différence que le chemin d'accès à Directory est indiqué entre guillemets..

Installation du modèle Yii-Advanced pour Windows

Pour installer le modèle avancé Yii, revenons au répertoire wamp64 \ www:

cd \ wamp64 \ www

Nous allons maintenant créer un nouveau répertoire nommé yii-advanced:

mkdir yii-advanced

Dans le nouveau répertoire, nous exécutons la commande suivante, qui installera le modèle Yii Advanced:

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

Jusqu'ici, l'installation de Yii Basic et de Yii Advanced est identique. Nous devrons maintenant ajouter quelques étapes supplémentaires pour que votre modèle avancé Yii soit prêt à passer à l'action..

Terminer la configuration Yii

Étapes pour Windows et Mac

Création de la base de données MySQL

En supposant que PHPmyAdmin soit installé sur votre serveur WAMP (il est inclus avec MAMP), vous pouvez créer la base de données via l'interface graphique de PHPmyAdmin, mais nous allons utiliser et utiliser la ligne de commande SQL, ce qui ne demande honnêtement pas beaucoup plus d'effort..

Dans la ligne de commande Windows, accédez au dossier MySQL en tapant:

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

Vous pouvez également le faire depuis n'importe où, tant que WAMP ou MAMP est dans le chemin de votre environnement local..

Ensuite, pour Mac et Windows, tapez:

mysql -u root -p

Cela nous amènera à la ligne de commande mysql. Nous allons maintenant exécuter la commande suivante en SQL:

créer la base de données yii2test;

(Vous pouvez nommer la base de données comme bon vous semble, à condition de vous assurer d'utiliser le nom approprié tout au long du processus.)

Nous allons maintenant créer un nom d'utilisateur et un mot de passe pour cette base de données en tapant les commandes SQL suivantes:

GRANT ALL on yiit2est. * TO 'votre-nom d'utilisateur' @ 'localhost' IDENTIFIED BY 'your_chosen_password'; FLUSH PRIVILEGES; SORTIE;

Vous allez maintenant quitter MySQL et revenir à la ligne de commande de la console..

Conservez le nom d'utilisateur et le mot de passe de la base de données sous la main, car nous en aurons besoin pour configurer le fichier de configuration PHP (common / config / main-local.php), ce qui permet à Yii de communiquer en toute sécurité avec MySQL..

Initialisation de l'application avancée Yii

Ceci est inutile pour les installations Yii-basic.

Pour initialiser Yii advanced, nous devrons accéder au dossier de l’application Yii-Advanced. Dans ce cas, ce serait:

cd \ wamp64 \ www \ yii-advanced \

Puis tapez init:

Cela lancera le script d'initialisation qui vous demandera si vous souhaitez initialiser Yii pour un environnement de développement ou de production; très probablement cela ressemblera à ceci:

Dans quel environnement voulez-vous que l'application soit initialisée? [0] Développement [1] Production 

Pour les besoins de ce didacticiel, nous allons travailler dans un environnement de développement. Tapez 0, tapez Entrée, puis tapez «oui» (sans guillemets) à l'invite et l'initialisation se terminera..

Nous avons presque terminé, il ne reste plus que quelques étapes de configuration et vous pouvez vous mettre à travailler en programmant avec Yii..

Mise à jour des paramètres de configuration Yii

Pour Yii-basic, vous allez éditer /yii-basic/config/db.ini. Pour, Yii-avancé, vous allez éditer /yii-advanced/common/config/main-local.php.

Pour éditer ce fichier, nous devrons utiliser un éditeur de texte. Atom est un excellent choix qui vous servira bien lorsque vous entrerez dans un codage plus avancé..

Pour ouvrir le fichier de configuration, utilisez soit le Fichier ouvert dans l’éditeur de texte ou accédez directement au fichier de configuration à l’aide de l’explorateur Windows et cliquez avec le bouton droit de la souris. Ouvrir avec et sélectionnez votre éditeur de texte. (Sous Windows, vous devrez peut-être utiliser l'éditeur de texte en tant qu'administrateur.)

L'exemple suivant de l'installation que nous utilisons aujourd'hui illustre ce processus. N'oubliez pas que vous utilisez peut-être une désignation de lecteur différente et que le chemin d'accès est légèrement différent selon le nom que vous avez donné à vos dossiers..

Le fichier de configuration devrait ressembler à ceci:

N'oubliez pas de saisir les mêmes nom d'utilisateur et mot de passe que vous avez utilisés pour configurer votre base de données Yii MySQL, sinon Yii et MySQL ne joueront pas bien.!

Et s'il vous plaît ne pensez même pas à utiliser le nom d'utilisateur et le mot de passe racine de votre base de données dans le fichier de configuration! [Jeff ici… vraiment, non.]

Utilisation de l'outil de migration Yii

Yii Advanced a ses propres migrations. Maintenant que MySQL est installé, nous aurons besoin de quelques tables. Les migrations Yii créent des tables et des schémas dans votre base de données MySQL par programme.

Pour démarrer l'outil de migration Yii dans Windows, nous devons accéder à notre répertoire d'installation Yii en tapant:

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

Là encore, vous pouvez choisir de l'installer sans le répertoire parent créé par Rod pour cette démonstration. Par exemple, pour MAMP, j'utilise:

$ cd ~ / sites / yii-advanced

Maintenant, tapez la commande suivante:

yii migrer

Dans un instant, il vous sera demandé si vous souhaitez "Appliquer la migration ci-dessus?"

Type Oui et appuyez sur retour. Si tout va bien, nous recevrons un message indiquant que Yii a migré avec succès..

Visiter votre site Web Yii

Maintenant pour le moment de vérité. Quand vous visitez localhost: 8888 dans votre navigateur, vous devriez voir:

Pour Yii Advanced, vous devrez peut-être essayer frontend.dev ou inclure le site frontal ou principal, par exemple. localhost: 8888 / frontend. Si vous n'activez pas votre fichier hôte, vous pouvez accéder directement à Yii via le chemin, localhost: 8888 / web.

Si vous avez installé le modèle avancé, accédez à la S'inscrire créer un lien et entrer un nom d'utilisateur, l'adresse e-mail que vous souhaitez utiliser et un mot de passe. 

N'utilisez pas votre mot de passe MySQL (celui que vous avez entré dans le fichier de configuration PHP). Ceci est la base de données du compte utilisateur Yii avec les nouveaux noms d'utilisateur et mots de passe.

Votre première inscription sera également l’utilisateur administratif de l’application Yii ayant accès à tout..

Maintenant que vous êtes inscrit, tapez dans le navigateur:

backend.dev

Vous devriez obtenir un écran de connexion administrateur où vous pouvez entrer votre nouveau nom d'utilisateur et mot de passe:

Cela vous ramènera à ce qui précède Yii “Toutes nos félicitations”Page mais en tant qu'utilisateur authentifié.

Maintenant, avec toutes les félicitations, pourquoi ne pas vous féliciter car vous venez d'installer avec succès Yii. Bien fait. [Jeff, si vous avez fait cela sous Windows, achetez un Mac et essayez-le là-bas.]

En clôture

J'espère que notre tutoriel d'aujourd'hui vous aidera à démarrer avec Yii. Rod et moi avons aimé écrire ceci ensemble.

Surveillez les prochains tutoriels de notre série Programmation avec Yii2 pendant que nous continuons à plonger dans différents aspects du cadre. Assurez-vous de consulter notre série Construire votre démarrage avec PHP qui utilise le modèle avancé de Yii2 pour créer une application du monde réel..

Comment programmer avec l'épisode de mise en route de Yii fait un excellent travail de détail sur la configuration de Yii basic et d'un serveur Linux de production.

Si vous souhaitez savoir quand le prochain tutoriel Yii2 arrive, suivez-moi @reifman sur Twitter ou consultez ma page d'instructeur. Ma page d’instructeur comprendra tous les articles de cette série dès leur publication.. 

Liens connexes

  • Cadre Yii
  • Yii2 Developer Exchange
  • Serveur WAMP
  • MAMP