jms сериализатор @Exclude условие для класса

Мой вопрос скорее равен Symfony2 - JMS Serializer - Exclude entity, если getDeleted() не равно null, но принятый ответ предлагает обходной путь, а не фактический ответ, и не соответствует моим требованиям.

У меня есть класс OriginalText, и у него есть метод getPublic(), который возвращает true, если объект общедоступен. Я хочу исключить все объекты, которые не являются общедоступными.

use JMS\Serializer\Annotation\Exclude;
/**
* @Exclude(if="!object.getPublic()")
*/
class OriginalText{

    public getPublic(){
    //returns true if $this->public == true
    }
}

Однако это не работает. Как и предполагалось, я установил symfony/expression-language; Я также пробовал с !this.getPublic() и с == false вместо !. Ничего из этого не работает.

Есть идеи?


person GGTT    schedule 25.03.2020    source источник