Это такая штука что на загруженных сайтах уровень оптимизации до маразма доходит... (вплоть до замены двойных кавычек одинарными)
На реально нагруженые его даже не ставят
(PS на счёт кавычек приувеличение конечно, но смысл думаю ясен)
Не спорю, у меня высокий уровень теоретической и практической подготовки в плане оптимизации и секьюритизации приложений на PHP + MySQL. По ходу "службы" приходится сталкиваться с различными работами других людей, в 95% случаев делают туфту. Все мы не идеальны, мало кто делает хорошие приложения, банально мешает лень и нехватка времени. Не знаю что ещё ответить по поводу "зачем изобретать велосипед", "зачем усложнять себе и другим жизнь"... Просто я пришёл к такому выводу, в любом случае я сделаю так, как сочту нужным, просто думал, что есть народ, который использует в повседневной работе какие-то конкретные решения.
Как насчет view для каждого типа списка + простенький sql builder о котором я писал чуть раньше? Наверняка их не так много и это выйдет дешевле и проще, чем делать generic framework. Если нужен параметризованный view - тогда либо через функции (если база позволяет), либо генерировать его на стороне PHP a la $sql = getProductsFromCatalogue($catalogueId). Это может упростить твой код, сделав большую часть SQL-а общим для всего приложения.
Именно так всё и сделано, но идёт повторение кода в SQL запросах, а я уже высказывал своё мнение по данному поводу. Классы моего builder'а занимают с комментариями около 350 строк. Максимум будет 500.
Любое усложнение системы может привести к тому, что она потом влетит в копеечку. Будь то в необходимости добавлять новые сервера или нанимать/обучать программистов. Помню, в PHP4 (в PHP5 что-нибудь сделали по этому поводу?) была беда, что каждому запросу в памяти выделялся отдельный процесс. В этом случае, дополнительные объекты, созданные громоздким фреймфорком, могут банально повлиять на то количество людей, которые смогут обращаться одновременно к сервису.
Мы не говорим про крупные системы, вы слишком всё преувеличиваете
Я не рассчитываю, что кто-то будет копать мой код, это уже не мои проблемы, зато лично я повышаю свою производительность на >100% при разработке нового проекта.
Насчёт запросов и выделения памяти - это Apache выделяет процесс на каждый запрос. Насчёт громоздкости - посмотри на Zend Framework, Symfony - тебе такие тормоза даже не снились в самом страшном кошмаре! Тот же битрикс кмс. И ничего, ставят, всё работает отлично. Там огромная роль уделяется кешированию, кешируется всё что только можно, в симфонии даже содержимое частоиспользуемых классов кладётся в 1 здоровый файл... Но проблема производительности - это забота сисадминов, я могу написать десятки вещей, которые повысят производительность в целом в несколько раз, если имеется свой сервер!
По моему вы занимаетесь ерундой и вгоняете всё обратно в каменный век. Разбирать при анализе или исправлении ваши классы сложнее чем простой SQL запрос.
Согласен со вторым предложением, но запросы составлять мне
Мало кто лезет в самопал, в большинстве случаев говорят, что надо писать с нуля, а если лезть в мои объекты, то мало не покажется, но у меня есть человек - новичок в ПХП, я ему всё разложил по полочкам, и он уже хорошо понимает как всё работает, а на самом деле всё ведь просто - правильный ООП облегчает жизнь разработчику. Мне не раз приходилось лезть в известные ОпенСорс решения и я был поражён как всё написано, о мастштабировании не могло быть и речи, всё настолько завязано друг на друге, ХТМЛ смешан с ПХП, куча функций с глобальными переменными - ужас. А когда смотришь на "простой" запрос типа "SELECT ".(($rows <>'')? $rows:"*")." FROM ".$table." ".(($query <>'')? "WHERE ".$query:"")." ".(($defLimit <>'')? "LIMIT ".$defLimit.",".$perPage."":"")." " влосы дыбом встают, проще уж 1 раз разобраться с билдером, чем ломать голову глядя на подобные вещи. Всё полностью зависит от реализации, я стремлюсь только к простоте, я ведь не буду усложнять себе жизнь, я прекрасно вижу плюсы и минусы от использования подобных вещей.
Конечно!
Хочешь МЕГА-быстро (в плане разработки), качественно и надежно - пиши на рельсах
Я до сих пор ф шоке от них.
Я смотрел демки различных фреймворков, некоторые пробывал сам (все на ПХП) - да, удобно, поражает скорость с которой можно создавать новые проекты, но опять таки чтобы выйти на 100% выхлоп нужно знать систему как свои 5 пальцев. Руби штука интересная, но я даже никогда её не видел и не знаю есть у нас в Эстонии хоть 1 проект на нём.