suchen
HeimBackend-EntwicklungPHP-TutorialPHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Mit dem vorherigen „Hello, World“-Beispiel und der Einführung in die Grundlagen von Yii Framework-Webanwendungen können wir mit der Einführung einer einfachen, aber relativ vollständigen Webanwendung beginnen – Hangman (Ratespiel). Dieses Beispiel wird mit Yii Development geliefert Paket freigegeben. Anhand dieses Beispiels können Sie die grundlegenden Schritte der Entwicklung von Yii-Anwendungen verstehen.

Apropos „Hangman“: Es erinnert mich an das „Ratespiel“, das ich Ende der 1980er Jahre auf dem CPC464-Computer gespielt habe. Henker, jedes Mal habe ich falsch geraten. Einmal wurde ein Bösewicht einen Schritt näher an den Galgen gebracht. DOS war damals gerade herausgekommen :-).

Um eine Webanwendung zu entwickeln, ist der erste Schritt die Durchführung einer Anforderungsanalyse. Diese ist nicht in diesem Tutorial enthalten, aber der Vollständigkeit halber sind unten die Regeln des „Ratespiels“ aufgeführt:

Rate das Wort Das Spiel (englisch: Hangman, was „Gehängter“ bedeutet) ist ein Spiel für zwei Spieler. Ein Spieler denkt sich ein Wort aus und der andere Spieler versucht, jeden Buchstaben des Wortes zu erraten, an das der Spieler denkt.

Das zu erratende Wort wird durch eine Spalte aus horizontalen Linien dargestellt, die den Spielern mitteilen, wie viele Buchstaben das Wort hat. Wenn der Ratespieler einen der Buchstaben richtig errät, muss der andere Spieler diesen Buchstaben an allen Stellen schreiben, an denen er vorkommt. Wenn der erratene Buchstabe nicht im Wort vorkommt, zeichnet der andere Spieler einen der Striche der Hängepuppe. Das Spiel endet in den folgenden Situationen:

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

„Ich möchte das T-Wort.“ „Ja, auf dem achten und elften Platz.“ das Wort Der Spieler hat alle Buchstaben erraten oder das ganze Wort erraten

Der andere Spieler hat das vollständige Bild gezeichnet:

Das heutige Beispiel zeichnet nicht „Der Gehängte“, erraten Sie es richtig Wenn Sie falsch raten, wird „Sie gewinnen“ angezeigt, wenn Sie falsch raten, wird „Sie verlieren“ angezeigt. Daher können wir vier Seiten entwerfen:

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel Diese vier Seiten entsprechen dem Yii-Framework als vier Ansichten, die jeweils als Spielen, Raten, Gewinnen, Verlieren bezeichnet werden können Jede Seite Zeigt den Titel „Hangman Game“ an, sodass Sie eine „MasterPage“ entwerfen und in Yii zu einer Layoutvorlage für vier Ansichten zum Teilen werden können. Die Yii-Anwendung übernimmt das MVC-Entwurfsmuster, sodass wir einen Controller->GameController für vier Ansichten entwerfen können.

Im vorherigen Tutorial wurde gesagt, dass die Yii-Anwendung die Standardverzeichnisstruktur verwendet, um verschiedene Teile der Anwendung zu speichern. Verwenden Sie die von Yii bereitgestellten Tools, um ein Standardprojektverzeichnis hinzuzufügen. Ich persönlich bevorzuge es jedoch, jedes Verzeichnis selbst zu erstellen, sodass die Verzeichnisstruktur des Projekts basierend auf den oben genannten Anforderungen und dem Schnittstellendesign wie folgt erstellt werden kann:

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-WortratespielDie Die erstellte GameController.php wird im Verzeichnis protected/controller abgelegt.

Die vier erstellten Ansichten „guest.php“, „lose.php“, „play.php“ und „win.php“ werden im Verzeichnis protected/views/game abgelegt. Der Verzeichnisname game entspricht dem von GameController erstellten freigegebenen Layout.

und wird im Verzeichnis protected/views/layout abgelegt. Der Standardlayoutname lautet main.php

Anwendungskonfigurationsdatei Platzieren Sie es in protected/config. Die Standardkonfigurationsdatei ist main.php

Das Anwendungseintragsskript ist index.php

Außerdem ist die Textdatei zum Erraten von Wörtern word.txt

1. Werfen wir zunächst einen Blick auf die Konfigurationsdatei protected/config/main.php

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Alle beschreibbaren Attribute der CWebApplication-Anwendung können über definiert werden In der Konfigurationsdatei sehen wir, dass die Konfigurationsdatei den Namen der Anwendung als „Hangman Game“ definiert und dann den Standard-Controllernamen der Webanwendung in „Game“ ändert, was GameController entspricht Der Controllername ist SiteController, daher wird View im Verzeichnis protected/views/site gespeichert. Darüber hinaus öffnet diese Yii-Anwendung die URLManager-Komponente. Die Funktion dieser Komponente wird hauptsächlich zum Definieren des Formats von URLs verwendet, auf die Benutzer zugreifen können (Routing-Format).
return array(
'name'=>'Hangman Game',
'defaultController'=>'game',
'components'=>array(
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'game/guess/'=>'game/guess',),),
),);

