PHP war schon immer eine sehr wichtige, schnelle und praktische Entwicklungssprache im Bereich der Webentwicklung und wird von der Mehrheit der Entwickler bevorzugt. Jetzt wurde die offizielle Version von PHP 5.4 veröffentlicht, die viele neue Funktionen hinzufügt. Der Beamte gibt an, dass die Leistung um 20 % verbessert wird und weniger Ressourcen beansprucht. In diesem Artikel führe ich Sie dazu, einige neue Funktionen von PHP 5.4 kennenzulernen.
In PHP 5.4 wurden zunächst mehr als 100 Fehler behoben, die Speicher- und Leistungsoptimierung verbessert und einige Methoden früherer Versionen entfernt, wie z. B. register_globals, magic_quotes, safe_mode, usw., und es sollte beachtet werden, dass in PHP 5.4 die Standardkodierungsmethode auf UTF-8 geändert wurde, was für Entwickler sehr hilfreich ist, um mehrsprachige Versionen von Anwendungen zu entwickeln.
Einführung in Traits
Zunächst stellen wir Traits vor, eine neue Funktion, die in PHP 5.4 hinzugefügt wurde. Tatsächlich wurde diese Funktion auch in anderen Sprachen gesehen. Sie kann einfach als eine Sammlung von Methoden verstanden werden. Die Organisationsstruktur ähnelt in gewisser Weise einer Klasse (kann jedoch nicht wie eine Klasse instanziiert werden), sodass Entwickler unterschiedliche Methoden verwenden können . Verwenden Sie diesen Methodensatz in der Klasse wieder. Da PHP eine Sprache mit einfacher Vererbung ist, kann eine Klasse nicht mehrere Klassen gleichzeitig erben. Zu diesem Zeitpunkt sind Eigenschaften nützlich.
Traits ist eine Sammlung von Lösungen, die keiner tatsächlichen Klasse angehören. Benutzer können keine Trait-Instanzen erstellen oder Methoden in Traits direkt aufrufen. Stattdessen müssen Benutzer Traits in tatsächliche Klassen zusammenführen, um sie verwenden zu können. In Bezug auf die Priorität überschreibt die Trait-Methode die geerbte Methode mit demselben Namen, und die Methode mit demselben Namen in der aktuellen zusammengeführten Klasse überschreibt die Trait-Methode.
Das Folgende ist ein Beispiel, um die Verwendung von Merkmalen zu veranschaulichen. Angenommen, die von uns erstellte Website muss gleichzeitig die APIs von Facebook und Twitter aufrufen. Während des Aufrufvorgangs dieser beiden APIs müssen wir die Curl-Methode aufrufen, um eine Reihe von Vorgängen auszuführen, um den von der Website zurückgegebenen Inhalt abzurufen Um nicht zu verhindern, dass in diesen beiden Klassen dieselbe Methode wiederholt wird, kann dies mithilfe von Traits in PHP 5.4 implementiert werden, wie im folgenden Code gezeigt:
/**cURL-Wrapper-Merkmal*/
Trait cURL
{
public function curl($url)
{
$ch = curl_init(
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
return $output; }
}
use cURL; //Call Traits
öffentliche Funktion get($url)
{
return json_decode($this->curl(' http://api.twitter.com/'.$url)
}
} > class Facebook_API
{
use cURL; // Call Traits
public function get($url)
{
return json_decode($this->curl('http://graph.facebook.com/'.$url));
}
}
$facebook = new Facebook_API();
echo $facebook->get('500058753')->name; //Die API wird hier aufgerufen Geben Sie den Facebook-Benutzernamen aus
/**Twitter-API-Klassen*/
echo (neue Facebook_API)->get('500058753')->name; foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name;
echo (new Twitter_API)->get('1 /users/show.json?screen_name=rasmus')-> ;name;
Im obigen Code wird zunächst eine Funktionssammlung über das Schlüsselwort trait definiert, ihr Name ist Curl, Diese enthält eine Methode namens „curl“, die auf dem Parameterwert der URL basiert. Rufen Sie die in PHP integrierte Methode „cur“ auf, um den der URL entsprechenden Seitenausgabeinhalt zurückzugeben. Dann wird in der Klasse Twitter_API und der Klasse Facebook_API
die Verwendung von cURL verwendet, um diese Traits aufzurufen, und in ihren jeweiligen Get-Methoden wird die Curl-Methode in Traits aufgerufen.
Beachten Sie, dass wir im obigen Code zusätzlich zur Verwendung von new Facebook_API() zum Generieren einer Instanz des Facebook-Objekts auch die Verwendung neuer Funktionen in PHP 5.4 demonstrieren, nämlich:
Sie können die Instanz verwenden, wenn Sie auf Klassenmitglieder zugreifen, also:
echo (neue Facebook_API)->get('500058753')->name
$foo = 'get' ;
echo (neue Facebook_API)->$foo('500058753')->name;
Das $foo Der Variablen wird der Wert get zugewiesen. Wenn dann versucht wird, die get-Methode in der Klasse aufzurufen, erfolgt der Aufruf über (new Facebook_API)->$foo('500058753')->name;.
Nehmen wir ein weiteres Beispiel, um die Verwendung von Traits zu veranschaulichen. Dieses Beispiel kann einfacher sein, z. B. den folgenden Code:
Trait Net
{
public function net()
{
return 'Net';
} > Öffentliche Funktion tuts()
{
return 'Tuts'; >
}
🎜> {
use Net, Tuts;
public function plus()
{
return ' '; 🎜>
}
$o = new NetTuts;
echo $o->net(), $o->tuts(), $o-> ;plus( );
echo (neue NetTuts)->net(), (neue NetTuts)->tuts(), (neue NetTuts)->plus(); >
Die oben genannten Ergebnisse werden alle an NetTuts ausgegeben. Übrigens ist die magische Konstante für Merkmale in PHP 5.4 __TRAIT__.
Integrierter Debugging-Server
In der bisherigen PHP-Entwicklung musste es normalerweise in Verbindung mit Apache HTTP Server entwickelt werden. In PHP 5.4 ist ein einfacher Webserver integriert, um Entwicklern die Durchführung der Entwicklungsarbeit ohne komplizierte Konfiguration zu erleichtern. Im Folgenden finden Sie eine Schritt-für-Schritt-Erklärung, wie Sie den integrierten Server in PHP 5.4 verwenden, um relevante Arbeiten in einer Windows-Umgebung auszuführen.
Schritt 1) Erstellen Sie zunächst ein Verzeichnis im Stammverzeichnis von Laufwerk c, nämlich public_html, und erstellen Sie eine router.php-Datei in der Datei. Der Code lautet wie folgt:
// router.php
if (preg_match('#.php$#', $_SERVER['REQUEST_URI']))
{
require basename($_SERVER['REQUEST_URI' ]); // PHP-Datei bereitstellen
}
else if (strpos($_SERVER['REQUEST_URI'], '.') !== false)
{
return false; Datei im Ist-Zustand
}
?>
Erstellen Sie dann eine einfache PHP-Datei mit dem Namen index.php wie folgt:
// index.php
echo 'Hallo Nettuts-Leser!';
?> Öffnen Sie dann das Installationsverzeichnis von PHP 5.4 und suchen Sie nach php.ini. und dann include_path Fügen Sie die folgende Zeile hinzu:
include_path = ".;C:phpPEAR;C:public_html"
Schritt 2 Führen Sie den integrierten Webserver aus
Rufen Sie zuerst den Befehlszeilenmodus auf, geben Sie das PHP-Verzeichnis ein und geben Sie den folgenden Befehl ein:
php -S 0.0.0.0:8080 -t C:public_html router.php
Beliebige Maschine angegeben Hier kann darauf zugegriffen werden. Für diesen Server ist Port 8080 angegeben, und die Routing-Datei für die Arbeitsüberwachung wird als Router- und PHP-Datei unter c:public_html angegeben. Nach Eingabe der obigen Befehlszeile und Drücken der Eingabetaste wird die folgende Informationsaufforderung angezeigt
Dies beweist, dass der eingebaute Server korrekt gestartet wurde.
Zu diesem Zeitpunkt können Sie http://localhost:8080/index.php in den Browser eingeben, um darauf zuzugreifen.
Prägnantere Array-Syntax
In PHP 5.4 ist einige Syntaxunterstützung prägnanter, z. B. Deklarationen in Arrays. Jetzt unterstützt
die Verwendung von eckigen Klammern zur Deklaration. wie folgt:
$fruits = array('apples', 'oranges', 'bananas'); // Alte Deklarationsmethode
$fruits = ['apples', 'oranges', 'bananas']; //Neue unterstützte Deklarationsmethode in PHP 5.4
// Neuer assoziativer Array-Zugriff
$array = [
'foo ' => ',
'bar' => 'foo'
];
Natürlich in PHP In 5.4, dem alten Die Array-Deklarationsmethode wird ebenfalls unterstützt.
Direkter Zugriff auf Array-Werte über Funktionsrückgabewerte
In PHP 5.4 wird der direkte Array-Zugriff über Funktionsrückgabewerte unterstützt. Nehmen Sie ein Beispiel:
$tmp = explosion(' ', 'Alan Mathison Turing'); echo $tmp[1]; // Mathison
Wenn es in diesem Beispiel vor PHP 5.4 ist und Sie Mathison in der obigen Zeichenfolge extrahieren möchten, müssen Sie zuerst die Explosionsfunktion verwenden, um den relevanten Wert zurückzugeben, und dann den Wert des Arrays abrufen. In PHP 5.4 können Sie wie folgt direkt auf den Rückgabewert eines Arrays zugreifen:
echo explosion(' ', 'Alan Mathison Turing')[1]
Das ist viel praktischer. Um als weiteres Beispiel den letzten String-Teil Turing hinzuzufügen, um den obigen String zu erhalten, können Sie Folgendes in PHP 5.4 tun:
echo end(explode(' ', 'Alan Mathison Turing')); Geben Sie ein weiteres komplizierteres Beispiel wie folgt:
function foobar()
{
return ['foo' => ['bar' => 'Hello']]
Echo foobar()['foo']['bar']; //Ausgabe Hallo
Der $this-Zeiger kann in Abschlüssen verwendet werden
Zurück In der PHP-Version können Sie den $this-Zeiger nicht in anonymen Methoden (auch Schließungen genannt) verwenden, in PHP 5.4 ist dies jedoch möglich. Das Beispiel lautet wie folgt:
class Foo
{
function hello() {
echo 'Hallo Nettuts!'; 🎜 >
return function() {
$this->hello(); //Dies kann in früheren Versionen nicht erreicht werden
}
}
class Bar = $o->anonymous(); // Eigentlich Foo::hello()
$x(); aufrufen ist Foo::hello()
}
new Bar(new Foo); //Ausgabe Hallo Nettuts!
Die obige Implementierungsmethode ist etwas kompliziert. In PHP 5.4 kann es bequemer wie folgt geschrieben werden:
Function anonym()
{
$that = $this;
return function() use ($that) {
$that->hello();
}
}
Nun, egal Wie das short_tag-Tag in php.ini gesetzt ist, können Sie diese Methode jederzeit im Template verwenden und so diese Methode ersetzen. Verwenden Sie das Präfix „0b“, um Binärzahlen zu identifizieren. Wenn Sie nun Binärzahlen verwenden möchten, fügen Sie bitte das Präfix 0b voran, z. B.:
echo 0b11111
Erweiterung des Funktionstyps hints
Da PHP eine schwach typisierte Sprache ist, wurde die Funktion „hint“ nach PHP 5.0 eingeführt, was bedeutet, dass alle an die Funktion übergebenen Parameter einer Typprüfung unterzogen werden. Es gibt beispielsweise die folgenden Klassen:
class bar {
}
function foo(bar $foo) { Der übergebene Parameter muss eine Instanz der bar-Klasse sein, sonst macht das System einen Fehler. In ähnlicher Weise kann auch für Arrays eine Beurteilung vorgenommen werden, wie zum Beispiel:
function foo(array $foo) {
}
foo(array(1, 2, 3) ); // Richtig, weil das Array
foo(123); // Falsch, das Array
wird in PHP 5.4 unterstützt aufrufbare Typen werden unterstützt. Wenn wir in der Vergangenheit wollten, dass eine Funktion eine Rückruffunktion als Parameter akzeptiert, mussten wir viel zusätzliche Arbeit leisten, um zu überprüfen, ob es sich um die richtige aufrufbare Funktion handelt. Das Beispiel lautet wie folgt:
Funktion foo(callable $callback) {
}
Dann:
foo("false"); //Fehler, weil false kein Callable ist type
foo("printf"); //Richtig
foo(function(){}); //Richtig
class A {
statische Funktion show() {
}
}
foo(array("A", "show")); //Richtig
Entschuldigung Ja, in PHP 5.4 werden Typhinweise für Basistypen wie Zeichen, Ganzzahlen usw. immer noch nicht unterstützt.
Verbesserung der Zeitstatistik
In PHP 5.4 wird $_SERVER['REQUEST_TIME_FLOAT'] neu hinzugefügt und wird in ms ausgedrückt praktisch für Entwickler, wie zum Beispiel:
echo 'skriptausführungszeit', rund(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], 2), 's';
Dieser Artikel fasst einige neue Funktionen in PHP 5.4 kurz zusammen. Es ist ersichtlich, dass die offensichtlicheren Funktionsverbesserungen in PHP 5.4 hauptsächlich Merkmale und integrierter Debugging-Server, UTF-8-Standardunterstützung usw. sind. Detaillierte Einführung Informationen zu neuen Funktionen finden Sie im PHP 5.4-Benutzerhandbuch.

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

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

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

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software