magic propertyを非推奨とする方法はありますか?彼らはもうExample::$foo
を使用してはならないこと、PHPDocでPHPの魔法のプロパティを非難する方法は?
/**
* Example class
*
* @property string $foo A foo variable.
*/
class Example {
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
は今、どのように他の開発者を示すために、次の、簡略化されたコードを考えてみましょうか?
/**
* Example class
*/
class Example {
/**
* A foo variable.
*
* @var string
* @deprecated
*/
public $foo;
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
しかし、これは私のコードを壊す(ゲッターが呼び出されていない)と非常に上品な感じがしない、両方:私の心に来るだけの作業ソリューションです。
警告または例外をスローし、それを文書化しますか? –
[私には正当に見える](https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.deprecated.pkg.html) - コンパイルされませんか? –
@self古い依存関係を壊すことは望んでいません。新しいコードでは使用しないでください。 – pamelus