2. Mit dieser Konfigurationsdatei können Sie sie im Eingabeskript index.php jeder Yii-Anwendung verwenden. In den meisten Fällen handelt es sich um Kopieren und Einfügen

3. Definieren Sie dann die von View verwendete Layoutdatei „protected/views/layout/main.php“. Die Anwendung kann das von View verwendete Layout ändern Ich möchte nur den Standardlayoutnamen main.

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Das Layout ist im Grunde eine HTML-Datei, in der der Inhalt als Platzhalter der Ansicht, also bei der Anzeige einer bestimmten Ansicht, wie z. B. play.php, verwendet wird von play.php, um es zu ersetzen. Dadurch wird eine ähnliche Funktion wie „MasterPage“ realisiert.

4. Sie können die vier Ansichten einzeln definieren. Sie sind hier nicht aufgeführt: PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Sie können sehen, dass es sich im Wesentlichen um HTML handelt und CHtml eine vom Yii-Framework unterstützte Hilfsklasse ist, die beim Generieren von HTML-Code hilft. Hangman ist relativ einfach, verwendet also kein separates Modell, sondern übergibt Parameter per Render-Push.

Sie müssen CController::render() aufrufen, indem Sie den Namen der Ansicht übergeben. Diese Methode sucht nach der entsprechenden Ansichtsdatei im Verzeichnis protected/views/ControllerID.

Innerhalb des Ansichtsskripts können wir über $this-> auf die Controller-Instanz zugreifen ; propertyName-Methode zum Abrufen einer beliebigen Eigenschaft des Controllers.

Wir können auch die folgende Push-Methode verwenden, um Daten an die Ansicht zu übergeben:

$this->render('edit', array (
'var1'=>$value1,
'var2'=>$value2,
));

In der obigen Methode die render()-Methode Extrahiert den zweiten Parameter des Arrays in die Variable. Das Ergebnis ist, dass wir im Ansichtsskript direkt auf die Variablen $var1 und $var2 zugreifen können.

5 Nachdem Sie das Layout und die Ansicht definiert haben Schreiben Sie GameController,

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Im Allgemeinen ist die Standardaktion durch $defaultAction geändert. Wenn in diesem Beispiel die URL http://127.0.0.1:8888/yii/demos/hangman/
lautet, dann verwenden Sie http://127.0.0.1:8888/yii/demos/hangman/index.php und verwenden Sie http: //127.0 .0.1:8888/yii/demos/hangman/index.php?game/play hat den gleichen Effekt. Der Standard-Controller ist GameController und die Standardaktion von GameController ist Spielen.

Aktion (Aktion) kann als Methode definiert werden, deren Name das Wort Aktion ist. Hangman definiert drei Aktionen: actionPlay, actionGuess, actionGiveup, GameController, andere Methoden und Attribute sowie generierte Wörter. Die spezifische Spiellogik hat wenig mit dem Yii-Framework zu tun und wird nicht vorgestellt.

6. Schauen Sie sich zunächst die Standard-PlayAction an. Dies ist die vom Benutzer aufgerufene Standardmethode, das heißt, wenn die Benutzergruppenadressleiste http://127.0.0.1:8888/yii/demos eingibt /hangman / Von index.php aufgerufene Aktion (oder http://127.0.0.1:8888/yii/demos/hangman/index.php?game/play).

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Diese Methode definiert die drei Schwierigkeitsgrade des Spiels, $levels, mit zwei Zweigen. Wenn kein Schwierigkeitsgrad ausgewählt ist, $this->render(' play'. ,$params), zeigen Sie die Wiedergabeseite an, verschieben Sie $params (Array) in die entsprechende Ansicht, protected/views/play.php, siehe Definition von Ansicht oben:

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

View verwendet Radiobutton, um die durch $levels definierte Liste anzuzeigen.

Wenn der Benutzer den Schwierigkeitsgrad auswählt, speichern Sie den Level, die Wörter usw. in den vom GameController definierten Attributen, z. B. Wort, Level usw. GameController und CController sind ebenfalls Unterklassen von CComponent und unterstützen Attributfunktionen ähnlich wie C# und Java. Weitere Details werden später bekannt gegeben.
Dann rufen Sie $this->render(‘guess’); auf, um die Guess-Seite anzuzeigen.
Guess-Seiteguest.php ist wie folgt definiert:

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

In View können Sie über $this direkt auf die Methoden und Eigenschaften des entsprechenden Controller-Instanzobjekts zugreifen. Zum Beispiel $this->guessWord, $this->isGuessed(chr($i)) usw.
Klicken Sie auf 26 Buchstaben, um „guessAction“ auszulösen (array('submit'=>array('guess','g'=>chr($i))))).

unten Die Definition von „guessAction“ ist

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

