это заводило меня орехами (выпивка Нецензурные количества кофе и работа на всю ночь не помогает) Я хочу получить доступ к классу, где бы я ни находился в приложении. Я создаю экземпляр класса на моей индексной странице (который автоматически загружает мои библиотеки lib/classes). Но, похоже, я не могу получить глобальный доступ к нему. Это мой индекс страницы:Php доступ к глобальному классу
function __autoload($class)
{
require LIBS . $class .'.php';
}
$Core = new Core($server, $user, $pass, $db);
Автомобиль загрузить мои Lib/классы отлично, а затем я создаю экземпляр моего ядра (Это автоматически загружается в моем Lib/core.php)
Тогда в моей основной, где Я создаю обычное соединение с базой данных, получаю и проверяю URL-адрес и где я создаю несколько классов (которые загружаются автоматически). Я создаю __construct, и именно здесь я хочу создать экземпляр класса Template. Я хочу иметь глобальный доступ для доступа к классу в любом из моих контроллеров и моделей.
class Core {
function __construct(DATABASE VARIABLES IN HERE)
{
$this->Template = new Template();
}
}
Хорошо, так что я думал, что я мог бы получить доступ к шаблону объекта, выполнив следующие действия в моей родительской модели и родительского контроллера:
class Controller
{
public $Core;
function __construct()
{
global $Core;
$this->Core = &$Core;
}
}
Контроллер является родителем распространяется на все мои контроллеры, поэтому я предположил, что я может просто написать $this->Core->Template->get_data();
для доступа к шаблону? Кажется, это ошибка.
Я уверен, что это должно быть что-то простое, что я упустил из виду, если кто-нибудь может дать мне руку, которая была бы замечательной. Эта проблема сводит меня с ума.
Также примечание стороны в пределах моих детей контроллеров в пределах моей __construct я построить Родитель кажется parent::_construct();
Ошибки быть Notice: Trying to get property of non-object
и Fatal error: Call to a member function get_data() on a non-object
.
Почему бы просто не передать '$ Core' в качестве параметра конструктору? –
Связано прочитано: http://stackoverflow.com/questions/11923272/use-global-variables-in-a-class/11923384#11923384 – PeeHaa