Ein Leitfaden für Anfänger zur Förderung von Konstruktoreigenschaften in PHP

WBOY
Freigeben: 2024-08-25 06:41:42
Original
485 Leute haben es durchsucht

A Beginner’s Guide to Constructor Property Promotion in PHP

PHP 8 hat eine fantastische Funktion namensConstructor Property Promotioneingeführt. Wenn Sie mit PHP oder dem Programmieren im Allgemeinen noch nicht vertraut sind, klingt das vielleicht etwas komplex. Aber keine Sorge! In diesem Blog erfahren Sie anhand zahlreicher Codierungsbeispiele, was es ist, warum es nützlich ist und wie Sie es verwenden können. Fangen wir an!

Was ist die Förderung von Bauträgerimmobilien?

Vor PHP 8 erforderte das Erstellen einer Klasse mit Eigenschaften und deren Initialisierung in einem Konstruktor eine Menge repetitiven Code. MitConstructor Property Promotionvereinfacht PHP 8 diesen Prozess, indem es Ihnen ermöglicht, Klasseneigenschaften direkt in den Konstruktorparametern zu deklarieren und zu initialisieren.

Warum sollte es Sie interessieren?

Bei der Promotion von Constructor-Eigenschaften geht es nicht nur darum, ein paar Zeilen Code einzusparen – es geht darum, Ihren Code sauberer, leichter lesbar und einfacher zu warten. Dies ist besonders wertvoll für Anfänger, die die traditionelle Art, Konstruktoren zu schreiben, möglicherweise etwas entmutigend finden.

Traditioneller Weg vs. Bauherren-Immobilienförderung

Beginnen wir damit, die traditionelle Art, Klassen und Konstruktoren zu schreiben, mit der neuen Art zu vergleichen, die in PHP 8 eingeführt wurde.

Vor PHP 8 (traditionelle Methode)

class Car { public string $make; public string $model; public int $year; public function __construct(string $make, string $model, int $year) { $this->make = $make; $this->model = $model; $this->year = $year; } } $car = new Car('Toyota', 'Corolla', 2020);
Nach dem Login kopieren

In diesem Beispiel müssen wir die Eigenschaften ($make, $model und $year) deklarieren und sie dann innerhalb des Konstruktors zuweisen. Es gibt viele Wiederholungen, besonders wenn es sich um Klassen handelt, die viele Eigenschaften haben.

Mit PHP 8 (Constructor Property Promotion)

class Car { public function __construct( public string $make, public string $model, public int $year ) {} } $car = new Car('Toyota', 'Corolla', 2020);
Nach dem Login kopieren

Mit der Constructor Property Promotion deklarieren und weisen Sie die Eigenschaften in den Konstruktorparametern zu. Das Ergebnis ist eine prägnantere und lesbarere Klassendefinition.

Weitere Codierungsbeispiele

Um die Leistungsfähigkeit der Constructor Property Promotion vollständig zu verstehen, schauen wir uns weitere Beispiele in verschiedenen Szenarien an.

Beispiel 1: Definieren einer Buchklasse

class Book { public function __construct( public string $title, public string $author, public int $pages, public bool $isAvailable = true ) {} } $book = new Book('1984', 'George Orwell', 328); echo $book->title; // Output: 1984 echo $book->isAvailable; // Output: 1 (true)
Nach dem Login kopieren

In dieser Book-Klasse hat die Eigenschaft isAvailable den Standardwert true. Wenn Sie diesen Parameter beim Erstellen einer Instanz der Klasse nicht angeben, wird er automatisch auf true gesetzt.

Beispiel 2: Erstellen einer Auftragsklasse

class Order { public function __construct( public int $orderId, public string $product, public float $price, public string $status = 'pending' ) {} } $order = new Order(123, 'Laptop', 999.99); echo $order->status; // Output: pending $order2 = new Order(124, 'Smartphone', 599.99, 'shipped'); echo $order2->status; // Output: shipped
Nach dem Login kopieren

Hier enthält die Order-Klasse eine Statuseigenschaft mit dem Standardwert „pending“. Sie können diesen Wert jedoch überschreiben, indem Sie beim Erstellen der Bestellung einen anderen Status angeben.

Beispiel 3: Erstellen einer Benutzerprofilklasse

class UserProfile { public function __construct( public string $username, public string $email, public int $age, private string $password, protected string $role = 'user' ) {} public function getPassword(): string { return $this->password; } } $userProfile = new UserProfile('johndoe', 'john@example.com', 25, 'secret'); echo $userProfile->username; // Output: johndoe echo $userProfile->getPassword(); // Output: secret echo $userProfile->role; // Error: Cannot access protected property
Nach dem Login kopieren

In der UserProfile-Klasse ist die Passworteigenschaft privat, was bedeutet, dass außerhalb der Klasse nicht direkt darauf zugegriffen werden kann. Stattdessen verwenden Sie die Methode getPassword(), um es abzurufen. Die Rolleneigenschaft ist geschützt, daher kann nur innerhalb der Klasse selbst oder von Unterklassen auf sie zugegriffen werden.

Beispiel 4: Eine Produktklasse mit Bauherren-Promotion

class Product { public function __construct( public string $name, public float $price, public int $stock = 0 ) {} } $product = new Product('Laptop', 999.99, 10); echo $product->name; // Output: Laptop echo $product->stock; // Output: 10
Nach dem Login kopieren

Dieses Beispiel zeigt, wie Sie mit Constructor Property Promotion eine Produktklasse erstellen können, die einen Standardwert für die Aktieneigenschaft enthält.

Vorteile der Immobilienförderung für Bauunternehmer

  1. **Weniger Boilerplate-Code: **Sie müssen keinen sich wiederholenden Code schreiben, um Eigenschaften zu deklarieren und zu initialisieren.

  2. Erhöhte Lesbarkeit:Die Klassendefinition ist präziser und auf einen Blick leichter zu verstehen.

  3. Reduzierte Fehler:Durch die Kombination von Eigenschaftsdeklaration und Initialisierung gibt es weniger Raum für Fehler.

Abschluss

Constructor Property Promotion in PHP 8 ist eine leistungsstarke Funktion, die die Art und Weise, wie Sie Klassen schreiben, erheblich verbessern kann. Durch die Reduzierung des Boilerplate-Codes, die Verbesserung der Lesbarkeit und die Wartbarkeit Ihres Codes ist es eine Funktion, die sowohl neue als auch erfahrene Entwickler zu schätzen wissen.

Ob Sie ein kleines Projekt oder eine große Anwendung erstellen, Constructor Property Promotion hilft Ihnen, saubereren und effizienteren PHP-Code zu schreiben. Probieren Sie es also bei Ihrem nächsten Projekt aus und genießen Sie die Vorteile dieser tollen Funktion!

Das obige ist der detaillierte Inhalt vonEin Leitfaden für Anfänger zur Förderung von Konstruktoreigenschaften in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!