我想根据给定文件是否存在来加载不同的模板。例如,默认情况下我会从基本文件夹加载模板,但如果存在特定文件夹,那么我会加载该模板。我正在描绘一些类似于自动加载功能提供的功能。树枝是否提供这种能力?
问问题
170 次
1 回答
1
取决于你是否想要
- 从目录 A 或目录 B(如果存在)加载模板,但不能同时加载
- 如果存在则加载目录 B,并使其优先于目录 A
例子
// Load both directories
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
if (is_dir($secondTemplateDir)) {
$loader->prependPath($secondTemplateDir);
}
// Load one directory
$loader = new \Twig_Loader_Filesystem(
is_dir($secondTemplateDir) ? $secondTemplateDir : $baseTemplateDir
);
或者
// Load both directories
try {
$loader = new \Twig_Loader_Filesystem(array(
$secondTemplateDir,
$baseTemplateDir
));
} catch (\Twig_Error_Loader $e) {
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
}
// Load one directory
try {
$loader = new \Twig_Loader_Filesystem($secondTemplateDir);
} catch (\Twig_Error_Loader $e) {
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
}
于 2013-11-04T22:46:11.117 回答