Creation of dynamic property is deprecated !
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The following code ( This should never happen when I'm using magic methods, but unfortunately it does happen sometimes ):
<?php
final class Content {
protected array $data = array('sequence'=>1);
public function &__get(string $property) : mixed {
if(isset($this->data[$property]) === false):
$this->data[$property] = null;
endif;
return $this->data[$property];
}
public function __set(string $name,mixed $value) : void {
$this->data[$name] = $value;
}
}
$content = new Content();
$result = $content->sequence * 2 + 1;
$content->sequence += 1;
print $result;
Result:
3
But sometimes when the number of such requests increases, I receive the following warning :
Creation of dynamic property Content::$sequence is deprecated 18
PHP Version
PHP 8.2.11
Operating System
Linux
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Reproduktion mit PHP 8.2.11 aus dem Issue unter Linux auszuführen, und vergleiche die Zugriffe auf magische Methoden mit der gemeldeten Warnung zu dynamischen Eigenschaften. Verfolge die Laufzeitbehandlung von __get, __set und der zusammengesetzten Zuweisung, um zu bestimmen, wo die Warnung entsteht. Die abgeschlossene Arbeit sollte eine bestätigte Erklärung und einen Regressionstest oder eine klar definierte Verhaltensänderung enthalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100