ldrahnik/theme-keeper

此包已被放弃,不再维护。作者建议使用kappa/themes-manager包。

主题守护者。

v1.1.1 2015-04-05 17:49 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:45:57 UTC


README

强烈建议使用Kappa/ThemesManager

如果你使用模块结构,使用Kappa/ThemesManager会更有效,如果不是这样,也仍然更好。关于这个包,它只是一个尝试。已被弃用,不会进一步开发。

ldrahnik/theme-keeper

Build Status Latest stable Downloads total

应用主题守护者。

需求

ldrahnik/theme-keeper 需要 PHP 5.4 或更高版本。

安装

使用Composer将主题守护者安装到您的项目中。

$ composer require ldrahnik/theme-keeper

使用方法

在配置文件中注册扩展

extensions:
	themes: ThemeKeeper\DI\ThemeKeeperExtension

示例

themes:
	default:
		themeDir: %themesDir%/<themeName>
		assetsDir: <themeDir>/assets
		views:
			controls: <themeDir>/controls/<name>/<view>
			presenters: <themeDir>/presenters/<name>/<view>
			layouts: <themeDir>/@<view>
	/**
	* @var \ThemeKeeper\ThemeKeeper 
	* @inject 
	*/
	private $themes;
	
	public function __construct(ThemeKeeper\ThemeKeeper $themes)
    {
		$this->themes = $themes;
    }
    
    public function render()
    {
    	$this->template->setFile($this->themes->getView($this->name, 'controls'));
		$this->template->render();
		// you can cast getView without getTheme('default') because default name is automatically default
		// theme for short use as that, if is not set up name 'default', is choosen first theme in order
    }

可以通过以下模式设置路径(不要通过view-keeper计算模式,替换是连续进行的)

	<themeName>
	<assetsDir>
	<themeDir>

总结

  • Template-keeper 使用 View-keeper,但 view-keeper 作为扩展仍然有很好的用途,例如邮件模板在整个应用程序中都是相同的。
  • 从使用 view-keeper 的小型应用程序跨到更大的应用程序并不困难,因为可以保持代码不变,只需使用另一个服务。