Ende letzten Jahres ver?ffentlichte SitePoint einen Artikel, in dem die Top -PHP -Frameworks hervorgehoben wurden. Für die Nummer vier befand sich das yii (ausgesprochen yee ) Framework. Zu dieser Zeit betrug die neueste Version des verfügbaren Framework 1.1.14. Vor kurzem wurde Yii 2.0 zur Verfügung gestellt, sodass Sie es in der Produktion verwenden k?nnen.
W?hrend wir es kürzlich behandelt haben, als es noch im RC -Status war, hat es nur den vollst?ndigen Status der Ver?ffentlichung erreicht, und wir haben das Gefühl, dass es Zeit ist, das Thema mit einigen Gründen für die Auswahl der Alternativen erneut zu besuchen.
Key Takeaways
- yii 2 Framework ist einfach zu installieren und speichern Entwickler Zeit mit dem einfachen Installations- und Konfigurationsprozess, der mit dem Komponisten behandelt wird.
- Das Framework nutzt moderne Technologien, die als reines OOP -Framework wirkt und fortschrittliche PHP -Merkmale wie sp?te statische Bindung, SPL -Klassen und Schnittstellen und anonyme Funktionen nutzt.
- yii 2 ist hoch erweiterbar, sodass praktisch alle Komponenten des Frameworks so angepasst werden k?nnen, dass die spezifischen Anforderungen angepasst werden.
- Das Framework f?rdert das Testen und wird eng in die Codecception integriert, ein PHP -Test -Framework, das den Prozess der Erstellung von Einheiten-, Funktions- und Akzeptanztests vereinfacht.
- yii 2 vereinfacht die Sicherheit mit seiner Sicherheitsanwendungskomponente, wodurch verschiedene Methoden aufgedeckt werden, um eine sichere Anwendung zu erstellen. Es enth?lt auch Konferenzklassen für die Benutzerauthentifizierung und Autorisierung.
1. Einfach zu installieren
Für Webentwickler ist Zeit Geld und niemand m?chte seine kostbare Zeit für einen komplizierten Installations- und Konfigurationsprozess verbringen.
Die Installation wird mit einem Komponisten behandelt. Wenn Sie eine Beschreibung des Installationsprozesses wünschen, hat SitePoint kürzlich hier einen gro?artigen Artikel ver?ffentlicht. Ich neige dazu, die Verwendung der grundlegenden Anwendungsvorlage zu bevorzugen, auch wenn meine Website über eine separate Front- und Backend-Komponente verfügt. Stattdessen verwenden ich ein Modul für den Backend -Teil meiner Websites. (YII-Module werden am besten als Mini-Anwendungen beschrieben, die sich in Ihrer Hauptanwendung befinden.)
Hinweis : Viele der Verzeichnisreferenzen in sp?teren Beispielen verwenden die Verzeichnisstruktur aus der einfachen Vorlage.
2. Verwendet moderne Technologien
yii ist ein reines OOP -Framework und nutzt einige der fortgeschritteneren Merkmale von PHP, darunter sp?te statische Bindung, SPL -Klassen und -Schnitterfl?chen sowie anonyme Funktionen.
Alle Klassen sind namensspasiert, sodass Sie den pSR-4-konformen Autoloader nutzen k?nnen. Das bedeutet, dass die HTML -Helferklasse von YII so einfach ist wie:
<span>use yii<span>\helpers\Html</span>;</span>
yii erm?glicht es Ihnen auch, Aliase zu definieren, um Ihre Namespaces zu vereinfachen. Im obigen Beispiel l?dt diese Verwendungsanweisung eine Klassendefinition, die standardm??ig im Verzeichnis/Anbieter/Yiisoft/yii2/Helpers lokalisiert ist. Dieser Alias ??ist in der Basisyii -Klasse in Zeile 79:
definiert<span>use yii<span>\helpers\Html</span>;</span>
Das Framework selbst wird mit Composer installiert, ebenso wie seine Erweiterungen. Sogar der Prozess der Ver?ffentlichung von Erweiterungen ist so einfach wie das Erstellen Ihres eigenen Composers.json, das Hosting Ihres Codes bei GitHub und das Auflisten Ihrer Erweiterung auf Packagist.
3. Hoch erweiterbar
yii ist wie ein Anzug, der aus dem Rack toll aussieht, aber auch sehr einfach zu ma?geschneidert ist, um Ihren Anforderungen zu entsprechen. Praktisch jede Komponente des Frameworks ist erweiterbar. Ein einfaches Beispiel ist die Zugabe einer eindeutigen K?rper -ID zu Ihren Ansichten. (Wenn Sie wissen m?chten, warum Sie dies vielleicht tun m?chten, schauen Sie sich diesen Artikel an.)
Erstens würde ich eine Datei in meinem AppComponents -Verzeichnis mit der Namensansicht.php erstellen und Folgendes hinzufügen:
<span>public static $aliases = ['@yii' => __DIR__];</span>
Dann würde ich in meiner Hauptlayout -Datei (AppViewSlayoutsMain.php) dem K?rper Tag meines HTML Folgendes hinzufügen:
<span>namespace app<span>\components</span>; </span> <span>class View extends yii<span>\web\View</span> { </span> <span>public $bodyId; </span> <span>/* Yii allows you to add magic getter methods by prefacing method names with "get" */ </span> <span>public function getBodyIdAttribute() { </span> <span>return ($this->bodyId != '') ? '' : ''; </span> <span>} </span> <span>}</span>
Und schlie?lich würde ich meiner Hauptkonfigurationsdatei Folgendes hinzufügen, damit Yii wissen, dass sie meine erweiterte Ansichtsklasse anstelle ihrer eigenen Standardeinstellung verwenden:
<span><span><span><body</span> <span><span><?=$this->BodyIdAttribute?></span></span>></span></span>
4. F?rdert das Testen
yii ist eng in die Codekzeption integriert. Die Codecception ist ein gro?artiges PHP -Test -Framework, mit dem die Erstellung von Einheiten-, Funktions- und Akzeptanztests für Ihre Anwendung vereinfacht wird. Weil Sie automatisierte Tests für alle Ihre Anwendungen schreiben, oder?
Mit der Codecception -Erweiterung k?nnen Sie Ihre Anwendung w?hrend des Tests konfigurieren. Bearbeiten Sie einfach die Datei für /tests/_config.php, um Ihre Testanwendung zu konfigurieren. Zum Beispiel:
<span>return [ </span> <span>// ... </span> <span>'components' => [ </span> <span>// ... </span> <span>'view' => [ </span> <span>'class' => 'app\components\View' </span> <span>] </span> <span>] </span><span>];</span>
Verwenden dieser Konfiguration würde Folgendes auftreten:
- Alle w?hrend Ihrer Funktions- und Akzeptanztests gesendeten E -Mails würden in eine Datei geschrieben, anstatt gesendet zu werden.
- Die URLs in Ihren Tests würden den Format index.php/controller/Aktion anstelle/Controller/Aktion übernehmen
- Ihre Tests verwenden Ihre Testdatenbank und nicht Ihre Produktionsdatenbank.
Ein spezielles Modul für das YII -Framework existiert auch in der Codekzeption. Es fügt der Testguy -Klasse verschiedene Methoden hinzu, die Ihnen helfen, w?hrend Funktionstests mit aktiven Aufzeichnungen (YII -ORM) zu arbeiten. Wenn Sie beispielsweise sehen m?chten, ob Ihr Registrierungsformular einen neuen Benutzer mit dem Benutzernamen ?Testuser“ erfolgreich erstellt hat, k?nnen Sie Folgendes tun:
<span>return [ </span> <span>'components' => [ </span> <span>'mail' => [ </span> <span>'useFileTransport' => true, </span> <span>], </span> <span>'urlManager' => [ </span> <span>'showScriptName' => true, </span> <span>], </span> <span>'db' => [ </span> <span>'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', </span> <span>], </span> <span>], </span><span>];</span>
5. Vereinfacht die Sicherheit
Sicherheit ist ein entscheidender Bestandteil jeder Webanwendung, und zum Glück hat YII einige gro?artige Funktionen, um Ihren Geist zu erleichtern.
yii wird mit einer Sicherheitsanwendungskomponente ausgestattet, die verschiedene Methoden enthüllt, um eine sichere Anwendung zu erstellen. Einige der nützlicheren Methoden sind:
- generatePasswordHash: generiert einen sicheren Hash aus einem Passwort und einem zuf?lligen Salz. Diese Methode macht ein zuf?lliges Salz für Sie und erstellt dann einen Hash aus der ausgelieferten Zeichenfolge mit der Krypta -Funktion von PHP.
- ValidatePassword: Dies ist die Begleitfunktion zum Generieren von PaswordHash und erm?glicht es Ihnen, zu überprüfen, ob der Benutzer mit dem Benutzer mit Ihrem gespeicherten Hash übereinstimmt.
- generaterandomkey: Erm?glicht Ihnen eine zuf?llige Zeichenfolge aus jeder L?nge
yii überprüft automatisch ein gültiges CSRF -Token auf allen unsicheren HTTP -Anforderungsmethoden (putten, post, l?schen) und generiert und geben ein Token aus, wenn Sie die ActiveForm :: begin () -Methode verwenden, um Ihr Er?ffnungsformular -Tag zu erstellen. Diese Funktion kann deaktiviert werden, indem Ihre Hauptkonfigurationsdatei bearbeitet wird, um Folgendes zu enthalten:
<span>use yii<span>\helpers\Html</span>;</span>
Um vor XSS zu schützen, bietet YII eine weitere Helferklasse namens HTMLPurifier. Diese Klasse verfügt über eine einzelne statische Methode mit dem Namen prozess und filtert Ihre Ausgabe mit der gleichnamigen beliebten Filterbibliothek.
yii enth?lt auch Konferenzklassen für die Benutzerauthentifizierung und Autorisierung. Die Autorisierung ist in zwei Arten unterteilt: ACF (Access Control Filter) und RBAC (rollenbasierte Zugriffskontrolle).
Der einfachere der beiden ist ACF und wird durch Hinzufügen der Verhaltensmethode Ihres Controllers implementiert:
<span>public static $aliases = ['@yii' => __DIR__];</span>
Der vorhergehende Code teilt mit DefaultControllerto mit, erm?glicht den Gastnutzern den Zugriff auf die Anmeldungs- und Anzeigenaktionen, jedoch nicht auf die Aktion erstellen. (Ist ein Alias ??für anonyme Benutzer, und @ bezieht sich auf authentifizierte Benutzer).
rBAC ist eine leistungsst?rkere Methode, um anzugeben, welche Benutzer in Ihrer Anwendung bestimmte Aktionen ausführen k?nnen. Dazu geh?rt es, Rollen für Ihre Benutzer zu erstellen, Berechtigungen für Ihre App zu definieren und diese Berechtigungen für ihre beabsichtigten Rollen zu erm?glichen. Sie k?nnen diese Methode verwenden, wenn Sie eine Moderatorrolle erstellen m?chten, und allen Benutzern, die dieser Rolle zugewiesen sind, Artikel zulassen, Artikel zu genehmigen.
Sie k?nnen auch Regeln mit RBAC definieren, mit denen Sie unter bestimmten Bedingungen Zugriff auf bestimmte Aspekte Ihres Antrags gew?hren k?nnen. Zum Beispiel k?nnen Sie eine Regel erstellen, die es Benutzern erm?glicht, ihre eigenen Artikel zu bearbeiten, jedoch nicht die von anderen erstellten.
6. Verkürzung der Entwicklungszeit
Die meisten Projekte beinhalten eine bestimmte Menge repetitiver Aufgaben, mit denen niemand Zeit verschwenden m?chte. YII gibt uns einige Tools, mit denen Sie weniger Zeit für diese Aufgaben verbringen k?nnen, und mehr Zeit, um Ihre Bewerbung an die Anforderungen Ihrer Kunden anzupassen.
Eines der leistungsst?rksten dieser Werkzeuge hei?t ?GII“. GII ist ein webbasiertes Code-Gerüst-Tool, mit dem Sie schnell Codevorlagen erstellen k?nnen:
- Modelle
- Controller
- forms
- Module
- Erweiterungen
- CRUD -Controller -Aktionen und Ansichten
gii ist sehr konfigurierbar. Sie k?nnen es so einstellen, dass sie nur in bestimmten Umgebungen geladen werden. Bearbeiten Sie einfach Ihre Webkonfigurationsdatei wie folgt:
<span>use yii<span>\helpers\Html</span>;</span>
Dies stellt sicher, dass GII nur l?dt, wenn die YII -Umgebungsvariable auf Entwicklung festgelegt wird und dass sie nur dann geladen wird, wenn sie über Localhost zugegriffen wird.
Schauen wir uns jetzt den Modellgenerator an:
Der Tabellenname verwendet ein Widget der Typea -Kopf, um zu erraten, mit welcher Tabelle Ihr Modell zugeordnet ist, und alle Felder verfügen über einen Rollover -Tooltip, um Sie daran zu erinnern, wie Sie sie ausfüllen k?nnen. Sie k?nnen den Code einsetzen, bevor Sie GII bitten, ihn zu generieren, und alle Codevorlagen sind vollst?ndig anpassbar.
Es stehen auch mehrere Befehlszeilen-Tools zur Verfügung, mit denen Codevorlagen für Datenbankmigrationen, Nachrichtenübersetzungen (I18N) und Datenbankvorrichtungen für Ihre automatisierten Tests erstellt werden k?nnen. Zum Beispiel k?nnen Sie mit diesem Befehl eine neue Datenbankmigrationsdatei erstellen:
<span>public static $aliases = ['@yii' => __DIR__];</span>
Dies erstellt eine neue Migrationsvorlage in {Appdir}/Migrationen, die ungef?hr so ??aussieht:
<span>namespace app<span>\components</span>; </span> <span>class View extends yii<span>\web\View</span> { </span> <span>public $bodyId; </span> <span>/* Yii allows you to add magic getter methods by prefacing method names with "get" */ </span> <span>public function getBodyIdAttribute() { </span> <span>return ($this->bodyId != '') ? '' : ''; </span> <span>} </span> <span>}</span>
Nehmen wir also an, ich wollte dieser Tabelle ein paar Spalten hinzufügen. Ich würde einfach der UP -Methode Folgendes hinzufügen:
<span><span><span><body</span> <span><span><?=$this->BodyIdAttribute?></span></span>></span></span>
und um sicherzustellen, dass ich die Migration umkehren kann, würde ich die Down -Methode bearbeiten:
<span>return [ </span> <span>// ... </span> <span>'components' => [ </span> <span>// ... </span> <span>'view' => [ </span> <span>'class' => 'app\components\View' </span> <span>] </span> <span>] </span><span>];</span>
Erstellen der Tabelle würde einfach das Ausführen eines Befehls in der Befehlszeile beinhalten:
<span>return [ </span> <span>'components' => [ </span> <span>'mail' => [ </span> <span>'useFileTransport' => true, </span> <span>], </span> <span>'urlManager' => [ </span> <span>'showScriptName' => true, </span> <span>], </span> <span>'db' => [ </span> <span>'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', </span> <span>], </span> <span>], </span><span>];</span>
und um die Tabelle zu entfernen:
<span>$I->amOnPage('register'); </span><span>$I->fillField('username', 'testuser'); </span><span>$I->fillField('password', 'qwerty'); </span><span>$I->click('Register'); </span><span>$I->seeRecord('app\models\User', array('name' => 'testuser'));</span>
7. Einfach einstellen, um eine bessere Leistung zu erhalten
Jeder wei?, dass eine langsame Website ver?rgerte Benutzer erstellt. Daher bietet YII Ihnen mehrere Tools, mit denen Sie mehr Geschwindigkeit aus Ihrer Anwendung herausholen k?nnen.
Alle Cache -Komponenten von YII erstrecken sich von yii/caching/cache, sodass Sie bei Verwendung einer gemeinsamen API das gewünschte Caching -System ausw?hlen k?nnen. Sie k?nnen sogar mehrere Cache -Komponenten gleichzeitig registrieren. YII unterstützt derzeit Datenbank- und Dateisystem -Caching sowie APC, Memcache, Redis, Wincache, XCache und Zend Data Cache.
standardm??ig führt Yii eine zus?tzliche Abfrage aus, um das Schema der bei der Generierung Ihres Modells beteiligen Tabellen zu bestimmen. Sie k?nnen die Anwendung auf das Schema einstellen, indem Sie Ihre Hauptkonfigurationsdatei wie folgt bearbeiten:
<span>return [ </span> <span>'components' => [ </span> <span>'request' => [ </span> <span>'enableCsrfValidation' => false, </span> <span>] </span> <span>];</span>
Schlie?lich verfügt YII über ein Befehlszeilenwerkzeug, um die Minifikation von Frontenden -Verm?genswerten zu erleichtern. Führen Sie einfach den folgenden Befehl aus, um eine Konfigurationsvorlage zu generieren:
<span>use yii<span>\filters\AccessControl</span>; </span> <span>class DefaultController extends Controller { </span> <span>// ... </span> <span>public function behaviors() { </span> <span>return [ </span> <span>// ... </span> <span>'class' => AccessControl<span>::</span>className(), </span> <span>'only' => ['create', 'login', 'view'], </span> <span>'rules' => [ </span> <span>[ </span> <span>'allow' => true, </span> <span>'actions' => ['login', 'view'], </span> <span>'roles' => ['?'] </span> <span>], </span> <span>[ </span> <span>'allow' => true, </span> <span>'actions' => ['create'], </span> <span>'roles' => ['@'] </span> <span>] </span> <span>] </span> <span>]; </span> <span>} </span> <span>// ... </span><span>}</span>
Bearbeiten Sie dann die Konfiguration, um anzugeben, welche Tools Sie m?chten, um Ihre Minifikation auszuführen (z. B. Closeure Compiler, Yui -Kompressor oder UglifyJs). Die generierte Konfigurationsvorlage sieht so aus:
<span>if (YII_ENV_DEV) { </span> <span>// ... </span> <span>$config['modules']['gii'] = [ </span> <span>'class' => 'yii\gii\Module', </span> <span>'allowedIPs' => ['127.0.0.1', '::1'] </span> <span>] </span><span>}</span>
Führen Sie als n?chstes diesen Befehl Konsole aus, um die Komprimierung durchzuführen.
yii migrate<span>/create create_user_table</span>
und schlie?lich bearbeiten Sie Ihre Webanwendungskonfigurationsdatei, um die komprimierten Assets zu verwenden.
<span><span><?php </span></span><span> </span><span> <span>use yii<span>\db\Schema</span>; </span></span><span> </span><span> <span>class m140924_153425_create_user_table extends <span>\yii\db\Migration</span> </span></span><span> <span>{ </span></span><span> <span>public function up() </span></span><span> <span>{ </span></span><span> </span><span> <span>} </span></span><span> </span><span> <span>public function down() </span></span><span> <span>{ </span></span><span> <span>echo "m140924_153425_create_user_table cannot be reverted.\n"; </span></span><span> </span><span> <span>return false; </span></span><span> <span>} </span></span><span><span>}</span></span>
Hinweis: Sie müssen diese externen Tools manuell herunterladen und installieren.
Schlussfolgerung
Wie bei jedem guten Framework hilft Ihnen YII, moderne Webanwendungen schnell zu erstellen und sicherzustellen, dass sie eine gute Leistung erbringen. Es drückt Sie dazu, sichere und überprüfbare Websites zu erstellen, indem Sie viel für Sie schwere Heben erstellen. Sie k?nnen die meisten Funktionen genauso genauso verwenden, wie sie bereitgestellt werden, oder Sie k?nnen jeden so ?ndern, dass Sie Ihren Anforderungen entsprechen. Ich ermutige Sie wirklich, es für Ihr n?chstes Webprojekt zu überprüfen!
Hast du Yii 2 versucht? Willst du? Lass es uns wissen!
h?ufig gestellte Fragen (FAQs) zum yii 2 Framework
Warum wird Yii 2 Framework als hoch erweiterbar angesehen? Dies bedeutet, dass ein Entwickler die Art und Weise, wie das Framework bestimmte Aufgaben erledigt, anpassen muss, ohne den Kerncode direkt ?ndern zu müssen. Dies ist ein wesentlicher Vorteil, da es ein hohes Ma? an Flexibilit?t und Anpassungsf?higkeit erm?glicht, so > Yii 2 Framework sorgt für eine hohe Leistung durch seine effiziente faule Ladetechnik. Dies bedeutet, dass es nur die Komponenten l?dt, die für einen bestimmten Prozess ben?tigt werden, wodurch die Last auf dem Server verringert und die Gesamtleistung der Anwendung verbessert wird. Darüber hinaus unterstützt Yii 2 auch Daten zwischen Daten, was seine Leistung weiter verbessert. . Es bietet integrierte Tools zur Eingabevalidierung, Ausgangsfilterung, SQL-Injektionspr?vention und Cross-Site-Skripten (XSS). Diese Funktionen machen es zu einer sicheren Wahl für die Entwicklung von Webanwendungen, die sensible Daten verarbeiten müssen.
Wie unterstützt Yii 2 Framework die schnelle Entwicklung? Werkzeug, GII. GII erm?glicht es Entwicklern, schnell Code für Modelle, Controller, Formulare, Module und Erweiterungen zu generieren. Dies reduziert die Zeit, die zum Schreiben von Boilerplate-Code erforderlich ist, erheblich, sodass Entwickler sich mehr auf die Gesch?ftslogik konzentrieren k?nnen. ist so konzipiert, dass er nahtlos mit Code von Drittanbietern arbeitet. Es verwendet den Komponisten-Abh?ngigkeits-Manager, der es einfach macht, Bibliotheken und Pakete von Drittanbietern in Ihre Yii 2-Anwendung zu integrieren. hat ein umfassendes Fehlerbehebung und Protokollierungssystem. Es kann sowohl PHP -Fehler als auch Ausnahmen behandeln und bietet eine Vielzahl von Protokollierungszielen, einschlie?lich Dateien, E -Mails und Browserkonsolen. Dies erleichtert das Debuggen und Behebung von Problemen in Ihrer Anwendung.
Ist Yii 2 Framework für die Entwicklung komplexer Webanwendungen geeignet? Es bietet eine Reihe von Tools und Funktionen, wie z.
yii 2 Framework bietet umfassende Unterstützung für die Internationalisierung (I18N). Es enth?lt Funktionen für Datums- und Zeitformatierung, Zahlenformatierung und Nachrichtenübersetzung und erleichtert die Entwicklung von Anwendungen für ein globales Publikum. > Yii 2 Framework hat eine gro?e und aktive Gemeinschaft von Entwicklern. Es gibt zahlreiche Foren, Blogs und Tutorials online, in denen Sie Hilfe und Rat finden k?nnen. Darüber hinaus bietet die offizielle YII -Website eine umfassende Dokumentation und einen Benutzerhandbuch. Leistung, Sicherheitsmerkmale und Erweiterbarkeit. Es unterstützt auch die schnelle Entwicklung und macht es zu einer beliebten Wahl für kleine und gro?e Projekte. Der beste Rahmen für ein Projekt h?ngt jedoch von den spezifischen Anforderungen und dem Fachwissen des Entwicklungsteams ab.Das obige ist der detaillierte Inhalt von7 Gründe für die Auswahl des Yii 2 -Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern.

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden.

AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder

Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern.

Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr

In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden.

Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile
