Куда включить класс исключений, специфичный для конкретного класса

#php #exception

#php #исключение

Вопрос:

Мне интересно, какова наилучшая практика для включения файлов исключений, специфичных для конкретного класса.

Допустим, у нас есть исключение инициализации, которое расширяет базовое исключение, которое расширяет Exception. Должны ли эти исключения быть включены в глобальную область приложения или в начало файлов класса, из которых они могут генерироваться с помощью include_once?

Я знаю, что оба метода работают, но для тестирования кажется, что было бы проще включить файл сверху, поскольку зависимость была бы включена в файл класса.

Ответ №1:

Они должны быть включены только с модулем, к которому они подключены. Не имеет особого смысла создавать исключение для модуля, который не загружен. Поэтому, когда вы загружаете модуль, также загружайте исключения. Это можно сделать в коде инициализации модуля или просто включив файл поверх основного файла модуля.