Код в парадигме ООП PHP?
Вы сконцентрировались на попытке сделать ваше решение БД-ориентированным, в то время как вас не просили этого делать. Из за БД-ориентированности в вашем коде происходят странные вещи, можно сказать "магия".  Некоторые вещи вообще странные, вроде списка статей внутри статьи.
Вас просили сделать описания классов, методов и свойств класса в формате PhpDoc, а вы этого не сделали.
Попробуйте ещё раз, но со следующими ограничениями:В классе User оставьте только свойство $name и свойство $articlesList = [] - который будет уже списком статей, которые написал автор. Пусть список храниться внутри объекта пользователя, в ORM типа Doctrine так и происходит. Уберите оттуда $id. Не забудьте добавить методы getName() и setName($newName) для работы со свойством name. Это является правильным для ООП - не позволять клиентам класса работать со свойствами напрямую, а лишь вызывая методы, которые вы предоставляете. Причина проста - в методе вы можете указать какое-нибудь дополнительное поведение, которое требуется при изменении свойства. Также придумайте методы, необходимые для работы со списком статей. Ну вот два уже напрашивается из задания: "возможность для автора создать новую статью" и "возможность получить все статьи конкретного пользователя". Но по хорошему статью ещё и удалить можно...Для статьи вам понадобятся 2 поля - это ссылка на автора (то есть сам объект класса User, а не магический id). То есть $author, и ещё, раз это статья, то ей неплохо бы добавить свойство $text.А теперь главное - не пишите вообще текста методов. Только открыли фигурные скобки и сразу закройте на следующей строке. От вас этого не просили. И даже явно указали этого не делать!
Если всё ещё сомневаетесь, то советую почитать обучалку по Doctrine. Там они постепенно создают совершенно коректные с точки зрения ООП классы User и Bug. (они это делают последовательно, так что не поленитесь докрутить до самого конца обучалки)
try {
    $db_connection = new DbConnection();
    $user_repository = new UserDbRepository($db_connection);
    $owner = $user_repository->findById($user_id);
    if (!$owner) {
        throw new UserNotFoundException("Автор с идентификатором \"{$user_id}\" не найден");
    }
    $article_repository = new ArticleDbRepository($db_connection);
    $articles = $article_repository->findByOwnerId($owner->id);

} catch(UserNotFoundException $e) {
    // ...
} catch(\Exception $e) {
    // ...
}