エンコーディングの扱い

エンコーディングを扱うユーティリティクラスを作って、エンコーディング関係の処理は任せてみようかと。mbstringモジュールがあればmb*関数で処理を行い、iconvモジュールがあればiconv*関数で処理を行うイメージ。処理の優先順位はmbstring > iconv。

  • Moony_Encode
    • setInternalEncoding($encode): void
    • getInternalEncoding(): string
    • convert($var, $from_encoding, $to_encoding): mixed

とりあえずMoonyで使いそうな実装だけ。PHP5からiconvモジュールが標準で組み込まれているので、mbstringモジュールを使わないというのもありだと思う。