C'è un modo per contrassegnare uno magic property come deprecato? Considerate seguente, il codice semplificato:Come deprecare la proprietà magica di PHP in PHPDoc?
/**
* Example class
*
* @property string $foo A foo variable.
*/
class Example {
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
Ora, come per indicare altri sviluppatori, che non dovrebbero più usare Example::$foo
? L'unica soluzione di lavoro che mi viene in mente è:
/**
* Example class
*/
class Example {
/**
* A foo variable.
*
* @var string
* @deprecated
*/
public $foo;
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
Ma questa sia spezza il codice (getter non è chiamato) e non si sente molto elegante.
lanciare un avviso o un'eccezione e documentarlo? –
[Mi sembra legittimo] (https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.deprecated.pkg.html) - non viene compilato? –
@self Non voglio rompere le vecchie dipendenze - solo indicare che non dovrebbe essere usato nel codice più recente. – pamelus