Сотрудник несколько раз добавил команду assert в наших библиотеках в тех местах, где я использовал бы оператор if и выбрал исключение. (Я никогда не слышал об этом раньше). Вот пример того, как он его использовал:
assert('isset($this->records); /* Records must be set before this is called. */');
Я бы сделал:
if (!isset($this->records)) {
throw new Exception('Records must be set before this is called');
}
Отчитав документы PHP по утверждению, похоже, что рекомендуется убедиться, что assert активен и добавить обработчик перед использованием assert. Я не могу найти место, где он это сделал.
Итак, мой вопрос заключается в том, что использовать утвердительную идею, указанную выше, и следует ли использовать ее чаще, а не if и exceptions?
Еще одно замечание: мы планируем использовать эти библиотеки для различных проектов и серверов, включая проекты, в которые мы, возможно, даже не входят (библиотеки имеют открытый исходный код). Разве это имеет значение при использовании assert?