Это, вероятно, базовый материал, но я не обученный разработчик так не медлят со мной.Глобальный экземпляр класса в php
Мой вопрос: Как я могу получить класс в php «global», чтобы я мог инициализировать его вне вызова функции, но все равно использовать его внутри?
Этот пример показывает, что я хочу достичь, но, по-видимому, не работает:
$view = new Smarty();
$view->debugging = false;
$view->caching = false;
$view->cache_lifetime = 1;
$view->setTemplateDir('../views/');
$app->get('/register', function (Request $request, Response $response) {
$param = $request->getParams();
$view->assign('name', $param["name"]);
$response = $view->display('index.html');
return $response;
});
Чтобы заставить его работать, я должен определить его в пределах $ app-> получить колл. Затем, конечно, в $ app-> get call необходимо установить $ view-> debugging и т. Д.
Целью этого является отсутствие необходимости инициализировать новый экземпляр $ view для каждого вызова и получить настройки по умолчанию для глобальных.
Редактировать: Возможно, я должен был быстро задать вопрос здесь. После поиска в Google я думаю, что могу найти решение. Но используя «global $ view» внутри функции, я получаю доступ к экземпляру класса. Это отличается от других языков, на которых вы устанавливаете «public $ variable = new class.function()», но, вероятно, причина в том, что это так, и я могу определенно увидеть, как это может быть преимуществом для безопасности/производительности и т. Д. есть альтернативный способ? Что такое pro/cons?