0
私はgraphql-phpを使ってプロジェクトを進めています。 an exampleは、このようなクラスを作成示唆しているがあります:これは正常に動作します動的クラスメソッドの名前
Types::page()
またはTypes::category()
:
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()
)。
はい、これが鍵と思われます。どうもありがとうございます。私はそれを受け入れることができますか、または私は自分自身で完全なソリューションを投稿する必要がありますので、あなたは答えを投稿してください。 – Ssey
ようこそ。それが助けられたと聞いてうれしい。 – tan