如何在所有php文件中识别定义的全局变量($ begin)? (请不要更改案例代码只添加,因为我正在处理我只能添加代码的大项目)
案例:(问题$开始无法在文件末尾识别)
<?php $begin=time()?>
<div>new name</div>
<?php echo time()-$begin; ?>
编辑: 我在文件中有愚蠢的错误,现在代码有效,谢谢
由于
答案 0 :(得分:2)
设置与您使用的脚本一起存储的配置文件可能是个好主意,然后将该文件包含在每个脚本的顶部。例如,这可能是与您正在使用的脚本位于同一目录级别的名为config.php
的文件的内容:
<?php
$begin = time();
?>
然后,您可以将以下行添加到需要访问变量的每个PHP文件的顶部:
<?php include 'config.php'; ?>
如果您想确保在脚本中没有错误地使用该变量,则可以使用define
功能。它以非常类似的方式工作,但它更永久。您可以将其放在配置文件中:
<?php
define('BEGIN', time());
?>
然后任何包含上述包含的脚本都可以包含以下代码:
<?php echo time() - BEGIN; ?>
答案 1 :(得分:1)
你使用constants,因为它们具有全局范围。
<?php define('TS_START',time())?>
<div>new name</div>
<?php echo time()-TS_START; ?>
或者如果因为你的“大型”项目而无法做到这一点。也许你想要把它加倍。
<?php $begin = $_begin = $__begin = time()?>
<div>new name</div>
<?php echo time()- ($begin ? $begin : ($_begin ? $_begin : $__begin)); ?>
但编程很差,对于一个小实体不需要那么多变量,我会用define重写并用$begin
覆盖TS_START
的所有实例
答案 2 :(得分:1)
根据你给出的例子,没有理由为什么$ begin在程序结束时仍然无效。
您是否检查过您的程序中没有使用名称$ begin?
同样,您可能会包含一些使用$ begin的第三方代码?无论哪种方式,请考虑将您正在使用的变量名称更改为更独特的名称。
在该示例中,您的所有代码都在全局范围内。但是如果你的真实代码使用这些函数,那么$ begin将在函数级范围内,因此不会是全局的。 在这种情况下,最快的选择是添加全局$ begin;在这两个职能的顶部。