Сколько уже написал разных функций, но так и не понял что нужно возвращать в разных ситуациях. Например, у меня есть ProductRepository. В методе save я должен вернуть true или false или выбросить исключение - это понятно. В методе delete будет тоже самое. А в методе find я должен вернуть ответ или не найдено. Является ли "не найдено" исключительной ситуацией и если нет, то что мне нужно вернуть: null или false? А если я хочу прочитать данные из файла, то если он пустой то что возвращать, null? Возможно, надо смотреть в зависимости от ситуации. Хотел бы раз и навсегда понять что делать в таких ситуациях. Расскажите в двух словах.
UPD:
Посмотрел как сделано в Symfony.
/**
* ...
*
* @return object|null
*/
public function findOneBy(array $criteria, array $orderBy = null)
{
}
/**
* ...
*
* @return array
*/
public function findAll()
{
}
Видно что если не найдена 1 запись, то будет null, а в find чтобы не было, будет массив.