Как уже написали, нужно думать что именно вы делаете и исходить из конкретных требований бизнес логики. Ну, и без противоречий человеческой логике.
Возвращать false в случае ошибки - плохо. И да, это наследие раннего php. В описаниях многих стандартных php-функций мы встречаем: возвращает что-то там в случае успеха, или false в случае ошибки. Но так делать не стоит.
В случае ошибки - бросаем исключение.
Например, получаем данные пользователя по ID.
Если получить результат не удалось (именно не удалось) - exception.
Если всё отработало корректно, но юзера с таким ID не существует, можно вернуть null. А уже в вызывающем метод коде выбросить какой-нибудь NotFoundHttpException например. Или ещё каким-либо образом обработать отсутствие результата.