Creation of dynamic property is deprecated !
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.1k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo su Linux la riproduzione con PHP 8.2.11 inclusa nell'issue e confronta gli accessi ai metodi magici con l'avviso segnalato sulle proprietà dinamiche. Traccia la gestione a runtime di __get, __set e dell'assegnazione composta per determinare dove ha origine l'avviso. Il lavoro completato deve includere una spiegazione confermata e un test di regressione oppure una modifica del comportamento chiaramente definita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100