Перейти к содержимому
Русский язык для Invision Community 5

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

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

 

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();

 

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

Рекомендованные сообщения

Передавать каждый раз не обязательно, 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();

Создайте аккаунт или войдите в него для комментирования

Важная информация

При использовании данного сайта, вы согласаетесь с Условия использования и Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим..

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.