Smarty をPHP7で動かす方法

フォームなどPHPあげたら動かない場合、Smartyのバージョンが古い場合があります。

 

やる事
・Smarty3.x をインストール
・PHPのSmartyのインスタンス作成部分の調整
・PHPで使えない関数の修正
・テンプレートの書き換え(include_phpが使えなくなる)

 

Smarty3.x をインストール
https://www.smarty.net/download

/_php/libs/のlibsフォルダを新しいものに変更

 

PHPのSmartyのインスタンス作成部分の調整
https://qiita.com/kobake@github/items/f4205eec641336a571af

例: f2m_utf8.php の場合
require_once(SMARTY_DIR . ‘Smarty.class.php’);
・・・
$smarty = new Smarty();

require_once(SMARTY_DIR . ‘SmartyBC.class.php’);
・・・
$smarty = new SmartyBC();
$smarty->php_handling = Smarty::PHP_ALLOW;

 

PHPで使えない関数の修正
split() → explode()
※他あればPHP7で廃止された関数などを別のに代用

 

テンプレートの書き換え
include_phpは使えないので、{php}で囲んでinclude

例:
<!–{include_php file=”$smarty.server.DOCUMENT_ROOT/_include/meta.php”}–>

<!–{php}–>include_once $_SERVER[‘DOCUMENT_ROOT’].”/_include/meta.php”;<!–{/php}–>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です