


Datenvalidierung in Laravel: Der richtige Weg - benutzerdefinierte Validatoren
Feb 20, 2025 am 11:35 AM
Key Takeaways
-
Das integrierte Datenvalidierungspaket von Laravel kann erweitert werden, um benutzerdefinierte Validierungsregeln für bestimmte Anforderungen zu erstellen, z. B. die Validierung vollst?ndiger Namen oder PIN-Codes, die Leerzeichen enthalten.
- benutzerdefinierte Validierungsregeln werden erstellt, indem die IlluminateValidationValidator -Klasse von Laravel erweitert und neue Methoden zur Validierung von Daten und deren jeweiligen Fehlermeldungen hinzugefügt werden.
- Neue Validierungsregeln müssen mit dem Pr?fix "Validate" und dem Rest des Namens im Titelfall benannt werden. Die Validierungsregel befindet sich in Kleinbuchstaben dessen, was die Methode genannt wird (ohne das Pr?fix ?Validierung“) und jedes Wort wird durch einen Unterstrich getrennt.
- Nach dem Erstellen benutzerdefinierter Validierungsregeln muss ein Dienstleister erstellt werden, um diese Regeln in das Validierungspaket von Laravel zu binden. Dieser Dienstanbieter wird dann von Laravel über die Datei App/config/App.php geladen.
- Im vorherigen Teil haben wir gelernt, wie man Daten in Laravel unter Verwendung seines eingebauten Datenvalidierungspakets validiert und wie wir unsere Datenvalidierung für entit?tspezifische Dienste abziehen, um den Code nach den Prinzipien der Trockenheit wiederverwendbar zu machen. Jetzt k?nnen wir für jede Entit?t in unserer App problemlos einen Validierungsdienst erstellen, mit ihren jeweiligen Validierungsregeln, überall dort, wo wir Daten validieren und einfach Fehler usw. abrufen und anzeigen usw. anzeigen m?chten.
Aber was ist, wenn wir mehr wollen?
Der Quellcode für dieses Tutorial ist hier verfügbar. Sie müssen nur die Komponist -Installation ausführen, um das Laravel -Framework innerhalb des Projektverzeichnisses zu installieren, bevor Sie diesen Code ausführen k?nnen.Die Notwendigkeit von mehr
Aus dem Box liefert Laravel viele nützliche und generische Validierungsregeln. Aber was ist, wenn wir mehr wollen? Was ist, wenn wir etwas Spezifischeres brauchen? In unserem Beispiel hier haben wir im TestformValidator Alpha_Dash verwendet, um Namen zu validieren, aber das ist nicht ideal, um einen vollst?ndigen Namen zu validieren. Im Allgemeinen würde der vollst?ndige Name einer Person aus einem Vornamen und einem Nachnamen und vielleicht auch aus einem zweiten Namen bestehen. All dies würde durch einen Raum getrennt werden. Wenn wir den PIN -Code in unserem Formular validieren m?chten, k?nnen wir nicht die von Laravel bereitgestellte Alpha_Num -Regel verwenden.
Nun, Laravel bietet die Option, sein Validierungspaket einfach zu erweitern und benutzerdefinierte Validierungsregeln hinzuzufügen. In Rocketcandy/Diensten/Validierung/erstellen validateOrtextended.php und fügen Sie den folgenden Code hinzu:<span><span><?php </span></span><span> </span><span><span>namespace RocketCandy<span>\Services\Validation</span>; </span></span><span> </span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator; </span></span><span> </span><span><span>class ValidatorExtended extends IlluminateValidator { </span></span><span> </span><span> <span>private $_custom_messages = array( </span></span><span> <span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.", </span></span><span> <span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.", </span></span><span> <span>); </span></span><span> </span><span> <span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) { </span></span><span> <span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes ); </span></span><span> </span><span> <span>$this->_set_custom_stuff(); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Setup any customizations etc </span></span><span><span> * </span></span><span><span> * <span>@return <span>void</span> </span></span></span><span><span> */ </span></span><span> <span>protected function _set_custom_stuff() { </span></span><span> <span>//setup our custom error messages </span></span><span> <span>$this->setCustomMessages( $this->_custom_messages ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, spaces and dashes (hyphens and underscores) </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaDashSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, numbers, and spaces </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaNumSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span><span>} //end of class </span></span><span> </span><span> </span><span><span>//EOF</span></span>
Hier erweitert unsere Klasse die IlluminateValidationValidator -Klasse von Laravel und fügt zwei neue Methoden (validateAlphadashSpaces () und validateAlphanumspaces () hinzu, um Daten und ihre jeweiligen Fehlermeldungen mit dem Platzhalter zu validieren: Attribut in ihnen, die die Laravel leistungssteuer durch die Laufzeit ersetzen würde, die die Laufzeit durch den Namen des Namens, was auch immer, ersetzt Datenfeld, das validiert wird.
Nun, hier zu beachten, ist, wie wir die Methoden nennen. Alle Validationsregel -Method -Namen müssen das Validierungspr?fix haben und der Rest muss sich im Titelfall befinden (natürlich ohne Leerzeichen). Die Validierungsregel befindet sich in Kleinbuchstaben, in der die Methode benannt ist (ohne Validierungspr?fix), und jedes Wort wird durch einen Unterstrich getrennt. Wenn wir also eine Alpha_Dash_Spaces -Validierungsregel hinzufügen m?chten, wird unsere entsprechende Methode genannt ValidateAlphadashSpaces ().
Wir haben hier Alpha_Dash_Spaces und Alpha_Num_Spaces Validierungsregeln hinzugefügt. alpha_dash_spaces erlauben Buchstaben, Striche (Bindestriche und Unterstriche) und Leerzeichen, w?hrend alpha_num_spaces nur Buchstaben, Zahlen (Zahlen 0-9) und Leerzeichen zulassen.
Wir sind noch nicht damit fertig, diese Klasse erweitert nur die Validierungsklasse von Laravel. Wir müssen Laravel immer noch erkennen lassen, damit Laravel, wenn wir die neuen Regeln zu unserem Vaidation -Service hinzufügen, wissen, wie die Validierung gem?? diesen Regeln ausführt.
laravel docs geben an, dass wir dies tun k?nnen:
<span>Validator<span>::</span>resolver( function( $translator, $data, $rules, $messages ) { </span> <span>return new <span>\RocketCandy\Services\Validation\ValidatorExtended</span>( $translator, $data, $rules, $messages ); </span><span>} );</span>und kleben Sie es in App/start/global.php oder erstellen Sie eine neue Datei im App -Verzeichnis und laden Sie diese Datei in App/start/global.php. Das sieht jedoch nicht so sauber aus und modifiziert Dateien, die wir nicht ?ndern müssen, und kleben Sie hier und da Teile. Nein, wir würden lieber all diesen validierungsbezogenen Code zusammenhalten, also erstellen wir einen Dienstanbieter und kleben unsere benutzerdefinierten Validierungsregeln dort in Laravels Validierungspaket.
Erstellen Sie ValidationExtensionServiceProvider.php in RocketCandy/Diensten/Validierung/und fügen Sie den folgenden Code hinzu:
<span><span><?php </span></span><span> </span><span><span>namespace RocketCandy<span>\Services\Validation</span>; </span></span><span> </span><span><span>use Illuminate<span>\Support\ServiceProvider</span>; </span></span><span> </span><span><span>class ValidationExtensionServiceProvider extends ServiceProvider { </span></span><span> </span><span> <span>public function register() {} </span></span><span> </span><span> <span>public function boot() { </span></span><span> <span>$this->app->validator->resolver( function( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) { </span></span><span> <span>return new ValidatorExtended( $translator, $data, $rules, $messages, $customAttributes ); </span></span><span> <span>} ); </span></span><span> <span>} </span></span><span> </span><span><span>} //end of class </span></span><span> </span><span> </span><span><span>//EOF</span></span>Wenn Sie einen Dienstanbieter in Laravel erstellt haben, bevor Sie normalerweise die Register () -Methode verwendet h?tten, um die ben?tigte Bindung zu tun. Es ist die einzige abstrakte Methode in der abstrakten Klasse IlluminateSupportServiceProvider, die wir hier erweitert haben. Der Grund, warum wir unsere Validierungserweiterung in Register () nicht kleben k?nnen, besteht darin, dass sie entlassen wird, sobald der Dienstanbieter von Laravel geladen wird und wir auf eine Volley von Ausnahmen sto?en würden, die uns als Laravel sp?ter infizieren Versuchen Sie, Dinge zu erweitern, die nicht mit einem Objekt vorhanden sind, das nicht existiert. Die boot () -Methode hingegen wird kurz vor dem Routed einer Anfrage abgefeuert, sodass wir dort unsere Sachen sicher auf das Validierungspaket von Laravel kleben k?nnen.
Jetzt müssen wir Laravel nur sagen, dass er diesen Dienstanbieter laden soll, und wir w?ren alle festgelegt. ?ffnen Sie Ihre App/config/app.php und fügen Sie im Anbieter -Array am Ende Folgendes hinzu:
<span><span><?php </span></span><span> </span><span><span>namespace RocketCandy<span>\Services\Validation</span>; </span></span><span> </span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator; </span></span><span> </span><span><span>class ValidatorExtended extends IlluminateValidator { </span></span><span> </span><span> <span>private $_custom_messages = array( </span></span><span> <span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.", </span></span><span> <span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.", </span></span><span> <span>); </span></span><span> </span><span> <span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) { </span></span><span> <span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes ); </span></span><span> </span><span> <span>$this->_set_custom_stuff(); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Setup any customizations etc </span></span><span><span> * </span></span><span><span> * <span>@return <span>void</span> </span></span></span><span><span> */ </span></span><span> <span>protected function _set_custom_stuff() { </span></span><span> <span>//setup our custom error messages </span></span><span> <span>$this->setCustomMessages( $this->_custom_messages ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, spaces and dashes (hyphens and underscores) </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaDashSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, numbers, and spaces </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaNumSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span><span>} //end of class </span></span><span> </span><span> </span><span><span>//EOF</span></span>
?ffnen Sie jetzt App/Rocketcandy/Services/Validation/testFormvalidator.php und aktualisieren Sie die $ Rules -Eigenschaft, damit sie so aussehen:
<span>Validator<span>::</span>resolver( function( $translator, $data, $rules, $messages ) { </span> <span>return new <span>\RocketCandy\Services\Validation\ValidatorExtended</span>( $translator, $data, $rules, $messages ); </span><span>} );</span>
Wir haben die Alpha_Dash -Validierungsregel für den Namen durch alpha_dash_spaces und alpha_num für pin_code mit alpha_num_spaces ersetzt.
.Wenn wir nun zu http: //
Zusammenfassung
In diesem zweiteiligen Tutorial haben wir gelernt:
- Daten in Laravel unter Verwendung des integrierten Datenvalidierungspakets validieren.
- Verwenden Sie den objektorientierten Ansatz, um die Datenvalidierung für den eigenen separaten Dienst abzuwehren ( einzelne Verantwortung Leistung freigeschaltet).
- Erstellen Sie unsere eigenen benutzerdefinierten Ausnahmen, die Sie mit unserem Datenvalidierungsdienst verwenden k?nnen (anstatt echte/falsche Boolesche Werte) und wie Sie Fehler speichern und abrufen.
- Einlegen Sie unseren Datenvalidierungsdienst in unserem Controller und verwenden Sie ihn.
- Erweitern Sie das Validierungspaket von Laravel mit unseren benutzerdefinierten Validierungsregeln und laden Sie es mit einem Dienstanbieter automatisch auf.
Fu?noten
Um dieses Tutorial auf den Punkt zu halten, habe ich den Validierungsdienst in unserem Controller injiziert und dort verwendet. In einem realen Projekt würden Sie den Validierungsdienst h?chstwahrscheinlich an einem anderen Ort verwenden, wo Sie die Bereinigung und den Speicher von Daten umgehen würden. Im Idealfall sollten Controller fettfrei sein und das Minimum an Code haben.
habe Gedanken? Fragen? Feuer in den Kommentaren wegfeuern.
h?ufig gestellte Fragen zur Laravel -Datenvalidierung und zur benutzerdefinierten Validatoren
Was sind die Vorteile der Verwendung von Laravel für die Datenvalidierung? Es enth?lt eine Vielzahl von Validierungsregeln, die leicht auf Ihre Daten angewendet werden k?nnen, um sicherzustellen, dass es den erforderlichen Standards entspricht, bevor es verarbeitet wird. Das Validierungssystem von Laravel erm?glicht auch benutzerdefinierte Validierungsregeln, sodass Sie Ihre eigenen Kriterien für die Datenvalidierung definieren k?nnen. Dies kann besonders nützlich sein, wenn Sie Daten auf eine Weise validieren müssen, die nicht durch die integrierten Validierungsregeln von Laravel behandelt wird.
Wie erstelle ich benutzerdefinierte Validierungsregeln in Laravel? Sie erstellen benutzerdefinierte Validierungsregeln mit der Validator :: Extend -Methode. Diese Methode nimmt zwei Parameter an: den Namen der Validierungsregel und eine Schlie?ung, die drei Argumente empf?ngt - den Attributnamen, den Attributwert und ein Fehlerrückruf. Im Verschluss k?nnen Sie die Logik für Ihre benutzerdefinierte Validierungsregel definieren. Wenn die Validierung fehlschl?gt, sollten Sie den Fehlerrückruf mit einer entsprechenden Fehlermeldung aufrufen.
Kann ich die integrierten Validierungsregeln von Laravel mit meinen benutzerdefinierten Regeln verwenden? Dies kann durch Verkettung der Validierungsregeln in Ihrer Validierungslogik erfolgen. Sie k?nnen beispielsweise die ?erforderliche“ Regel verwenden, um sicherzustellen, dass ein Feld nicht leer ist, und dann eine benutzerdefinierte Regel zum Validieren des Formats der Daten verwenden.
Laravel erleichtert die Anzeige von Validierungsfehlermeldungen in Ihren Ansichten. Wenn die Validierung fehlschl?gt, leitet Laravel den Benutzer mit allen in der Sitzung gespeicherten Validierungsfehlern an seinen vorherigen Standort zurück. Anschlie?end k?nnen Sie diese Fehler in Ihren Ansichten mithilfe der $ fehlervariablen anzeigen, die automatisch allen Ansichten von Laravel zur Verfügung gestellt wird.
Kann ich die Fehlermeldungen für meine benutzerdefinierten Validierungsregeln anpassen? Ja, Laravel erm?glicht es Ihnen, die Fehlermeldungen für Ihre benutzerdefinierten Validierungsregeln anzupassen. Dies kann durch Definieren Ihrer benutzerdefinierten Nachrichten in einer Sprachdatei und dann auf diese Nachrichten in Ihrer Validierungslogik erfolgen. Dies gibt Ihnen die Flexibilit?t, Ihre Fehlermeldungen auf die spezifischen Anforderungen Ihrer Anwendung anzupassen.
Wie validiere ich Arrays in Laravel? Sie k?nnen das zu validierende Array -Feld angeben und dann die Validierungsregeln darauf anwenden. Wenn Sie beispielsweise eine Array von E -Mails haben, k?nnen Sie jede E -Mail im Array mit der Validierungsregel "E -Mail" validieren.
Kann ich bedingte Validierungsregeln in Laravel verwenden? Mit Laravel k?nnen Sie bedingte Validierungsregeln verwenden. Dies bedeutet, dass Sie bestimmte Validierungsregeln nur dann anwenden k?nnen, wenn andere Bedingungen erfüllt sind. Dies kann anhand der manchmal Methode in der Validator -Instanz erfolgen. Bild "," Mimen "und" Gr??e ". Mit diesen Regeln k?nnen Sie den Typ und die Gr??e der hochgeladenen Datei validieren und sicherstellen, dass die Anforderungen Ihrer Anwendung erfüllt werden.
Kann ich benutzerdefinierte Validierungsregeln in Formularanforderungen verwenden? benutzerdefinierte Validierungsregeln in Formularanfragen. Dies kann durch Definieren der Regeln in der Regelnmethode der Formularanforderungsklasse erfolgen. Sie k?nnen diese Regeln dann verwenden, wenn Sie die Anforderungsdaten validieren. Mit allen in der Sitzung gespeicherten Validierungsfehlern. Sie k?nnen diese Fehler in Ihren Ansichten behandeln und sie dem Benutzer auf eine Weise anzeigen, die für Ihre Anwendung geeignet ist.
Das obige ist der detaillierte Inhalt vonDatenvalidierung in Laravel: Der richtige Weg - benutzerdefinierte Validatoren. 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)

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
