我有一个网站,它使用一组3幅图像作为其子页面的标题。每个页面都有一组不同的图像。据我所知,实现这一点的最佳方法是在header-subpage.php
. 下面是我的代码片段。
<?php
if ( is_page( \'available-homes\' ) ) {
get_template_part( \'sections/banner-images\', \'available-homes\' );
} elseif ( is_page( \'design-services\' ) ) {
get_template_part( \'sections/banner-images\', \'design-services\' );
} elseif ( is_page( \'about-us\' ) ) {
get_template_part( \'sections/banner-images\', \'about-us\' );
} ........
} elseif ( is_page( \'portfolio\' ) ) {
get_template_part( \'sections/banner-images\', \'portfolio\' );
} elseif ( is_page( \'galleries\' ) ) {
get_template_part( \'sections/banner-images\', \'galleries\' );
} else {
echo "page images undefined...";
}
有没有更有效的方法让我做到这一点?我仍在学习PHP,但似乎有一种比我所做的更有效的方法来循环页面。
谢谢你的建议。
SO网友:bueltge
替代if... else...
您可以使用控制结构switch
功能。但是如果你使用if... elseif...
或switch
主要是偏好问题。性能相同。
如果其他
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1) {
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
}
开关
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
开关盒的作用类似于Elseif控制结构。主要区别在于,可以通过将给定值与一组预定义值进行比较的方式写入Switch Case,而无需评估一组条件。
意见
在我看来,“开关更具可读性,这对于维护也很重要。如果您需要更频繁地检查模板,您应该考虑函数,这样您就不会编写重复代码。