Heim Schlagzeilen PHP 7.4 wird voraussichtlich im Dezember 2019 veröffentlicht

PHP 7.4 wird voraussichtlich im Dezember 2019 veröffentlicht

Mar 27, 2019 am 11:33 AM
PHP 7.4

PHP 7.4 wird möglicherweise im Dezember 2019 veröffentlicht. Diese Seite wird regelmäßig aktualisiert.

<strong>Preloading</strong><strong>Preloading</strong> rfc

Preloading (Preloading) ist eine erstaunliche Ergänzung zum PHP-Kern, die es bringen kann einige wesentliche Leistungsverbesserungen.

Kurz gesagt: Wenn Sie heute ein Framework verwenden, müssen dessen Dateien bei jeder Anfrage geladen und neu kompiliert werden. Durch das Vorladen kann der Server PHP-Dateien beim Start in den Speicher laden und sie für alle nachfolgenden Anforderungen dauerhaft verfügbar machen.

Die erhöhte Leistung hat natürlich ihren Preis: Ändert sich die Quelle der vorinstallierten Dateien, muss der Server neu gestartet werden.

<code><strong>Typed properties</strong>Typisierte Eigenschaften rfc

Klassenvariablen können typabhängig sein:

class A
{
    public string $name;
    
    public Foo $foo;
}
Nach dem Login kopieren

Update : Bisher wurden typisierte Eigenschaften zusammengeführt, was sie für PHP 7.4 bestätigt.

<strong>Improved type variance</strong><strong>Verbesserte Typvarianz</strong>(verbesserte Typvarianz) Ich habe schon früher über das Typsystem von PHP gelesen, daher ist es schön, einige davon zu sehen Verbesserungen am PHP-Kern.

Typunterschiede sind ein Thema, das einen eigenen Blogbeitrag verdient.

Kurz gesagt: Sie können den

Rückgabetyp

class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}
Nach dem Login kopieren
covariant und

verwenden Parameter.

class A
{
    public function contraVariantArguments(ChildType $type)
    { /* … */ }
}

class B extends A
{
    public function contraVariantArguments(ParentType $type)
    { /* … */ }
}
Nach dem Login kopieren
contravariantUpdate: Der RFC befindet sich derzeit in der Abstimmungsphase, aber es sieht so aus, als würde er ohne Probleme durchgehen.

</p>Foreign Function Interface<p><strong>Foreign Function Interface</strong> (Foreign Function Interface) rfc

Foreign Function Interface, Kurz gesagt, FFI ermöglicht den Aufruf von C-Code aus dem Userland. Das bedeutet, dass PHP-Erweiterungen in reinem PHP geschrieben werden können.

Es ist erwähnenswert, dass dies ein komplexes Thema ist. Um diese Funktion korrekt nutzen zu können, benötigen Sie noch C-Kenntnisse.

<p>Null<code><strong>Null</strong>Merge-Zuweisungsoperator rfc

Tut dies nicht:

$data[&#39;date&#39;] = $data[&#39;date&#39;] ?? new DateTime();
Nach dem Login kopieren

Sie können dies tun:

$data[&#39;date&#39;] ??= new DateTime();
Nach dem Login kopieren

UPDATE: Diese Funktion ist jetzt in PHP 7.4 integriert.

Benutzerdefinierte Objektserialisierung rfc

Dieser RFC fügt zwei neue magische Methoden hinzu: __serialize und __unserialize. Die Unterschiede zwischen diesen Methoden und den Methoden __sleep und __wakeup werden im RFC erläutert.

Update: RFC genehmigt. Diese Funktion wird in PHP 7.4 hinzugefügt.

<code><strong>No more narrow margins</strong>Keine schmalen Ränder mehr rfc

Technisch gesehen ist dies kein PHP 7.4-bezogenes Update, aber es ist definitiv so erwähnenswert. Die Abstimmungsregeln für RFCs haben sich geändert: Zur Verabschiedung ist immer eine Zweidrittelmehrheit erforderlich.

<strong>Reflection for references</strong> <a href="https://wiki.php.net/rfc/reference_reflection" target="_blank">Reflection für Referenzen</a>

rfc

Bibliotheken wie der Var-Dumper von Symfony sind stark auf die Reflection-API angewiesen, um einen zuverlässigen Dump durchzuführen Variablen. Zuvor gab es keine ordnungsgemäße Reflexionsunterstützung für Referenzen, was dazu führte, dass diese Bibliotheken auf Hacks angewiesen waren, um Referenzen zu erkennen. ReflectionReference

PHP 7.4 hat die Klasse

hinzugefügt, um dieses Problem zu lösen.

Update: RFC bestanden, Änderungen für PHP 7.4 bestätigt. mb_str_split 

rfc

hinzugefügt Diese Funktion bietet die gleiche Funktionalität wie str_split, jedoch für Multibyte-Strings. ext-hashImmer aktiviert

rfc

Wie der Titel schon sagt, ist diese Erweiterung jetzt dauerhaft in allen PHP-Installationen verfügbar. PEARStandardmäßig nicht aktiviert

Da PEAR nicht mehr aktiv gepflegt wird, hat das Kernteam beschlossen, seine Standardinstallation mit PHP 7.4 zu entfernen. HashingPassword Hash () Registry

rfc

ändert intern die Art und Weise, wie die Hash-Bibliothek verwendet wird, sodass Benutzer können sie einfacher verwenden. <strong>ext / wwdx</strong> VERALTEText/wwdx

rfc

Dieses Datenaustauschformat war noch nie verfügbar Standardisiert, seine Erweiterungen sind jetzt veraltet.

Upgrade von abwärtsinkompatiblen Änderungen

Beim Upgrade einer PHP-Version sollten Sie immer die

vollständige Upgrade-Dokumentation

lesen.

parent::Hier sind einige der abwärtsinkompatiblen Änderungen hervorgehoben:

• Referenzen in einer Klasse ohne übergeordnete Klasse führen zu einem Kompilierungsfehler anstelle eines Laufzeitfehlers.

• Der Aufruf von var_dump für eine DateTime- oder datetimevariable-Instanz hinterlässt keine zugänglichen Eigenschaften mehr für das Objekt.

openssl_random_pseudo_bytes löst im Fehlerfall eine Ausnahme aus.

• Der Versuch, eine PDO- oder PDOStatement-Instanz zu serialisieren, generiert eine Ausnahme anstelle von PDOException.

• Der Aufruf von ArrayObject für eine Instanz von get_object_vars() gibt die Eigenschaften von ArrayObject selbst zurück und nicht den Wert des umschlossenen Arrays oder Objekts. Beachten Sie, dass (Array-)Umsetzungen nicht betroffen sind.

Übersetzt von: https://stitcher.io/blog/new-in-php-74#reflection-for-references-rfc

Verwandte Empfehlungen:

Der Sicherheitsunterschied zwischen PHP7 und PHP5 (Beispiel)

Änderungen durch PHP7s Abstract Syntax Tree (AST)

Ausführungsprinzip der PHP7-Sprache (PHP7-Quellcode-Analyse)

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)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate 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)