これは、スコープを理解できない私のコードを表す擬似コードです。
Class Tester にはプライベート変数、ホールド クラスがあります。配列は var のベース名を保持します。関数 bar は、文字列内の変数を構築してから使用しようとします。これができない場合は理解できますが、変数名を作成しているだけです。
Class Tester{
private $preClass1post = new TestClass1();
private $preClass2post = new TestClass2();;
private $preClass2post = new TestClass2();;
public $classBasicNames = array('Class1','Class2','Class3');
function Bar(){
foreach($classBasicNames as $classBasicName){
$fullClassName = 'PreText'.classBasicName.'PostText';
$fullClassName->DoWork();
//always throws object does not exist
}
}
}
//actual code for context
$mapperName = 'mapper'.$entityName.'Stat';
echo $mapperName;
$dbos = $this->{$mapperName}->fetchAll($options);