문제

해당 클래스의 기능 중 하나에서 수업에서 인수를 사용하는 데 어려움이 있습니다.

회사라는 수업이 있습니다.

class company {

   var $name;

   function __construct($name) {
      echo $name;
   }

   function name() {
      echo $name;
   }
}

$comp = new company('TheNameOfSomething');
$comp->name();

내가 그것을 인스턴스화 할 때 (두 번째로 마지막 줄), 구성 마법 방법은 잘 작동하고 "thenameofsomething"을 반향시킵니다. 그러나 이름 () 함수를 호출하면 아무것도 얻지 못합니다.

내가 뭘 잘못하고 있죠? 모든 도움은 대단히 감사합니다. 다른 정보가 필요하면 물어보십시오!

감사
-Giles
http://gilesvangruisen.com/

도움이 되었습니까?

해결책

$이 키워드를 사용하여 클래스 속성을 설정해야합니다.

class company {

   var $name;

   function __construct($name) {
      echo $name;
      $this->name = $name;
   }

   function name() {
      echo $this->name;
   }
}

$comp = new company('TheNameOfSomething');
$comp->name();

다른 팁

두 메소드에서 $ 이름을 사용하는 경우 $ 이름 변수의 범위는 생성 된 함수로 제한됩니다. 기타 방법 또는 포함 된 클래스는 변수를 읽을 수 없거나 존재한다는 것을 알아야하므로 설정해야합니다. 클래스 변수를 사용합니다 $this-> 접두사.

$this->name = $name;

이를 통해 값은 지속적이며 클래스의 모든 기능에 사용할 수 있습니다. 또한 변수는 공개되므로 모든 스크립트 또는 클래스는 변수의 값을 읽고 수정할 수 있습니다.

$comp = new company();

$comp->name = 'Something';

$comp->name(); //echos 'Something'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top