本文整理汇总了PHP中Sylius\Bundle\ThemeBundle\Model\ThemeInterface::getParentsNames方法的典型用法代码示例。如果您正苦于以下问题:PHP ThemeInterface::getParentsNames方法的具体用法?PHP ThemeInterface::getParentsNames怎么用?PHP ThemeInterface::getParentsNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sylius\Bundle\ThemeBundle\Model\ThemeInterface
的用法示例。
在下文中一共展示了ThemeInterface::getParentsNames方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getThemeHierarchy
/**
* {@inheritdoc}
*/
public function getThemeHierarchy(ThemeInterface $theme)
{
$parents = [];
$parentsNames = $theme->getParentsNames();
foreach ($parentsNames as $parentName) {
$parents = array_merge($parents, $this->getThemeHierarchy($this->getTheme($parentName)));
}
return array_merge([$theme], $parents);
}
示例2:
function it_resolves_themes(ThemeRepositoryInterface $themeRepository, ThemeInterface $firstTheme, ThemeInterface $secondTheme)
{
$firstTheme->getLogicalName()->willReturn("foo/bar1");
$firstTheme->getParentsNames()->willReturn(["foo/bar2"]);
$secondTheme->getLogicalName()->willReturn("foo/bar2");
$secondTheme->getParentsNames()->willReturn([]);
$themeRepository->findByLogicalName("foo/bar1")->willReturn($firstTheme);
$themeRepository->findByLogicalName("foo/bar2")->willReturn($secondTheme);
$this->getDependencies($firstTheme)->shouldReturn([$secondTheme]);
}
示例3:
function it_returns_theme_list_in_hierarchized_order(ThemeRepositoryInterface $themeRepository, ThemeInterface $firstTheme, ThemeInterface $secondTheme)
{
$firstTheme->getName()->willReturn('foo/bar1');
$firstTheme->getParentsNames()->willReturn(['foo/bar2']);
$secondTheme->getName()->willReturn('foo/bar2');
$secondTheme->getParentsNames()->willReturn([]);
$themeRepository->findOneByName('foo/bar1')->willReturn($firstTheme);
$themeRepository->findOneByName('foo/bar2')->willReturn($secondTheme);
$this->getThemeHierarchy($firstTheme)->shouldReturn([$firstTheme, $secondTheme]);
}
示例4:
function it_adds_theme_parents_to_context_while_setting_theme(ThemeDependenciesResolverInterface $themeDependenciesResolver, ThemeInterface $firstTheme, ThemeInterface $secondTheme)
{
$firstTheme->getLogicalName()->willReturn("foo/bar1");
$firstTheme->getParentsNames()->willReturn(["foo/bar2"]);
$secondTheme->getLogicalName()->willReturn("foo/bar2");
$secondTheme->getParentsNames()->willReturn([]);
$themeDependenciesResolver->getDependencies($firstTheme)->shouldBeCalled()->willReturn([$secondTheme]);
$this->setTheme($firstTheme);
$this->getThemes()->shouldHaveCount(2);
$this->getThemes()->shouldReturn([$firstTheme, $secondTheme]);
}
示例5: getDependencies
/**
* {@inheritdoc}
*/
public function getDependencies(ThemeInterface $theme)
{
$parents = [];
$parentsNames = $theme->getParentsNames();
foreach ($parentsNames as $parentName) {
$parent = $this->themeRepository->findByLogicalName($parentName);
if (null === $parent) {
throw new \InvalidArgumentException(sprintf('Theme "%s" not found (required by theme "%s")!', $parentName, $theme->getLogicalName()), 0);
}
$parents = array_merge($parents, [$parent], $this->getDependencies($parent));
}
return $parents;
}