KUMAKURA Yousuke
kumak****@isite*****
2006年 7月 25日 (火) 19:58:50 JST
どうも、熊倉です。 Hawk wrote: > Hawkです。 > > 3.1において、Smartyはmaple/smarty以下にインストールすることを > 想定していますが、3.2でMapleをPEARパッケージ化した場合、 > Smartyはユーザーが独自に、 > include_pathの任意の位置にインストールするのが普通になると思います。 > > (中略) > > この場合、手っ取り早い解決策は > 「SMARTY_DIR」という定数を使用しないことです。 > 代わりに、例えば「SMARTY_MAPLE_DIR」のような定数を使用する > 方法が考えられますが、私自身はあまりSmartyは使わないため、 > どういった方法がベストか分かりません。 > Smarty使用者の方の意見を聞かせて頂きたいと思います。 > > (他には例えば、定数を通してパスを伝えるのを止めて、 > maple.inc.php内で直接読み込むようにする、という方法が考えられます。 > require_once('Smarty.class'); > 互換性を考えるとこちらの方がスマートかも知れません) テンプレートまわりのクラスがこの後どういう形に流れるかというのも ありますけど、それに関わらず、include_path に Smarty が存在して いるものと決め付けて、クラス内 (今なら Smarty4Maple) で require_once('Smarty.class.php'); しちゃってもいいんじゃないかなと 思います。 大抵のひとは、Smarty を導入する (もしくは既にしていた) 場合は任意の ライブラリディレクトリに設置して、そこを include_path にしている でしょう。 加えて Smarty を使用する上で、プログラムサイドが Smarty のディレク トリが分かっていないと困るシーンってのが今のところ思いつかないです。 まあ、最悪設定ファイル上にコメントアウト状態にした状態で、 「任意の場所の Smarty を使用する」項目を DIR 値として準備しておいて、 その値がブランクじゃなければ、include_path として ini_set するように すれば、好きな場所の Smarty が使えるでしょう。