【发布时间】:2014-06-14 19:30:52
【问题描述】:
我正在努力改进我的网站引擎。所以我可以停止在函数内部设置全局 $vars
所以现在我用这个来设置我所有的全局站点变量:
define('ROOT_prefix', 'mysitename_');
define('ROOT_support', 'support@mysite.com');
我可以在任何地方访问它们。但感觉不是很好(或聪明)的做法..
我对课程知之甚少.. 但我不能/不应该为此使用课程吗?
这行得通:
class ROOT {
public static $prefix = 'mysitename_';
public static $support = 'support@mysite.com';
}
然后我可以在我网站上的任何地方使用它(甚至在函数内部):
echo '<h1>Please contact support at: '.ROOT::$support.' </h1>';
这是一个好方法,还是有更好的方法?
【问题讨论】:
-
使用常量并不是一个坏习惯,如果你让事情井井有条,应该没问题。我看不出在这种情况下使用类的目的
-
如果你有一个
Config类,你应该使用依赖注入(基本上把它传递给你需要配置的对象)。所以:public function __construct(RootConfigClass $config) { /** **/ }.
标签: php function class oop global