Те, кто создаёт достаточно крупные сайты обычно использует ООП. И крайне желательно каждый класс хранить в отдельном файле, однако, из-за этого возникает необходимость подключать большое количество файлов, из-за чего сильно страдает инкапсуляция ООП. Ведь Вам для внедрения нового класса придётся его подключать в другие файлы, а в идеале хотелось бы старые файлы при добавлении новой функциональност ...
Те, кто создаёт достаточно крупные сайты обычно использует ООП. И крайне желательно каждый класс хранить в отдельном файле, однако, из-за этого возникает необходимость подключать большое количество файлов, из-за чего сильно страдает инкапсуляция ООП. Ведь Вам для внедрения нового класса придётся его подключать в другие файлы, а в идеале хотелось бы старые файлы при добавлении новой функциональности не менять. Решить данную проблему поможет относительно новая функция в PHP - __autoload(), о которой мы сегодня и поговорим.
Если кратко, то функция __autoload() вызывается, когда мы пытаемся создать объект класса, которого ещё не существует (например, просто не подключён файл).
Теперь разберём пример. Допустим, у нас есть 2 класса: A и B. И пусть они находятся в файлах \"a_class.php\" и \"b_class.php\" соответственно. Если мы напишем в отдельном файле такой код, то у нас возникнет ошибка из-за неопределённых классов:
Xupypr, С автолоадом ты создашь один раз функцию где нибудь в файле конфигурации и всё.А так перед каждым первым инициализированием объекта тебе нужно его инклудить