PHP の PATH_SEPARATOR について

  PHP で set_include_path() を使って,パスを追加するとき Windows 系と,UNIX 系では
  パスの区切り文字が違うので,今までは

if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
    set_include_path(get_include_path() . ':./libs');
} else {
    set_include_path(get_include_path() . ';./libs');
}


  とかやっていた.

  最近 PATH_SEPARATOR という定数を知って

set_include_path(get_include_path() . PATH_SEPARATOR . './libs');

  で幸せになっていたら,PATH_SEPARATOR が定義されていない場合があることが分かった.

  そこで,正解としては,

if (!defined('PATH_SEPARATOR')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
        define('PATH_SEPARATOR', ':');
    } else {
        define('PATH_SEPARATOR', ';');
    }
}

set_include_path(get_include_path() . PATH_SEPARATOR . './libs');


  ということになるのかな.損したか得したか分からない (汎用的なのは間違いなさそうだけど).