Вроде в пхп 4 тоже есть наследование. Вот вам паттерн \"шаблонный метод\" позаимстованный еще из подвиндуписания.
У меня все запросы идут в одно место. и там создается обьект Application. Он все и разруливает. Поэтому и не стоят вопросы- а как отследить авторизацию и прочее, периодически возникающие на форуме. Но это я отвлекся. так вот. Там определен метод, который вызывает другие методы которые инициализируют какую то часть системы: база данных, логгер, конфиг, шаблоны, обработка ошибок (не путать с логгером) и так далее.
Пользы от этого в принципе немного. Но ведь приложение состоит из: админка (она же бэкенд) и сама морда (она же фронтенд). Более того если это какая то сервис типа блога, так еще модуль блог. Потом всякие утилиты вешаемые на крон. Ну еще много чего можно придумать, если захотеть. Делаем наследников от Application, в котором забита вся логика, как запустить приложение. И в наследнике просто переопределяем некоторые методы если надо. А все остальное нам остается даром через наследование.
Разве не удобно? и, насколько помню, такое можно сделать и в пхп4. Хотя могу и ошибаться. Все таки пхп 5 уже долго и че хостеры тянут, непонятно.
-~{}~ 20.02.07 21:30:
топикстартеру
б) как эту штуку заставить проверять тип, длину, правильность присваиваемых значений полей,
или это можно сделать только в момент insert ?
Если у тебя обьект в пхп 4 то сразу определи геттеры и сеттеры. Если в пхп5 то есть магические методы. Где ж как не внутри обьекта проверять типы. Хотя реальный опыт написания показал, что обьект создается в одном месте, где нужна была бы проверка (база не в счет. считаем что туда неправильные данные не попадают). Хотя если появятся плагины, которые могут менять обьект будет уже труба без контроля.
в) на случай неуспеха вставки данных, нам нужно вернуть все это в поля формы, опять долго и нудно все оттуда доставать
Зачем доставать? ты же данные достал из $_POST и они оттуда никуда не делись. Я вон тоже парился с такой задачей- без нужды базу не дергать, и форма перегружается заполненной и с нужными полями указана ошибка. Задача решаема не очень сложно. Используй хотя бы на крайний случай Form Persistent