У меня есть константный массив, к которому мне нужен доступ в ветке, вот мой класс констант:
class Constants{
public const NOTIFICATIONS_LIKE_POST = 0;
public const NOTIFICATIONS_COMMENT_POST = 1;
public const NOTIFICATIONS_REPLY_COMMENT = 2;
public const NOTIFICATIONS_POSTED_NEW_POST = 3;
public const NOTIFICATIONS_POSTED_NEW_PHOTO = 4;
public const NOTIFICATIONS_POSTED_NEW_VIDEO = 5;
public const NOTIFICATIONS_POSTED_NEW_GALLERY = 6;
public NOTIFICATIONS_ARRAY= array(
self::NOTIFICATIONS_LIKE_POST => " liked your ",
self::NOTIFICATIONS_COMMENT_POST => " commented on your ",
self::NOTIFICATIONS_REPLY_COMMENT => " replied to your ",
self::NOTIFICATIONS_POSTED_NEW_POST => " posted a new ",
self::NOTIFICATIONS_POSTED_NEW_PHOTO => " posted a new ",
self::NOTIFICATIONS_POSTED_NEW_VIDEO => " posted a new ",
self::NOTIFICATIONS_POSTED_NEW_GALLERY => "posted a new "
);
}
Вот как это выглядит, когда я хочу добавить его в свою веточку:
{% for notification in notifications %}
<div class="notice" onclick="window.open('single-post.html');">
<div class="header">
<img src="{{ getAvatar(notification.fromUser) }}" width="128" class="avatar">
<div class="content">
<a href="../profile.html" class="user">{{ notification.fromUser.username }}</a>
<!-- so specifically the following line -->
{{ dump(constant("App\\Constants::NOTIFICATIONS_ARRAY[" ~ notification.activity ~ "]")) }}
<div class="footer">
notification.time
</div>
</div>
</div>
</div>
{% endfor %}
Просто чтобы показать вам, что ветка может «видеть» этот массив, вот вывод:
{{ dump(constant("App\\Constants::NOTIFICATIONS_ARRAY")) }}
Однако когдаЯ пытаюсь получить доступ к этому массиву с помощью индекса (вот как выглядит код:)
<!-- In this case notification.activity is 2 -->
{{ dump(constant("App\\Constants::NOTIFICATIONS_ARRAY[" ~ notification.activity ~ "]")) }}
Я получаю следующую ошибку:
An exception has been thrown during the rendering of a template ("Warning: constant(): Couldn't find constant App\Constants::NOTIFICATIONS_ARRAY[2]").
Может быть, это просто синтаксис PHP?Я не знаю, почему я не могу получить доступ к определенному элементу моего массива const.