


PHP-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:
„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:
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:
Die 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
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.4. Sie können die vier Ansichten einzeln definieren. Sie sind hier nicht aufgeführt:
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,
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).
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:
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:
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
, 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');
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)!

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.

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

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.

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

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.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft