Heim Backend-Entwicklung PHP7 Fassen Sie die neuen Funktionen jeder Version von PHP 7.x zusammen

Fassen Sie die neuen Funktionen jeder Version von PHP 7.x zusammen

Feb 23, 2021 am 09:46 AM

Fassen Sie die neuen Funktionen jeder Version von PHP 7.x zusammen

Empfohlen (kostenlos): PHP7

Neue Funktionen von PHP 7. Gesetz Was ist das? Ich sagte, dass dies eine Schreibmethode ist, die nur in PHP7 und höher verfügbar ist. Wissen Sie nicht? Er sagte, er wisse es nicht.

Ich murmelte in meinem Herzen und hatte vor, mit dem Schreiben dieses Blogs zu beginnen.

PHP7 sollte zusätzlich zu den Grundlagen ein modernes PHP sein. Da in PHP7 starke Typdefinitionen und einige grammatikalische Schreibmethoden, wie z. B. kombinierte Vergleichsoperatoren, vorhanden sind, kann define() Arrays und andere Funktionen definieren. Die formelle Einführung beginnt unten, beginnend mit PHP7.0. In Zukunft werden neue Versionen hinzugefügt, und zwar eine nach der anderen. Okay, fangen wir an

PHP 7.0

Skalare Typdeklaration


Was ist ein Skalartyp?

Vier Skalartypen:

boolean (Boolescher Typ)

Integer (Ganzzahltyp) Float (Gleitkommatyp, auch Double genannt) String (String)

Zwei zusammengesetzte Typen:

Array (Array)

Objekt
Eine Ressource ist eine spezielle Variable, die einen Verweis auf eine externe Ressource enthält. Ressourcen werden durch spezielle Funktionen erstellt und genutzt. Ressourcentypvariablen sind spezielle Handles zum Öffnen von Dateien, Datenbankverbindungen, Grafikbereichen usw.

Vereinfacht ausgedrückt ist ein Skalartyp ein Datentyp, der Variablen definiert.


In PHP5 gibt es Klassennamen, Schnittstellen, Arrays und Rückruffunktionen. In PHP wurden Strings, Integer-, Float- und Bool-Werte hinzugefügt. Schauen wir uns das Beispiel von Everything an. Hier definieren wir, dass $a vom Typ int sein muss. Wenn in der Typfunktion ein String übergeben wird, wird ein Fehler gemeldet. Ändern wir den obigen Code und er ist richtig

$a = $a ?? '';
Nach dem Login kopieren


Deklaration des Rückgabewerttyps


Der Rückgabewert einer Funktionsmethode kann beispielsweise definiert werden, wenn eine meiner Funktionen einen int-Typ zurückgeben muss, wird sie definitiv einen int zurückgeben . Wenn Sie eine Zeichenfolge zurückgeben, wird ein Fehler gemeldet. Wie folgt
function typeInt(int $a){
    echo $a;}typeInt('sad');// 运行,他讲会报错 Fatal error: Uncaught TypeError: Argument 1 passed to type() must be of the type integer, string given
Nach dem Login kopieren
Was wäre, wenn wir ein Array definieren und einen String oder andere Typen zurückgeben würden?

Dann wird er

einen Fehler melden

Zum Beispiel

function typeString(string $a){
    echo $a;}typeString('sad'); //sad
Nach dem Login kopieren
Null-Koaleszenzoperator

Aufgrund der großen Anzahl von Situationen, in denen ternäre Ausdrücke und isset() im täglichen Gebrauch gleichzeitig verwendet werden, haben wir den Null-Koaleszenzoperator hinzugefügt (?? ) ist syntaktischer Zucker. Wenn die Variable existiert und nicht NULL ist, gibt sie ihren eigenen Wert zurück, andernfalls gibt sie ihren zweiten Operanden zurück.

<?phpfunction returnArray(): array{

    return [1, 2, 3, 4];}print_r(returnArray());/*Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
*/
Nach dem Login kopieren

Raumschiff-Operator

function returnErrorArray(): array
{

    return '1456546';
}

print_r(returnErrorArray());
/*
Array
Fatal error: Uncaught TypeError: Return value of returnArray() must be of the type array, string returned in 
*/
Nach dem Login kopieren

define Definiere Array

In früheren Versionen von PHP7 war es nicht möglich, Arrays zu definieren

## #Unicode-Codepunkt-Übersetzungssyntax

<?php

$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;
//这两个是等效的  当不存在user 则返回?? 后面的参数

$username = isset($_GET[&#39;user&#39;]) ? $_GET[&#39;user&#39;] : &#39;nobody&#39;;

?>
Nach dem Login kopieren

Anonyme Klassen

// 整数echo 1 <=> 1; // 0 当左边等于右边的时候,返回0echo 1 <=> 2; // -1  当左边小于右边,返回-1echo 2 <=> 1; // 1  当左边大于右边,返回1// 浮点数echo 1.5 <=> 1.5; // 0echo 1.5 <=> 2.5; // -1echo 2.5 <=> 1.5; // 1
 // 字符串echo "a" <=> "a"; // 0echo "a" <=> "b"; // -1echo "b" <=> "a"; // 1
Nach dem Login kopieren

PHP 7.1

Nullable-Typen

Die Typen von Parametern und Rückgabewerten können jetzt durch Hinzufügen eines Fragezeichens nullbar gemacht werden der Typ. Wenn diese Funktion aktiviert ist, sind die übergebenen Parameter oder das von der Funktion zurückgegebene Ergebnis entweder vom angegebenen Typ oder null .

define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // 输出 "cat"
Nach dem Login kopieren

void

fügt einen Typ hinzu, der void zurückgibt, z. B.

// PHP 7 之前的代码use some\namespace\ClassA;use some\namespace\ClassB;use some\namespace\ClassC as C;use function some\namespace\fn_a;use function some\namespace\fn_b;use function some\namespace\fn_c;use const some\namespace\ConstA;use const some\namespace\ConstB;use const some\namespace\ConstC;// PHP 7+ 及更高版本的代码use some\namespace\{ClassA, ClassB, ClassC as C};use function some\namespace\{fn_a, fn_b, fn_c};use const some\namespace\{ConstA, ConstB, ConstC};
Nach dem Login kopieren

Mehrfache Ausnahmeerfassungsverarbeitung

Diese Funktion ist in der täglichen Entwicklung noch relativ häufig

echo "\u{aa}"; //ªecho "\u{0000aa}";  //ª  echo "\u{9999}"; //香
Nach dem Login kopieren

PHP. 7.2

P HP7 .2 ist die am wenigsten neue Funktion in der PHP7-Serie### Ermöglicht nachgestellte Kommas in gruppierten Namespaces

Beispielsweise ermöglicht

<?phpinterface Logger {
    public function log(string $msg);}class Application {
    private $logger;

    public function getLogger(): Logger {
         return $this->logger;
    }

    public function setLogger(Logger $logger) {
         $this->logger = $logger;
    }}$app = new Application;$app->setLogger(new class implements Logger {  //这里就是匿名类
    public function log(string $msg) {
        echo $msg;
    }});
Nach dem Login kopieren

das Überschreiben abstrakter Methoden

<?phpfunction testReturn(): ?string{
    return 'elePHPant';}var_dump(testReturn()); //string(10) "elePHPant"function testReturn(): ?string{
    return null;}var_dump(testReturn()); //NULLfunction test(?string $name){
    var_dump($name);}test('elePHPant'); //string(10) "elePHPant"test(null); //NULLtest(); //Uncaught Error: Too few arguments to function test(), 0 passed in...
Nach dem Login kopieren

Neue Objekttypen

<?phpfunction swap(&$left, &$right) : void{
    if ($left === $right) {
        return;
    }

    $tmp = $left;
    $left = $right;
    $right = $tmp;}$a = 1;$b = 2;var_dump(swap($a, $b), $a, $b);
Nach dem Login kopieren
PHP 7.3

PHP7.3 hat keine großen Änderungen auf Syntaxebene.


PHP 7.4

Klassenattribute unterstützen Typdeklaration

Herzlichen Glückwunsch, dass PHP einen weiteren Schritt in Richtung starker Typisierung gemacht hat

<?php
try {
    // some code
} catch (FirstException | SecondException $e) {  //用 | 来捕获FirstException异常,或者SecondException 异常
  
}
Nach dem Login kopieren

Pfeilfunktionen

Pfeilfunktionen bieten eine Möglichkeit, implizite wertbasierte Scope-Binding-Kurzschriftsyntax zu verwenden zur Definition von Funktionen. Es ähnelt der Pfeilfunktion von JS, jedoch mit einem fn. Eine Welle von Beschwerden

<?phpuse Foo\Bar\{
    Foo,
    Bar,
    Baz,};
Nach dem Login kopieren

Null-Merge-Operator-Unterstützungsmethode

