


Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu
Avec l'exemple précédent "Hello, World" et l'introduction aux bases des applications Web Yii Framework, nous pouvons commencer à introduire une application Web simple mais relativement complète - Hangman (jeu de devinettes de mots). Cet exemple est fourni avec Yii Development. paquet publié. Grâce à cet exemple, vous pouvez comprendre les étapes de base du développement d'applications Yii
En parlant de "Pendu", cela me rappelle le "jeu de devinettes" auquel je jouais sur l'ordinateur CPC464 au lycée à la fin des années 1980 - Pendu, à chaque fois que je me trompais. Une fois, un méchant s'est rapproché de la potence. DOS venait juste de sortir à ce moment-là :-).
Pour développer une application Web, la première étape consiste à effectuer une analyse des besoins. Celle-ci n'est pas incluse dans ce tutoriel, mais par souci d'exhaustivité, les règles du « jeu des devinettes » sont énumérées ci-dessous :
Devinez le mot Le jeu (anglais : Hangman, signifiant « pendu ») est un jeu à deux joueurs. Un joueur pense à un mot et l’autre joueur essaie de deviner chaque lettre du mot auquel il pense.
Le mot à deviner est représenté par une colonne de lignes horizontales, permettant aux joueurs de savoir combien de lettres comporte le mot. Si le joueur qui devine devine correctement l'une des lettres, l'autre joueur doit écrire cette lettre dans toutes les positions où cette lettre apparaît. Si la lettre devinée n'apparaît pas dans le mot, l'autre joueur dessinera l'un des traits de la poupée au cou suspendu. Le jeu se terminera dans les situations suivantes :
"Je veux le mot." "Oui, à la huitième et à la onzième place
Devinez." le mot Le joueur a deviné toutes les lettres, ou a deviné le mot entier
L'autre joueur a dessiné le tableau complet :
L'exemple donné aujourd'hui ne dessine pas "Le Pendu", devinez-le correctement Si vous vous trompez, il affichera « Vous gagnez », si vous vous trompez, il affichera « Vous perdez ». Par conséquent, nous pouvons concevoir quatre pages :
Ces quatre pages correspondent au cadre Yii sous la forme de quatre vues, qui peuvent être nommées jouer, deviner, gagner, perdre, chacune. Chaque page affiche le titre "Hangman Game", afin que vous puissiez concevoir une "MasterPage" et devenir un modèle de mise en page dans Yii pour quatre vues à partager. L'application Yii adopte le modèle de conception MVC, nous pouvons donc concevoir un Controller->GameController pour quatre vues.
Le didacticiel précédent indiquait que l'application Yii utilise la structure de répertoires par défaut pour stocker différentes parties de l'application. Utilisez les outils fournis par Yii pour ajouter un répertoire de projet par défaut. Cependant, je préfère personnellement créer chaque répertoire par moi-même, donc sur la base des exigences ci-dessus et de la conception de l'interface, la structure de répertoires du projet peut être créée comme suit :
Le GameController.php créé est placé dans le répertoire protected/controller.
Les quatre vues créées Guess.php, Lose.php, Play.php, Win.php sont placées dans le répertoire protected/views/game. Le nom du répertoire game correspond à la mise en page partagée créée par GameController.
et est placé dans le répertoire protected/views/layout. Le nom de la mise en page par défaut est main.php
fichier de configuration de l'application. Placez-le. dans protected/config. Le fichier de configuration par défaut est main.php
Le script d'entrée de l'application est index.php
De plus, le fichier texte pour deviner les mots est word.txt
1. Tout d'abord, jetons un coup d'œil au fichier de configuration protected/config/main.php
return array( 'name'=>'Hangman Game', 'defaultController'=>'game', 'components'=>array( 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'game/guess/'=>'game/guess',),), ),);
Tous les attributs inscriptibles de l'application CWebApplication peuvent être définis via Dans le fichier de configuration, nous voyons que le fichier de configuration définit le nom de l'application comme "Hangman Game", puis modifie le nom du contrôleur par défaut de l'application Web en jeu, qui correspond à GameController. Si le defaultController n'est pas redéfini, la valeur par défaut. Le nom du contrôleur est SiteController, donc View sera stocké dans le répertoire protected/views/site. De plus, cette application Yii ouvre le composant urlManager. La fonction de ce composant sera présentée plus loin. Il est principalement utilisé pour définir le format des URL auxquelles les utilisateurs peuvent accéder (format de routage).
2. Avec ce fichier de configuration, vous pouvez l'utiliser dans le script d'entrée index.php de chaque application Yii est similaire. Dans la plupart des cas, il s'agit de Copier & Coller
.
3. Définissez ensuite le fichier de mise en page protected/views/layout/main.php main.php utilisé par View comme modèle de mise en page par défaut. L'application peut modifier la mise en page utilisée par View. Je veux juste le nom de mise en page par défaut principal.
La mise en page est essentiellement un fichier HTML, dans lequel, comme espace réservé de la vue, c'est-à-dire lors de l'affichage d'une vue spécifique, telle que play.php, utilisez le contenu de play.php pour le remplacer $content. Réalisant ainsi une fonction similaire à "MasterPage".
4. Vous pouvez définir les quatre vues une par une. Elles ne sont pas répertoriées ici. Prenez play.php comme exemple :
Vous pouvez voir qu'il s'agit essentiellement de HTML, et CHtml est une classe auxiliaire prise en charge par le framework Yii pour aider à générer du code HTML. Hangman est relativement simple, il n'utilise donc pas de modèle séparé, mais transmet les paramètres via le rendu push.
Vous devez appeler CController::render() en passant le nom de la vue. Cette méthode recherchera le fichier de vue correspondant dans le répertoire protected/views/ControllerID
Dans le script de vue, nous pouvons accéder à l'instance du contrôleur via $this. Nous pouvons accéder à l'instance du contrôleur via $this->. ; méthode propertyName pour extraire n'importe quelle propriété du contrôleur.
Nous pouvons également utiliser la méthode push suivante pour transmettre des données à la vue :
$this->render('edit', array (
'var1'=>$value1,
'var2'=>$value2,
));
Dans la méthode ci-dessus, la méthode render() va extraire le deuxième paramètre du tableau dans la variable. Le résultat est que dans le script de vue, nous pouvons accéder directement aux variables $var1 et $var2.
5. Écrivez GameController,
Généralement, l'action par défaut du Controller est index. Vous pouvez modifier l'action par défaut via $defaultAction. Dans ce cas, elle est modifiée pour jouer. si cet exemple, l'url est http://127.0.0.1:8888/yii/demos/hangman/
alors utilisez http://127.0.0.1:8888/yii/demos/hangman/index.php et utilisez http : //127.0 .0.1:8888/yii/demos/hangman/index.php?game/play a le même effet. Le contrôleur par défaut est GameController, et l'action par défaut de GameController est play.
Action (action) peut être définie comme une méthode nommée avec le mot action comme préfixe. Hangman définit trois actions, actionPlay, actionGuess, actionGiveup, GameController, d'autres méthodes et attributs, et les mots générés. Déterminer si deviner est équivalent. La logique spécifique du jeu n'a pas grand-chose à voir avec le framework Yii et ne sera pas présentée.
6. Regardez d'abord la playAction par défaut. Il s'agit de la méthode par défaut appelée par l'utilisateur, c'est-à-dire lorsque la barre d'adresse du groupe d'utilisateurs entre http://127.0.0.1:8888/yii/demos. /hangman / Action appelée par index.php (ou http://127.0.0.1:8888/yii/demos/hangman/index.php?game/play).
Cette méthode définit les trois niveaux de difficulté du jeu, $levels, avec deux branches Si aucun niveau de difficulté n'est sélectionné, $this->render(' play'. ,$params), affichez la page Play, poussez $params (Array) vers la View correspondante, protected/views/play.php, référez-vous à la définition de View ci-dessus :
View utilise Radiobutton pour afficher la liste définie par $levels.
Si l'utilisateur sélectionne le niveau de difficulté, stockez le niveau, les mots, etc. dans les attributs définis par GameController, tels que le mot, le niveau, etc. GameController et CController sont également des sous-classes de CComponent prend en charge des fonctions d'attribut similaires à C# et Java. Plus de détails seront introduits plus tard.
Appelez ensuite $this->render('guess'); pour afficher la page Devinez.
La page de devinettes Guess.php est définie comme suit :
Dans View, vous pouvez accéder directement aux méthodes et propriétés de l'objet d'instance de contrôleur correspondant via $this. Tels que $this->guessWord, $this->isGuessed(chr($i)), etc.
Cliquez sur 26 lettres pour déclencher devinerAction (array('submit'=>array('guess','g'=>chr($i))))).
7. La définition de GuessAction est
, où le paramètre « g » est transmis lorsqu'il est soumis par la page de deviner. Si tous les mots sont devinés correctement, « Vous gagnez ». être affiché ou tous les temps de deviner incorrectement ont été épuisés. Affiche "Vous perdez", $this->render($result ? 'win' : 'lose'),
Si vous avez encore une chance de deviner, revenir à la page de deviner $this->render('guess');
8. Il y a aussi un bouton "Abandonner" sur la page Deviner, sur lequel l'utilisateur clique pour déclencher GiveupAction. est relativement simple et affiche directement la page perdue
Maintenant, le jeu du Pendu est pratiquement terminé. Bien que le jeu soit simple, il illustre le processus de base de développement d'applications utilisant Yii. Le processus de développement présenté dans le document de développement de Yii est présenté ci-dessous et n'utilise pas de bases de données ni d'internationalisation.
Le processus de développement suppose ici que nous avons effectué l'analyse des exigences et l'analyse de conception nécessaire de l'application.
Créer un squelette de structure de répertoires. L'outil yiic mentionné dans Création de la première application Web peut rapidement mettre en œuvre cette étape.
Configurez cette application. Ceci est réalisé en modifiant le fichier de configuration de l'application. Cette étape peut également nécessiter l'écriture de certains composants applicatifs (tels que des composants utilisateur).
Créez une classe Model pour chaque type de données gérées. Les outils Gii décrits dans Création de la première application Yii et Génération automatique de code peuvent être utilisés pour créer rapidement des classes d'enregistrement actives pour chaque table de données. 4. Créez une classe de contrôleur pour chaque type de demande utilisateur. La manière de classer les demandes des utilisateurs dépend des besoins réels. De manière générale, si les utilisateurs doivent accéder à une classe de modèle, elle doit avoir une classe de contrôleur correspondante. Les outils Gii peuvent également automatiser cette étape.
Mettre en œuvre des actions et leurs vues correspondantes. C’est le vrai travail qui doit être fait.
Configurez les filtres d'action nécessaires dans la classe du contrôleur.
Si vous avez besoin d'une fonctionnalité de thème, créez un thème.
Si l'internationalisation (I18N) est requise, créez les informations de traduction.
Appliquez des techniques de mise en cache appropriées aux points de données et aux points de vue pouvant être mis en cache.
Ajustements finaux et déploiement.
Ce qui précède est le contenu du tutoriel du framework de développement PHP Yii Framework (4) Exemple de jeu de devinettes de mots du pendu Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Avec le développement continu de la technologie du cloud computing, la sauvegarde des données est devenue quelque chose que chaque entreprise doit faire. Dans ce contexte, il est particulièrement important de développer un système de sauvegarde cloud hautement disponible. Le framework PHP Yii est un framework puissant qui peut aider les développeurs à créer rapidement des applications Web hautes performances. Ce qui suit explique comment utiliser le framework Yii pour développer un système de sauvegarde cloud hautement disponible. Conception du modèle de base de données Dans le framework Yii, le modèle de base de données est une partie très importante. Parce que le système de sauvegarde des données nécessite beaucoup de tables et de relations

