我正在查看这段代码并注意到它似乎只是运行2次检查的代码很多,我记得用C#进行编码并且有一种方法可以将代码简化为一次检查但添加一个(某些东西)在它,有没有办法在PHP中做这样的事情?
if ($config->get('core:twig.caching.enabled')) {
$this->twig = new \Twig_Environment($loader, array(
'cache' => $config->get('core:template.cache_directory'),
));
}
else {
$this->twig = new \Twig_Environment($loader);
}
答案 0 :(得分:0)
我会这样做:
$cache = $config->get('core:twig.caching.enabled');
$arr = ($cache) ? array('cache' => $cache) : array();
$this->twig = new \Twig_Environment($loader, $arr);
因为我并非100%确定$config->get('core:twig.caching.enabled');
返回的内容,因此上述解决方案将与原始解决方案一样。
但是,如果返回值仅为true
或false
,并且可以移交array('cache' => true)
或array('cache' => false)
,则可以进一步减少此值:
$this->twig = new \Twig_Environment($loader, array(
'cache' => $config->get('core:twig.caching.enabled')
));