我们有一个遗留应用程序,它不使用任何我们漂亮的现代框架。我们试图解决的一个问题是全局命名空间的污染。作为一个人为的例子,该应用程序的入口点是file1.php;它需要文件,这些文件需要其他文件......其中许多文件创建变量:
file1.php
$color = 'purple';
require('file2.php');
require('file3.php');
file2.php
$sound = 'waterfall';
require('file4.php');
最后,在构成此自定义"框架"的几十个这些文件之后,我们转到实际的page.php
,我们可以在其中为{{1}编写特定于页面的代码}。问题是,page.html
和$color
是在file1和file2中创建的,所以现在我们必须非常小心,不要在我们的页面特定代码中意外使用这些变量。
有什么想法吗?在$sound
之前(在主要"路由器"我猜)工作之前,可能会unset
page.php
所有这些变量?