我有一些变量需要在比我最初想象的更多的函数中访问。
将它们包含在我不断增加的功能列表中的最佳方式是什么?
我有类似的东西
$site = 'a';
$admin = 'b';
$dir = 'c';
$ma_plug = 'd';
$base = 'e';
//Etc.
在我的大量功能中,我几乎需要所有这些。我最初是在做
function a(){
global $site, $admin, $dir, $ma_plug, $base;
//Write the A function
}
function b(){
global $site, $admin, $dir, $ma_plug, $base;
//Write the B function
}
那太棒了,直到我意识到我要编写的函数比我最初想象的要多。
将所有这些变量放入(几乎)每个函数的范围内的最佳方法是什么?就像我做的那样?或者像使用常量之类的东西?如果可能的话,我想避免使用 session()
最佳答案
如果这些函数是唯一使用这些变量的函数,那么创建一个这些变量在其中是本地变量的类可能会更好。
这样你就不会污染全局命名空间并且需要在每个函数中使用 global
关键字。
例如:
class MySite {
private $site;
private $admin;
private $dir;
private $ma_plug;
private $base;
function __construct($site, $admin, $dir, $ma, $base) {
$this->site = $site;
$this->admin = $admin;
//...
}
}
关于php - 在 PHP 中正确使用变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144491/