Maison développement back-end tutoriel php Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

Jan 21, 2017 am 09:39 AM

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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

"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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

return array(
'name'=>'Hangman Game',
'defaultController'=>'game',
'components'=>array(
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'game/guess/'=>'game/guess',),),
),);
Copier après la connexion

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

. Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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.

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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,

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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).

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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 :

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

, 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

Cadre de développement PHP Tutoriel Yii Framework (4) Exemple de jeu de devinettes de mots du pendu

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) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser le framework PHP Yii pour développer un système de sauvegarde cloud hautement disponible Comment utiliser le framework PHP Yii pour développer un système de sauvegarde cloud hautement disponible Jun 27, 2023 am 09:04 AM

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

Symfony vs Yii2 : quel framework est le meilleur pour développer des applications Web à grande échelle ? Symfony vs Yii2 : quel framework est le meilleur pour développer des applications Web à grande échelle ? Jun 19, 2023 am 10:57 AM

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

Comment utiliser le framework Yii3 en php ? Comment utiliser le framework Yii3 en php ? May 31, 2023 pm 10:42 PM

À 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.

Requête de données dans le framework Yii : accédez efficacement aux données Requête de données dans le framework Yii : accédez efficacement aux données Jun 21, 2023 am 11:22 AM

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.

Yii2 vs Phalcon : quel framework est le meilleur pour développer des applications de rendu graphique ? Yii2 vs Phalcon : quel framework est le meilleur pour développer des applications de rendu graphique ? Jun 19, 2023 am 08:09 AM

À 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.

Guide de programmation Yii2 : Comment exécuter le service Cron Guide de programmation Yii2 : Comment exécuter le service Cron Sep 01, 2023 pm 11:21 PM

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.

Yii2 vs Symfony : quel framework est le meilleur pour le développement d'API ? Yii2 vs Symfony : quel framework est le meilleur pour le développement d'API ? Jun 18, 2023 pm 11:00 PM

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

Développement PHP : utilisez Yii2 et GrapeJS pour implémenter un CMS back-end et une édition visuelle front-end Développement PHP : utilisez Yii2 et GrapeJS pour implémenter un CMS back-end et une édition visuelle front-end Jun 15, 2023 pm 11:48 PM

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

See all articles