инстанцировать объект из строк в массиве php - PullRequest
0 голосов
/ 22 марта 2012

У меня есть этот массив:

$methodsOutput = array("MidUpperArmMuscleArea","ArmSpan_HeightEstimation","BMIBeforePregnancy",
                "PregnancyTotalWeightGain","PregnancyWeeklyWeightGain","MS_CurrentBMI_BMIPregnancyWeeks",
                "PregnancyDueDate","PregnancyWeeks","WeightEstimation","WHO_BMI_2000_IdealBMI",
                "WHO_BMI_2000_IdealWeight","WHO_HeightAge_2006_IdealHeight","WHO_WeightAge_2006_IdealWeight");

, и для каждого из них у меня есть соответствующий класс (все включено в файл).

Как я могу динамически создать это.

Я пытаюсь это:

foreach($methodsOutput as $method) {
    $$method= new $method();
}

, но получаю:

Неустранимая ошибка: класс 'MidUpperArmMuscleArea' не найден в ...

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Объективно это выглядит как очень плохой способ сделать это ..

Во всяком случае, это не то, что вы хотите услышать.

Класс MidUpperArmMuscleArea на самом деле не должен существовать в этом контексте, так как ваш синтаксис правильный. Поскольку вы упоминаете, что все эти классы находятся в одном файле, определяете ли вы их после выполнения этого кода?

0 голосов
/ 22 марта 2012

Есть ли у вас этот класс "MidUpperArmMuscleArea"?Вы можете использовать class_exists для тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...