Это основной класс моего проекта, и я использую массив для хранения классов (не уверен, что это лучший способ), но при использовании строки ниже ...PHP-код не работает как ожидалось (классы)
$this->getController("config")->loadConfiguration();
На самом деле это не загружает конфигурацию? и когда я получаю доступ к нему в классах $ this-> вместо функции getController, он говорит, что он пуст?
Я также получаю эту ошибку .. (EDIT) Фатальная ошибка: Вызов функции члена loadConfiguration() на не-объект
Вот весь мой класс:
<?php
defined("SECURE") or exit('Please define SECURE keyword to continue.');
class miracle
{
//Usage: $this->getController("test")->run();
private $classes;
public function __construct()
{
$classes = array();
}
public function run()
{
$this->loadClasses();
$this->getController("config")->loadConfiguration();
}
public function getController($c)
{
return $classes[$c];
}
private function loadClasses()
{
$this->classes["template"] = new template();
$this->classes["config"] = new config();
}
}
?>
так что уменьшите поверхность проблемы: это * вызов * 'loadConfiguration'? (вставьте эхо/печать там, посмотрите, что произойдет). Если нет, то проблема заключается в том, что он не вызывает вашу функцию, а не о том, что ваш код не выполняет то, что находится внутри этой функции. Если это так, то проблема не в структуре классов. –
'$ classes' находится в области метода. '$ this-> classes' находится в классе. – frz3993
Эхо все, что там, на данный момент, оно не эхо. –