ホームページ >バックエンド開発 >PHPチュートリアル >PHP でクラス プロパティに値を動的に割り当てるにはどうすればよいですか?

PHP でクラス プロパティに値を動的に割り当てるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-01 07:30:15651ブラウズ

How Can I Dynamically Assign Values to Class Properties in PHP?

PHP での動的クラス プロパティ値の割り当て

定数値を使用したクラス プロパティの定義は、PHP の標準的なアプローチです。ただし、特定のシナリオでは、値を動的に割り当てる必要がある場合があります。

例:

次のコードを考えてみましょう:

class user {
    public $firstname = "jing";
    public $lastname  = "ping";
    public $balance   = 10;
    public $newCredit = 5;
    public $fullname  = $this->firstname.' '.$this->lastname;
    public $totalBal  = $this->balance+$this->newCredit;
}

Thisコードは、他のプロパティの値に基づいて、fullname プロパティと totalBal プロパティを動的に割り当てようとします。ただし、クラスレベルのプロパティ内で $this を使用するため、解析エラーが発生します。

解決策:

クラス プロパティ値を動的に割り当てるには、クラスコンストラクター内の割り当てコード。例:

class user {
    private $firstname;
    private $lastname;
    private $balance;
    private $newCredit;
    private $fullname;
    private $totalBal;
    
    public function __construct() {
        $this->firstname = "jing";
        $this->lastname  = "ping";
        $this->balance   = 10;
        $this->newCredit = 5;
        $this->fullname  = $this->firstname.' '.$this->lastname;
        $this->totalBal  = $this->balance+$this->newCredit;
    }
}

説明:

宣言中にクラス プロパティに動的値を割り当てることはできません。 PHPのマニュアルによると、初期化はコンパイル時に評価される定数値でなければなりません。コンストラクターを使用すると、オブジェクト作成時に動的に値を割り当てることができます。

以上がPHP でクラス プロパティに値を動的に割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。