, wobei der Parameter „g“ bei der Übermittlung durch die Rateseite übergeben wird. Wenn alle Wörter richtig erraten werden, wird „Sie gewinnen“. angezeigt werden, oder alle Zeiten, in denen Sie falsch geraten haben, werden angezeigt zurück zur Guess-Seite $this->render('guess');

8 Es gibt auch eine Schaltfläche „Aufgeben“ auf der Guess-Seite. Wenn der Benutzer darauf klickt, wird die GiveupAction ausgelöst. Diese Methode ist relativ einfach und zeigt direkt die Verlustseite an

PHP-Entwicklungsframework Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel

Jetzt ist das Hangman-Spiel im Grunde abgeschlossen. Obwohl das Spiel einfach ist, veranschaulicht es den grundlegenden Prozess der Entwicklung von Anwendungen mit Yii. Der im Yii-Entwicklungsdokument beschriebene Entwicklungsprozess ist relativ einfach und verwendet keine Datenbanken und Internationalisierung.

Der Entwicklungsprozess setzt hier voraus, dass wir die Anforderungsanalyse und die notwendige Designanalyse der Anwendung abgeschlossen haben.

Erstellen Sie ein Verzeichnisstrukturgerüst. Das unter „Erstellen der ersten Webanwendung“ erwähnte yiic-Tool kann diesen Schritt schnell umsetzen.

Konfigurieren Sie diese Anwendung. Dies wird durch Ändern der Anwendungskonfigurationsdatei erreicht. Dieser Schritt erfordert möglicherweise auch das Schreiben einiger Anwendungskomponenten (z. B. Benutzerkomponenten).

Erstellen Sie eine Modellklasse für jeden verwalteten Datentyp. Die unter „Erstellen der ersten Yii-Anwendung und automatische Codegenerierung“ beschriebenen Gii-Tools können verwendet werden, um schnell aktive Datensatzklassen für jede Datentabelle zu erstellen. 4. Erstellen Sie für jeden Benutzeranforderungstyp eine Controller-Klasse. Wie Benutzeranfragen klassifiziert werden, hängt von den tatsächlichen Bedürfnissen ab. Wenn Benutzer auf eine Modellklasse zugreifen müssen, sollte sie im Allgemeinen über eine entsprechende Controller-Klasse verfügen. Gii-Tools können diesen Schritt auch automatisieren.

Implementieren Sie Aktionen und die entsprechenden Ansichten. Das ist die eigentliche Arbeit, die getan werden muss.

Konfigurieren Sie die erforderlichen Aktionsfilter in der Controller-Klasse.

Wenn Sie Theme-Funktionalität benötigen, erstellen Sie ein Theme.

Wenn eine Internationalisierung (I18N) erforderlich ist, erstellen Sie Übersetzungsinformationen.

Wenden Sie geeignete Caching-Techniken auf zwischenspeicherbare Datenpunkte und Ansichtspunkte an.

Endgültige Anpassungen und Bereitstellung.

Das Obige ist der Inhalt des PHP-Entwicklungsframeworks Yii Framework-Tutorial (4) Beispiel für ein Hangman-Wortratespiel. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen?Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen?Apr 17, 2025 am 12:25 AM

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Wie handelt es sich bei PHP -Objektklonen (Klonschlüsselwort) und der __clone Magic -Methode?Wie handelt es sich bei PHP -Objektklonen (Klonschlüsselwort) und der __clone Magic -Methode?Apr 17, 2025 am 12:24 AM

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP vs. Python: Anwendungsfälle und AnwendungenPHP vs. Python: Anwendungsfälle und AnwendungenApr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Beschreiben Sie verschiedene HTTP-Caching-Header (z. B. Cache-Control, ETAG, Last-modifiziert).Beschreiben Sie verschiedene HTTP-Caching-Header (z. B. Cache-Control, ETAG, Last-modifiziert).Apr 17, 2025 am 12:22 AM

Zu den wichtigsten Spielern in HTTP-Cache-Headern gehören Cache-Control, ETAG und Last-modifiziert. 1.Cache-Control wird verwendet, um die Richtlinien zu kontrollieren. Beispiel: Cache-Control: max-ay = 3600, öffentlich. 2. ETAG überprüft Ressourcenänderungen durch eindeutige Identifikatoren, Beispiel: ETAG: "686897696A7C876B7E". 3. Last-modifiziert gibt die letzte Änderungszeit der Ressource an, Beispiel: Last-Modified: Mi, 21okt201507: 28: 00GMT.

Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden?Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden?Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP: Eine Einführung in die serverseitige SkriptsprachePHP: Eine Einführung in die serverseitige SkriptspracheApr 16, 2025 am 12:18 AM

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP und das Web: Erforschen der langfristigen AuswirkungenPHP und das Web: Erforschen der langfristigen AuswirkungenApr 16, 2025 am 12:17 AM

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.

Warum PHP verwenden? Vorteile und Vorteile erläutertWarum PHP verwenden? Vorteile und Vorteile erläutertApr 16, 2025 am 12:16 AM

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft