$use_sub_dirs (Smarty クラス変数) - PHPプロ!マニュアル

Smartyマニュアル

Smarty クラス変数 - $use_sub_dirs

$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 も参照してください。



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)