Alors que la demande d'applications Web continue de croître, les développeurs ont de plus en plus de choix dans le choix des frameworks de développement. Symfony et Yii2 sont deux frameworks PHP populaires. Ils ont tous deux des fonctions et des performances puissantes, mais face à la nécessité de développer des applications Web à grande échelle, quel framework est le plus adapté ? Nous procéderons ensuite à une analyse comparative de Symphony et Yii2 pour vous aider à faire un meilleur choix. Présentation de base Symphony est un framework d'application Web open source écrit en PHP et basé sur

À mesure qu’Internet continue de se développer, la demande de développement d’applications Web augmente également. Pour les développeurs, le développement d'applications nécessite un cadre stable, efficace et puissant, qui peut améliorer l'efficacité du développement. Yii est un framework PHP hautes performances de premier plan qui offre des fonctionnalités riches et de bonnes performances. Yii3 est la version nouvelle génération du framework Yii, qui optimise davantage les performances et la qualité du code basé sur Yii2. Dans cet article, nous présenterons comment utiliser le framework Yii3 pour développer des applications PHP.

Le framework Yii est un framework d'application Web PHP open source qui fournit de nombreux outils et composants pour simplifier le processus de développement d'applications Web, dont la requête de données est l'un des composants importants. Dans le framework Yii, nous pouvons utiliser une syntaxe de type SQL pour accéder à la base de données afin d'interroger et de manipuler les données efficacement. Le générateur de requêtes du framework Yii comprend principalement les types suivants : requête ActiveRecord, requête QueryBuilder, requête de commande et requête SQL originale.

