今までは自分が使うものだけを作ってきたので、
自分の使うサーバ仕様にあわせて書けばよかったのですが、
色々なサーバでも使える他人に公開するような(実際にはしませんが)スクリプトを書いてみたいと思ってます。
サポートの終わったPHP4は除外して、PHP5以上を対象とした書き方にするとして、
ネイティブ関数で組むよりさらに高速(な場合があり)で便利なエクステンション(PECL)がいくつかあると思うのですが、
これらがサーバに入ってるかどうかでネイティブ関数での実装と分けるような書き方がいいのでしょうか?
例えばPDOがインストールされているサーバならPDOを使い、
されていないならネイティブ関数で組んだものを使うといった感じです。
もし分ける書き方いいとしたら、実装方法として、
try {
 PDOインスタンス
 処理〜
} catch (Exception e) {
 try {
  ネイティブ関数接続
  処理〜
 } catch (Exception e) [
  die();
 }
}
とするか、あらかじめインストール時にサーバ構成(PDOの有無)を調べたものを記憶しておいて、
同じフィールド、メソッドが書かれて似た働きをする2種類以上のクラス(PDO用とMySQLやPgSQLのネイティブ関数を使ったもの)
を用意してそれをサーバ構成によってincludeを変えるという手法にするかで迷っています。
どちらがいいのでしょうか?またもっとベターなやり方があったらアドバイスお願いします。