そのため、PHP クラスの設計で抱えている問題を解決しようとしています。基本クラスを作成し、プライベート変数を割り当てました。この基本クラスを拡張する子クラスがあり、基本クラスの関数を介してこれらのプライベート変数を参照および変更します。private
ここに例を示します。メソッド/変数との違いについてまだ混乱していることを覚えておいてprotected
ください(間違っている場合はお知らせください!):
base.class.php
<?php
class Base {
private $test;
public function __construct(){
require('sub.class.php');
$sub = new Sub;
echo($this->getTest());
}
public function getTest(){
return $this->test;
}
protected function setTest($value){
$this->test = $value;
}
}
?>
sub.class.php
<?php
class Sub extends Base {
public function __construct(){
parent::setTest('hello!');
}
}
?>
hello!
そのため、結果が画面に表示されることを期待していますが、代わりに何もありません。私の側にクラスの基本的な誤解があるか、何か間違ったことをしている可能性があります。どんなガイダンスでも大歓迎です!ありがとう。
編集:
回答に貢献してくれたすべての人に感謝します-優れたソリューションにもかかわらず、実際には子クラスは私が必要としているものではないと思います.Baseを実際に参照する必要がないため、この時点ではデリゲートクラスの方が便利なようです.他のクラス内から機能します。