À l’ère actuelle de l’information, le big data, l’intelligence artificielle, le cloud computing et d’autres technologies sont devenus au centre des préoccupations des grandes entreprises. Parmi ces technologies, la technologie de rendu des cartes graphiques, en tant que technologie de traitement graphique haute performance, fait l'objet de plus en plus d'attention. La technologie de rendu des cartes graphiques est largement utilisée dans le développement de jeux, les effets spéciaux de films et de télévision, la modélisation technique et d'autres domaines. Pour les développeurs, choisir un framework adapté à leurs projets est une décision très importante. Parmi les langages actuels, PHP est un langage très dynamique. Quelques excellents frameworks PHP comme Yii2, Ph.

Si vous demandez « Qu'est-ce que Yii ? », consultez mon tutoriel précédent : Introduction au framework Yii, qui passe en revue les avantages de Yii et décrit les nouveautés de Yii 2.0, publié en octobre 2014. Hmm> Dans cette série Programmation avec Yii2, je guiderai les lecteurs dans l'utilisation du framework Yii2PHP. Dans le didacticiel d'aujourd'hui, je vais partager avec vous comment tirer parti des fonctionnalités de la console Yii pour exécuter des tâches cron. Dans le passé, j'ai utilisé wget - une URL accessible sur le Web - dans une tâche cron pour exécuter mes tâches en arrière-plan. Cela soulève des problèmes de sécurité et entraîne des problèmes de performances. Alors que je discutais de certaines façons d'atténuer les risques dans notre série Sécurité pour les startups, j'avais espéré passer aux commandes pilotées par la console.

Avec le développement rapide d’Internet, les API sont devenues un moyen important d’échange de données entre diverses applications. Par conséquent, il est devenu de plus en plus important de développer un framework API facile à maintenir, efficace et stable. Lors du choix d'un framework API, Yii2 et Symfony sont deux choix populaires parmi les développeurs. Alors, lequel est le plus adapté au développement d’API ? Cet article comparera ces deux cadres et donnera quelques conclusions. 1. Introduction de base Yii2 et Symfony sont des frameworks PHP matures avec les extensions correspondantes qui peuvent être utilisées pour développer

Dans le développement de logiciels modernes, créer un système de gestion de contenu (CMS) puissant n’est pas une tâche facile. Non seulement les développeurs doivent posséder des compétences et une expérience approfondies, mais ils doivent également utiliser les technologies et les outils les plus avancés pour optimiser leurs fonctionnalités et leurs performances. Cet article explique comment utiliser Yii2 et GrapeJS, deux logiciels open source populaires, pour implémenter un CMS back-end et une édition visuelle frontale. Yii2 est un framework PHPWeb populaire qui fournit des outils et des composants riches pour créer rapidement
