저는 매우 간단 할 것이라고 생각하는 것을하려고합니다. 그러나 PHP에서 OOP에 비교적 익숙하지 않기 때문에 약간의 문제가 있습니다.자식 클래스에 대한 보호 된 변수의 값을 변경하십시오.
<?php
class MyClass
{
protected $variable = 'DEFAULT';
function __construct($newVariable)
{
$this->variable = $newVariable;
echo $this->variable;
}
}
class OtherClass extends MyClass
{
function __construct()
{
echo $this->variable;
}
}
$foo = new MyClass('MODIFIED'); // Output : MODIFIED
$bar = new OtherClass(); // Output : DEFAULT
?>
내가 다른 스레드와 많은 웹 사이트를 검색하지만 아마도 자식 클래스에 $ 변수의 재정의 값을 전달할 수있는 방법을 발견하지 않았습니다 :
여기 내 코드입니다. 누군가 나를 통해 가이드 할 수 있습니까? 방법이 있다면.
미리 감사드립니다.
편집 실제로 나는이 문제에 봉착 스크립트에서 무슨 일이 일어나고 있는지 명확히 : 을 나는이 양식을 작성하고, 그 클래스에 우리가 무엇을 ENVIRONNEMENT의 기능을 말하는 몇 가지 변수가 클래스 : 경우 다차원 형식이든 아니든, 일반 형식이나 구조화 된 형식의 매개 변수를 원한다면 말입니다. 그리고 이러한 환경 변수 중 일부는 클래스의 기능을 통해 클래스의 실행을 통해 수정됩니다.
이제 내 페이지의 필요성 때문에 "선택"필드를 만드는 데 전념 한 하위 클래스가 있습니다. 필드를 생성하기 위해 메인 클래스의 핵심 기능을 상속하지만 하위 클래스는 몇 가지 매개 변수를 더 많이 사용합니다. 그게, 나는 여전히 주 클래스에서 environnement 매개 변수를 상속하는 select 클래스를 원할 것입니다.
필자는이 코드를 입력 할 때 올바른 방법이 아닐 수도 있다고 생각합니다. 코드를 볼 때 다른 방법이있을 수 있기 때문입니다. 제 코드에는 두 가지 객체가 필요합니다. 단 하나만 필요하지만 실제 배치하는 방법을 모르겠습니다.
변수를 재정의하지 않고 부모 생성자로 설정하기 만하면됩니다. 당신이 필요로하는 것을 당신에게 부르십시오. – hakre
OOP는 함수와 기본 변수의 상속입니다. 그것은 마술처럼 두 개체를 연결하지 않습니다. 슬프게도. –