如果可能的话,我希望将这两行缩短为一行:
defined( 'INIT' ) OR $direct = true;
defined( 'INIT' ) OR include 'inc/router.php';
我尝试过
defined( 'INIT' ) OR include 'inc/router.php' AND $direct = true;
...但是它不起作用。
我正在向一堆模板添加安全措施以禁止客户端直接访问。
这是我想出的。任何其他建议,将不胜感激。我非常生锈!
if (!defined('INIT')) {$direct = TRUE; include 'inc/router.php';}
您可以使用Elvis运算符将其缩短,但问题是为什么?它当然不会提高可读性。
defined('INIT') ?: $direct = TRUE AND include 'file.php';
未经测试:
<?php
defined('INIT') OR ($direct = true AND include 'inc/router.php');
但是我可能会在您的自我解答中坚持使用您未定义的多行以提高可读性。