我有一个通用页面:default.php
<?php
________Some Codes________
?>
我的项目有100+.php文件。 (是,所有文件在所有页面的第一行都有require_once'default.php';
)
现在,我决定在除2以外的所有文件中显示alert。 (例如1.php和2.php)。
当然,我将在default.php中添加alert。
所以现在我的default.php将如下所示:
<?php
________Some Codes_______
echo $comn_alert = "<script>alert('Hi');</script>";
?>
如何阻止$COMN_ALERT
在1.php上执行& 2.PHP?
在包含文件之前定义一个常量,然后检查该常量是否在default.php
中定义。如下所示:
1.PHP:
<?php
define('AVOID_ALERT_1',1);
require_once('default.php');
2.PHP:
<?php
define('AVOID_ALERT_2',1);
require_once('default.php');
default.php:
<?php
// __some__codes
if(!(defined('AVOID_ALERT_1') || defined('AVOID_ALERT_2'))){
echo $comn_alert = "<script>alert('Hi');</script>";
}
几种方法:
default.php
中的$_server['php_self']
检查它是否包含在1.php
或2.php
default.php
的公共逻辑(即所有文件中使用的逻辑)提取到另一个文件中(例如default_minimin.php
),并使default.php
需要该文件并包含有问题的代码(例如alert()
)。 使1.php
和2.php
只需要default_minimin.php
1.php
和2.php
中设置一个变量,然后签入default.php
查看该变量的存在/不存在。