「動的」クラスの初期化について質問があります。意味を説明しましょう。
$class = 'User';
$user = new $class();
//...is the same as doing
$user = new User();
だから...それは問題ではありませんが、クラスから静的変数を呼び出すときに同じことを行うのに問題があります。たとえば、次のようになります。
$class = 'User';
print $class::$name;
これにより、次のエラーが発生します。
解析エラー:構文エラー、予期しないT_PAAMAYIM_NEKUDOTAYIM in
もちろん、私はテストを行いましprint User::$name;
たが、それは機能します。したがって、クラスは機能します。
これはなぜですか、それを回避する方法はありますか?
フォローアップの質問:
クラスの作成にこの「動的」な方法を使用しない正当な理由もありますか?