需要帮助缩短PHP语法

Need help shortening PHP syntax

提问人:Jeff 提问时间:10/21/2019 更新时间:10/21/2019 访问量:50

问:

如果可能的话,我想将这两行缩短为一行:

defined( 'INIT' ) OR $direct = true;
defined( 'INIT' ) OR include 'inc/router.php';

我试过了

defined( 'INIT' ) OR include 'inc/router.php' AND $direct = true;

...但它不起作用。

我正在向一堆模板添加安全措施,以禁止客户端直接访问。

PHP 语法

评论

2赞 Nigel Ren 10/21/2019
为什么你认为你需要缩短 2 行代码?
0赞 ceejayoz 10/21/2019
“我正在向一堆模板添加安全措施,以禁止客户端直接访问。”将它们放在 Web 根目录(即您的 、 、 等文件夹)之外,而不是这种修补作业。public_htmlhttpdocspublic

答:

0赞 Jeff 10/21/2019 #1

这就是我想出的。任何其他建议将不胜感激。我很生疏

if (!defined('INIT')) {$direct = TRUE; include 'inc/router.php';}
0赞 Dharman 10/21/2019 #2

您可以使用猫王运算符缩短它,但问题是为什么?它当然不会提高可读性。

defined('INIT') ?: $direct = TRUE AND include 'file.php';
0赞 Progrock 10/21/2019 #3

未经测试:

<?php

defined('INIT') OR ($direct = true AND include 'inc/router.php');

但我可能会坚持使用你的多行,如果你的自我回答中没有定义多行,以提高可读性。