我正在使用graphql-php开展一个项目。有一个示例建议创建这样的类:
use Project\CategoryType;
use Project\PageType;
class Types {
private static $page;
private static $category;
public static function page() {
return self::$page ?: (self::$page = new PageType());
}
public static function category() {
return self::$category ?: (self::$category = new CategoryType());
}
}
稍后我可以像这样使用此类方法:
Types::page()
或者Types::category()
这工作正常。但是,我认为这是一种反模式,可以进行优化。随着项目的增长,类似函数和私有类字段的数量也在增长,这变得不方便。有什么方法可以重构类,这样我就不必为每种类型手动添加一个函数,但仍然像现在一样调用类方法?( Types::page()
)。