コード中一度しか使わないクラスだからとインスタンス化せず「::」でのアクセスをメインにしようと思っています
class hoge{
private static $db;
public static function init($str){
 $this->db=$str;
 pirnt($this->db);
}
}
hoge::init("テスト");
以上のコードを実行しても、$thisがねーよとエラーが返ってきてしまいます
「::」を使ってアクセスする場合、最初にアクセスした時orコンパイル時に初期化関数が実行、プロパティを定義させるにはどうしたらよいのでしょうか

$hoge=new hoge();
とすればスマートなのですが、一度しか使わないhogeクラスのインスタンスをわざわざ定義するのもスマートではないと思って気が引けています