本文整理匯總了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;
}