Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2013, 05:31   #1
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Радость Паттерн Registry

Здравствуйте!

В данный момент занимаюсь написание паттерна registry, и вот задаюсь вопросом.
Как бы реализовать это все поудобней А именно глобальный доступ к данному классу. Понимаю что можно через global - но это не совсем то что хотелось бы Копая Google нашел вариант такого рода. В каждом классе была приватная переменная "private $registry;", в момент создания экземпляра класса в конструктор передается $registry и присваивается этой самой переменной.

Пример:
PHP код:
class controller_test extends controller {
  private 
$registry;
  
  public function 
__construct($registry) {
    
$this->registry $registry;
  }

  public function 
action_index() {
    echo 
'Hello world!';
  }

Подскажите как можно реализовать что-то подобное но более удобно и красиво. Главное получить глобальный доступ к "$registry" не используя каждый раз global.
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Старый 25.07.2013, 10:58   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Свой класс Registry оберните в Singleton и используйте в своем коде Registry::getInstance()
Cronos20 вне форума Ответить с цитированием
Старый 26.07.2013, 00:53   #3
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Радость

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Свой класс Registry оберните в Singleton и используйте в своем коде Registry::getInstance()
Насчет Singleton я знаю, спасибо Но дело немного не в том. Мне нужно использовать данный класс глобально и я хочу это сделать как можно удобней - дабы не использовать global каждый раз перед вызовом метода с этого класса. А насколько я знаю Singleton это одиночка но к удобству глобального доступа он не имеет отношения.
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Старый 26.07.2013, 10:26   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Ну вообще-то имена классов как раз и глобальны. Именно по имени класса вы и вызываете свои методы
Код:
Registry::getInstance()->addYourItem("bla-bla");
$yourItem = Registry::getInstance()->getYourItem();
Какие еще global ? Этот код доступен из любого места в приложении.
Cronos20 вне форума Ответить с цитированием
Старый 27.07.2013, 01:07   #5
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Радость

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Ну вообще-то имена классов как раз и глобальны. Именно по имени класса вы и вызываете свои методы
Код:
Registry::getInstance()->addYourItem("bla-bla");
$yourItem = Registry::getInstance()->getYourItem();
Какие еще global ? Этот код доступен из любого места в приложении.
Немного протупил Спасибо огромное "+"
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паттерн Начинающий програм Помощь студентам 0 20.05.2013 19:41
Registry и WriteBool Delas Общие вопросы Delphi 1 24.12.2011 00:44
::Registry:: doniyor Общие вопросы Delphi 6 31.01.2009 18:41
registry subsonic Общие вопросы Delphi 1 09.01.2008 01:35
Удаление записи с Registry celovec Общие вопросы Delphi 2 29.07.2007 21:55