2014-08-27 3 views
0

У меня есть модуль аутентификации. Теперь я хочу, чтобы каждый модуль проходил (общается) с этим модулем аутентификации. Я думаю, вы могли бы сказать, что его аутентификация для всего приложения. Как это сделать?связь между модулями в zend framework 2

ответ

0

Ну, один простой способ получить этот модуль/module_class через пространства имен, тогда вы можете просто расширить класс. Функциональность автоматически вызывается в родительском классе или вызывает метод в дочернем классе. Это было бы довольно простой способ:

// Auth class 
class SomeAuthClass 
{ 
    public function __construct() 
    { 
     // go ahead and call doAuthCrap here, or wait 
     // and let the child class call it manually 
    } 

    protected function doAuthCrap() 
    { 
     // code 
    } 
} 

use Your\AuthModule\SomeAuthClass; 

class SomeOtherModuleClass extends SomeAuthClass 
{ 
    public function zippy_snipp() 
    { 
      // call some method from the parent auth class (doAuthCrap) 
    } 
} 

Или придерживаться некоторых новых способов ZF2 делает вещи, вы можете получить доступ к классу аутентификации через менеджер службы и писать конфиг для него в сервисном конфигурации в модуле .php. Существует очень много способов сделать это, и ZF2 предлагает довольно много вариантов для создания подобных вещей.

ZF2:

// in controller 
$auth = $this->getServiceLocator()->get('someAuth'); 

// in service config in module.php 
public function getServiceConfig() 
{ 
    return array(
     'factories' => array(
      'someAuth' => function ($serviceManager) { 
       // code here 
      }, 
     ) 
    ); 
} 
+0

Так что мне нужно сделать это сейчас для каждого модуля и контроллера? что кажется абсурдным. Должен быть более простой способ справиться с этим. – jkushner

+0

Если каждый класс расширяет некоторый базовый класс, а метод в базовом классе уже вызван инициализацией, то это не абсурдно, все, что вы делаете, - это подклассы. Вы также изучали зависимость? – alex

+0

О, я вижу. Я не читал его правильно. Я попробую подклассы. Что такое инъекция зависимости? – jkushner

Смежные вопросы