最近勉強を始めました。
PHP自体は経験者なのですが、FuelPHPの仕様(?)なのか自作クラスの作成方法で詰まっています。

staticな関数を並べた自作クラスではなく、メンバ変数をいくつも用意し、
そのクラスをインスタンス化してgetterやsetterで使用する想定なのですが、
素のPHPのクラス作成時のような「__construct」を用いたクラス作成はできないのでしょうか?

function __construct() {
// 処理
}

みたいな。
なんかstaticで自身のインスタンスを作成して返す…みたいな形ならできそうですが、どれが正しいんでしょう?

class Hoge {
private static $instance;

public static function forge() {
$ins = new Hoge;
self::$instance = $ins;
return self::$instance;
}
}

な感じでなら通るには通ったのですが…。
(コード適当ですみません)
ちょっと困惑気味です。