具体来说,我有两个类Request和Utils,
class Request
{
public function __construct()
{
//constructor method
}
public function request()
{
$utils=new Utils;
$consolidated_errors=$utils->array_remove_empty($all_params_error);
}
public function process()
{
$utils=new Utils;
$consolidated_errors=$utils->another_method($all_params_error);
}
}
和类Utils,
class Utils
{
public function __construct()
{
//constructor method
}
public function array_remove_empty()
{
//returns a variable.
}
public function another_method()
{
//returns a variable.
}
}
你可以看到我在请求类中初始化了两次类,我的问题是,是否可以全局初始化类并在类中使用?
答案 0 :(得分:1)
您正在寻找单身人士模式
以下为您的班级演示非常基本的Singleton示例
public class Utils {
private static Utils uniqInstance;
private Utils() {
}
public static synchronized Utils getInstance() {
if (uniqInstance == null) {
uniqInstance = new Utils();
}
return uniqInstance;
}
// other useful methods here
}
使用静态工厂模式获取实例
答案 1 :(得分:0)
以上代码对我来说看起来不像Java,但无论如何,
您可以在班级private Utils myUtuils = new Utils ();
或 将类作为静态类,然后直接在方法
中使用它public function process()
{
consolidated_errors= Utils.another_method($all_params_error);
}
}