public function testGetClassTraits() { $traitsD = ClassInspector::getTraits('mako\\tests\\unit\\syringe\\D'); $traitsE = ClassInspector::getTraits('mako\\tests\\unit\\syringe\\E'); $expectedTraits = ['mako\\tests\\unit\\syringe\\C' => 'mako\\tests\\unit\\syringe\\C', 'mako\\tests\\unit\\syringe\\B' => 'mako\\tests\\unit\\syringe\\B', 'mako\\tests\\unit\\syringe\\A' => 'mako\\tests\\unit\\syringe\\A']; $this->assertEquals($expectedTraits, $traitsD); $this->assertEquals($traitsD, $traitsE); }
/** * Checks if a class is container aware. * * @access protected * @param object $class Class instance * @return boolean */ protected function isContainerAware($class) { $traits = ClassInspector::getTraits($class); return isset($traits[ContainerAwareTrait::class]); }
/** * Checks if a class is container aware. * * @access protected * @param object $class Class instance * @return boolean */ protected function isContainerAware($class) { $traits = ClassInspector::getTraits($class); return isset($traits['mako\\syringe\\ContainerAwareTrait']); }
/** * Registers query builder hooks from traits. * * @access protected */ protected function registerHooks() { if (!isset(static::$hooks[static::class])) { static::$hooks[static::class] = []; foreach (ClassInspector::getTraits(static::class) as $trait) { if (method_exists($this, $getter = 'get' . $this->getClassShortName($trait) . 'Hooks')) { static::$hooks[static::class] = array_merge_recursive(static::$hooks[static::class], $this->{$getter}()); } } } }