2

smarty 変数に割り当てようとしているインターフェイスがあります。Smarty 3 では、クラス定数のサポートが追加されました。私はそれを利用しようとしています。

namespace Application;
interface ServerResponseCodes
{
    const FAILURE = 0;
    const SUCCESS = 1;
    const PENDING = 2;
    const INVALID = 3;
}

その後

$smarty->assign("codes", Application\ServerResponseCodes);

エラーをスローします

致命的なエラー: 16 行目の /home/parvhraban/domains/src/www_root/clienttest.php の未定義の定数 'Application\ServerResponseCodes'

smarty テンプレートからインターフェイス const にアクセスすることは可能ですか?

初期化されたオブジェクトしか割り当てられないという制限はありますか?

リフレクション クラスよりも優れた、よりネイティブなソリューションはありますか?

$codes = new ReflectionClass ('Application\ServerResponseCodes');
$smarty->assign("codes", $codes->getConstants());
4

1 に答える 1