这只是PHP编码实践的不同之处,您可以将两者结合起来。使用?:
被称为ternary operator 这就像一个if/else速记。该行:
$title = isset( $instance[\'title\'] ) ? $instance[\'title\'] : \'\';
这就像:
if( isset( $instance[\'title\'] ) ) {
$title = isset( $instance[\'title\'] );
} else {
$title = \'\';
}
如果您看到核心小部件,它们通常使用三元运算符,但这只是一个编码首选项。例如,您可以在存档小部件中看到以下代码:
$title = apply_filters( \'widget_title\', empty( $instance[\'title\'] ) ? __( \'Archives\' ) : $instance[\'title\'], $instance, $this->id_base );
或日历小部件中的此项:
$title = apply_filters( \'widget_title\', empty( $instance[\'title\'] ) ? \'\' : $instance[\'title\'], $instance, $this->id_base );
应用
widget_title
对我来说,这比使用或不使用三元运算符更重要;你不应该忘记它。