복붙노트

PHP에서 클래스 속성 값을 동적으로 정의 할 수 있습니까?

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;

    function login() {
        //some method goes here!
    }
}

수율 :

위의 코드에서 잘못된 점이 있습니까? 그렇다면 나를 안내 해주시고 가능하지 않다면 이것을 달성하기위한 좋은 방법은 무엇입니까?

해결법

  1. ==============================

    1.다음과 같이 생성자에 넣을 수 있습니다.

    다음과 같이 생성자에 넣을 수 있습니다.

    public function __construct() {
        $this->fullname  = $this->firstname.' '.$this->lastname;
        $this->totalBal  = $this->balance+$this->newCredit;
    }
    

    왜 네가 원하는대로 할 수 없어? 설명서의 인용문에 설명되어 있습니다.

    OOP 속성에 대한 자세한 내용은 설명서를 참조하십시오. http://php.net/manual/en/language.oop5.properties.php

  2. ==============================

    2.아니요, 그런 속성을 설정할 수는 없습니다.

    아니요, 그런 속성을 설정할 수는 없습니다.

    그러나 생성자에서 설정할 수 있으므로 누군가가 클래스의 인스턴스를 만드는 경우 사용할 수 있습니다.

    public function __construct()
    {
        $this->fullname = $this->firstname . ' ' . $this->lastname;
    }
    
  3. from https://stackoverflow.com/questions/28988260/is-it-possible-to-define-a-class-property-value-dynamically-in-php by cc-by-sa and MIT license