• 締切済み

smartyのdifineについて

表示するファイルにdefineにてパスを設定すると正常に 表示されるのですが管理が面倒なので別のファイルに defineにてパスを設定するとエラーになってしまいます。 具体的には以下のソースです。 ---Smarty/libs/path.php--- define ('SMARTY_LIBS_DIR', 'C:/Program Files/xampp/htdocs/Smarty/libs/'); ---Smarty/libs/MySmarty.class.php--- require_once dirname(__FILE__) . '/Smarty.class.php'; require_once dirname(__FILE__) . '/path.php'; ---Smarty/index.php--- require_once SMARTY_LIBS_DIR . 'MySmarty.class.php'; 調べてみたのですが表示するファイルに指定する方法しか みつからなかったのですが別ファイルから指定する事は 無理なのでしょうか?

みんなの回答

  • livrekun
  • ベストアンサー率47% (9/19)
回答No.1

一番はじめに require するファイルは Smarty/index.php ではないですか? path.phpを読み込む前に SMARTY_LIBS_DIR を使用しているため、未定義の定数なので、そのままの文字列で出力されてしまいます。 ---Smarty/index.php--- define ('SMARTY_LIBS_DIR', 'C:/Program Files/xampp/htdocs/Smarty/libs/'); require_once SMARTY_LIBS_DIR . 'MySmarty.class.php'; ではいけないのでしょうか? また定数でパスを指定してあげているのなら ---Smarty/libs/MySmarty.class.php--- require_once SMARTY_LIBS_DIR . '/Smarty.class.php'; の方が良いです。

関連するQ&A

専門家に質問してみよう