Передача регистра из одного класса в другой - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Передача регистра из одного класса в другой

#1 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 763
  • Регистрация: 20-Март 09
  • Репутация: 2 288
  • IPB version:3.1.x
 

Отправлено 21 Сентябрь 2012 - 22:01

Я правильно понимаю концепцию ипс и ООП о передаче регистра из класса в класс?

class lofi
{
    public function __construct( ipsRegistry $registry )
    {
        $this->registry = $registry;
        $this->DB       = $this->registry->DB();
        .....
    }

    public function init()
    {
        $this->skin = new lofi_skin( $this->registry )
    }
}


class lofi_skin
{
    public function __construct( ipsRegistry $registry )
    {
        $this->registry = $registry;
        $this->DB       = $this->registry->DB();
    }
}

$registry = ipsRegistry::instance();
$registry->init();

$lofi = new lofi( $registry );
$lofi->init();


Или можно как-то по другому? :)
0

#2 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 21 Сентябрь 2012 - 22:27

Передавать каждый раз не обязательно, ipsRegistry - синглтон.

class lofi
{
    public function __construct( )
    {
        $this->registry = ipsRegistry::instance();
        $this->DB       = $this->registry->DB();
        .....
    }

    public function init()
    {
        $this->skin = new lofi_skin( );
    }
}

class lofi_skin
{
    public function __construct( )
    {
        $this->registry = ipsRegistry::instance();
        $this->DB       = $this->registry->DB();
    }
}

// Эта конструкция вызывается один раз на весь скрипт
$registry = ipsRegistry::instance();
$registry->init(); 
// ---

$lofi = new lofi();
$lofi->init();

2

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна