Предлагаю это взять как аксиому, так как остальные преимущества/недостатки ООП в данном случае меня мало интересуют. А уменьшение скорости скриптов при ООП-подходе не отрицается и его апологетами.
Лично мне чем не нравится ООП в ПХП, так это именно тем, что делаешь-делаешь, а живет всё эта сложность непродолжительное время. Хотя загружается относительно долго.
Итак, задача простая:
используя ООП на серверной стороне, в ПХП, существенно ускорить работу. Попробуем найти решение. Чтобы и "волки сыты, и овцы целы".
Вопрос первый и основной: почему ООП "тормозит"? Ответ достаточно очевидный: грузится много файлов, не все из которых обязательны именно для данной задачи.
Вопос второй: как ускорить? Предлагаемые решения на данный момент: кэшировать результаты и/или располагать данные и скрипты в виртуальном диске в оперативной памяти.
Кэшированием результатов занимаются если не все, то многие CMS/фреймворки. Но всё равно это не панацея.
А что предлагаю я? Пусть у нас будет мега-мощное ядро нашего приложения, которое запускается в виде демона. Написанного на ПХП. При запуске скрипта, он берет данные из кук и сессий (если необходимо), а также ПОСТ/ГЕТ параметры и отправляет их демону. Который запускает новый тред (thread). В котором обрабатывает всё.
В чем тут временной (и другой) выигрыш?
* Все наши сложные объекты и их взаимосвязи грузятся 1 (один) раз и живут в виде демона. Нам их не надо грузить постоянно!
* При запуске скрипта происходит минимум дисковых операций
* Если существуют некие общие данные, например на сайте есть чат, то они быстродоступны всем трэдам.
* Можно еще использовать winsocket для организации максимально динамичных приложений
По сути дела, такой подход отчасти похож на десктопное приложение. Только у него основные рабочие процессы загружены не на локальном, а на удаленном компе.
Возможно, что я отстал от жизни, и какие-то языки, но не ПХП, уже работают по этому принципу? Либо, возможно, в ПХП уже где-то это реализуется, а я просто "изобретаю велосипед"? Если да, то прошу ткнуть меня "мордой лица"
Предлагаю подискутировать на эту тему, но без обсуждения ООП, его плюсов и минусов!
Только про мега-демона, крутящегося на серверной стороне. А для обсуждения ООП есть ссылки в начале темы.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)