<?phpabstract class A{
    abstract function test(string $s);}abstract class B extends A{
    // overridden - still maintaining contravariance for parameters and covariance for return
    abstract function test($s) : int;}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonFassen Sie die neuen Funktionen jeder Version von PHP 7.x zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Versionen von PHP7 haben neue Operatoren eingeführt? Welche Versionen von PHP7 haben neue Operatoren eingeführt? Mar 03, 2025 pm 04:37 PM

Dieser Artikel beschreibt die neuen Operatoren von Php 7: Die Null -Koalescing (??), Spaceship (& lt; = & gt;) und Null -Koalescing -Zuordnung (?? =) Operatoren. Diese verbessern die Lesbarkeit und Leistung der Code, indem Nullprüfungen und -vergleiche vereinfacht werden, Indirectl

Was sind die Auswirkungen verschiedener Versionen von PHP7 auf den Speicherverbrauch? Was sind die Auswirkungen verschiedener Versionen von PHP7 auf den Speicherverbrauch? Mar 03, 2025 pm 04:35 PM

Minor -Versionsunterschiede von PHP 7 liefern subtile Variationen des Speicherverbrauchs. Während neuere Versionen im Allgemeinen die Leistung und den Speicher-Effizienz über die Optimierung von Zend Engine und Müllsammlungen verbessern, sind die Auswirkungen anwendungsabhängig. Signifikant

So optimieren Sie den PHP7 -Code, um die Leistung zu verbessern So optimieren Sie den PHP7 -Code, um die Leistung zu verbessern Mar 03, 2025 pm 04:28 PM

In diesem Artikel optimieren Sie den PHP7 -Code für die Leistung. Es befasst sich mit gängigen Engpässen wie ineffizienten Datenbankabfragen, E/A -Operationen und Speicherlecks. Zu den Lösungen gehören effiziente Codierungspraktiken, Datenbank- und Caching -Strategien, Asynch

Wie nutze ich Sitzungen effektiv in PHP 7? Wie nutze ich Sitzungen effektiv in PHP 7? Mar 10, 2025 pm 06:20 PM

In diesem Artikel wird das effektive PHP 7 -Sitzungsmanagement beschrieben, das Kernfunktionen wie Session_Start (), $ _Session, Session_destroy () und Secure Cookie -Handhabung abdeckt. Es betont die Best Practices der Sicherheitsbekämpfung, einschließlich HTTPS, Sitzungs -ID -Regeneration, s

Welche Fehler wurden im PHP7 -Versions -Update behoben Welche Fehler wurden im PHP7 -Versions -Update behoben Mar 03, 2025 pm 04:36 PM

PHP 7 verbesserte sich bei früheren Versionen erheblich, indem sie zahlreiche Fehler ansprach, die Leistung verbessern und die Sicherheit stärken. Zu den wichtigsten Verbesserungen gehörten eine umgeschriebene Zend -Engine 3, eine optimierte Speicherverwaltung und eine raffinierte Fehlerbehandlung. Während Gene

Welche Auswirkungen hat das PHP7 -Versions -Update auf die Sitzungsverarbeitung? Welche Auswirkungen hat das PHP7 -Versions -Update auf die Sitzungsverarbeitung? Mar 03, 2025 pm 04:31 PM

In diesem Artikel wird die Sitzung der Sitzung in PHP7 untersucht, in der die Leistungsverbesserungen hervorgehoben werden, die sich aus der erweiterten Zend -Engine ergeben. Es werden potenzielle Kompatibilitätsprobleme aus Upgrade und Details von Optimierungsstrategien für Sicherheit und Skalierbarkeit erörtert

Wie kann man PHP 7 -Leistung mit Tools wie New Relic überwachen? Wie kann man PHP 7 -Leistung mit Tools wie New Relic überwachen? Mar 10, 2025 pm 06:28 PM

In diesem Artikel wird erläutert, wie die PHP 7 -Anwendungsleistung mithilfe von New Relic überwacht wird. Es enthält die Einrichtung von New Relic, die wichtigsten Leistungsindikatoren (KPIs) wie APDEX -Score und Reaktionszeit, Engpassidentifikation über Transaktionsspuren und Fehlerspuren

Wie Upgrade von PHP 5.6 auf Php 7? Wie Upgrade von PHP 5.6 auf Php 7? Mar 10, 2025 pm 06:29 PM

In diesem Artikel wird das Upgrade von PHP 5.6 auf PHP 7 aufgeführt und wichtige Schritte wie das Sichern, die Überprüfung der Serverkompatibilität und die Auswahl einer Upgrade -Methode (Paketmanager, Kompilieren, Bedienfeld oder Webserverkonfiguration) betont. Es spricht Potentia an

See all articles