$use_sub_dirsクラス変数 キャッシュディレクトリなどにサブディレクトリを作るか

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

サブディレクトリは効率がよいので、可能なら使用するとよいでしょう。
理論的には、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 で廃止される予定です。

関連記事

スポンサーリンク

clear_compiled_tpl() 指定したテンプレートのキャッシュを破棄します

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る