В вебе же программирование чисто структурное. По идее. Там нет надобности создать в памяти объект, который будет что-то сам по себе ковырять потихоньку или ждать, пока ему скажут что-то сделать. Код либо выполняется, либо нет, вполне достаточно просто функций. Взял массив POST, поколупался в базе данных, вывалил все в браузер - код либо выполняется, либо нет, каждый кусок в свое строго определенное время, измеряемое микросекундами от начала работы скрипта.
Объекты в вебе нужны, например, для создания всяких ботов или демонов, но тут может подойти любой язык программирования, не только заточенный под вебу.
Но вот буквально минут двадцать назад я подумал (это вместо того, чтоб готовиться к защите, ах, как же это я мог), что, в принципе, объект в вебе нужен. Во-первых, это помогает разгруппировать функции по кучкам согласно их предназначения. То есть просто функция connect() - хз, куда коннектится, а вот $db->connect() уже более понятна и вполне отличима от $smtp->connect(), $sock->connect() и прочего, причем вполне может описываться одинаковыми кусками кода, наследуемыми от родительского объекта.
Во-вторых, это спасает от нечаянного совпадения имен функций. Вот у меня есть дохера разных файлов с функциями, которые инклудятся, из каждого беру по одной-две функции, чтоб отобразить страницу. И для того, чтоб они не перепутывались меж собой по именам, вырастает целая идеология префиксов. photo_db_updatetags() или все-таки db_photo_updatetags()? Надо ее поискать и посмотреть, как правильно. А где искать - в файле photo_db.php или photo/db.php? Ну, само собой, я-то помню, что где писал и как. Но мысли, блуждающие в голове другого программиста, который функции категоризирует по-другому, могут быть не совсем ясны. Короче, чтоб избежать путаницы с именами функций, свалим все в класс photo, который эти все штуки умеет. $photo->updatetags() - хоп! и никаких проблем. И сразу ясно, где искать: classes/photo.php. Насчет выгодны в быстродействии или прочих требуемых ресурсах я не знаю, вполне вероятно, что ООП жрет больше.
А, и еще я придумал, как идеологически корректно избежать избыточности в таблице дерева страниц в Бало, не уменьшая, а даже увеличивая скорость работы движка - надо сделать кэш-таблицу собственноручно! Правда, Мисата сказал, что "мы" уже сделали в Бало2 по-другому. Пожалуйста, пусть эти "мы" делают по-другому, я сделаю свой очередной движок с кэш-таблицей, блэкджеком и прочими атрибутами.
Ну а пока, ах, пойду поучу уроки.