$use_sub_dirs

$use_sub_dirsTRUE に設定すると、 Smarty は テンプレートディレクトリキャッシュディレクトリ の下にサブディレクトリを作ります。デフォルトは FALSE です。 何万ものファイルが生成される可能性のある環境では、 ファイルシステムの速度低下を抑える助けになります。 一方、環境次第では、ディレクトリを生成するためのPHPプロセスが許容されない事があるので、 その場合はこの変数を無効にしなければなりません。デフォルトは無効になっています。

サブディレクトリは効率がよいので、可能なら使用するとよいでしょう。 理論的には、10のディレクトリがそれぞれ100のファイルを持っているほうが、1つのディレクトリに1000 のファイルを持っている場合よりも良いパフォーマンスを得られます。 少なくとも Solaris 7 (UFS) の場合には確実にそうでした……。 ext3 や reiserfs などの最近のファイルシステムでも、そんなに違いはないでしょう。

テクニカルノート

  • $use_sub_dirs=true は、 safe_mode=On の場合は動作しません。safe_mode は切り替え可能で、デフォルトは off です。

  • $use_sub_dirs=true は、Windows ではうまく動作しません。

  • Safe_mode は、PHP6 で廃止される予定です。

$compile_id$cache_dir および $compile_dir も参照してください。