如果可能的话,我想将这两行缩短为一行:
defined( 'INIT' ) OR $direct = true;
defined( 'INIT' ) OR include 'inc/router.php';
我试过了
defined( 'INIT' ) OR include 'inc/router.php' AND $direct = true;
...但这不起作用。
我正在向一堆模板添加安全措施,以禁止客户端直接访问。
您可以使用“Elvis”运算符(
?:
)来缩短它,但问题是为什么?它当然不会提高可读性。
defined('INIT') ?: $direct = TRUE AND include 'file.php';
未经测试:
<?php
defined('INIT') OR ($direct = true AND include 'inc/router.php');
但为了可读性,我可能会坚持在你的自我回答中如果没有定义多行。
这就是我想到的:
if (!defined('INIT')) {$direct = TRUE; include 'inc/router.php';}