Зачем дублировать сеттер и геттер?
А в чём смысл такого метода get_set? 
Что если я только прочитать хочу, не меняя значение поля?
Если уж говорить об едином методе, то скорее так:
function getSetAge(?int $age=null): int
{
    if (!is_null($age)) {
        $this->age = $age;
    }
    return $this->age;
}}
Но, мы уже не сможем записать null, а получать значение, которые мы только что записали и вовсе не нужно.
Даже так не делают, потому что, это логически совершенно разные операции и гораздо удобнее их разнести по разным методам. Если вы думаете, что упрощение - это меньше символов, то это не так. Упрощение - это разнесение независимых частей, а складывание всего в одну кучу только ухудшает чтение.
Не говоря уже о том, что использование геттеров-сеттеров не очень хорошая практика, методы должны нести смысловую нагрузку, а не просто менять внутренние свойства, иначе это ничем не лучше публичных свойств. Хотя и тут тоже нужно без фанатизма.