Уважаемые программисты, пишу свой framework под PHP 5.3 и выше. Уже который день виду дискусии с коллегами на тему какая должна быть модель у framework. Смотрел как реализовано у других но видел много ненужного а кое где и недостатки. Хочется узнать у сообщества - кто какие цели расследуются при работе с базами, какие методы использует, с чем приходится работать повсеместно. P.S.: Огромное спасибо за ответы.
Бгг... Опрос однако составлен... Автор переделай его к чертям собачьим. Хотя бы так "как часто вы меняете СУБД для одного проекта" Поскольку СУБД можно менять часто, но не для конкретного проекта.
r00les напрямую с субд у мну работает Doctrine. а что уж там происходит между базой и классом с данными - не моя забота.
DarkElf Так вот, почему вы выбрали Doctrine ? потому что запросы отправляет непонятным для вас способом ?
Simpliest Имелось ввиду для одного framework-a на котором уже самые разные проекты составлены, но вы правы уточнение имеет место быть, но теперь уже поздно. Думаю все понимают что текст моего поста и опрос связан с framework-ками.
r00les потому, что работать с ним удобно. потому, что не важно, какая именно субд используется. от бд что требуется? инфу сохранил, инфу отдал. от orm что требуется? инфу в стандартизированном виде принял, сохранил, отдал. Doctrine всего-лишь предоставляет инфу в наиболее удобном виде.
Гибкость, легкость, простота - выбирайте два из трех =) Например, ассемблер - гибко и легко, ZF - гибко и просто. Карандаш - легко и просто.
[vs] Программирование это процесс с участием человека, который пишет код понятный для компьютера, так ? а раз так значит это низкие требования к ресурсам человека ( время, нервы и тд )
r00les Нет, я имел ввиду программирование в широком смысле, как целую сферу деятельности со своей профессиональной культурой. Так вот, легким приложение или язык называют за его нетребовательность к системным ресурсам, а низкие требования к ресурсам человека - это простота. Это просто сленг, словарно конечно эти слова почти синонимы. Нет-нет. SQLite маленькая и легкая СУБД, но она не гибкая, она не подходит для сложных БД. Oracle - полная противоположность, большая и тяжелая, но подходит для реализации любой БД.
r00les Тогда как понимать это: Так все-таки, низкие требования к ресурсам человека - это легкость или простота?
гибкими - да. легкими - не факт быстрыми - в связке программный код - субд база почти всегда занимает львиную часть времени исполнения.
т.е. предлагаете отказаться от ZF, CI, ORM.. может еще и на ассемблере все реализовывать? скорость то уух будет)
[vs] "а лёгкость при выполнении интерпретатором." - тоесть с какой лёгкостью выполняет или выполняется программа, а вы в свою очередь говорили о программировании а это пока процесс с учамтием человека. Лёгкость программы != Лёгкость программирования
r00les знаешь, нелегкость программы легко компенсировать. железо копейки стоит. а вот время грамотных специалистов - намного дороже.
Я ничего не предлагаю пока, но по поводу отказатся от ZF, CI, ORM - лично моё мнение, что разработка больших высоко нагруженных приложений с их участием разрабатывать не стоит и вот почему: ZF - да, мощная, богатый во всех отношениях и прочее и прочее и прочее, но для больших и быстрых так же как для маленьких и быстрых не подходит, хотя бы количество инклудов и время работы пугает, но зато библиотека готовых решений обширная, что не может не радовать при разработки магазинов и тд. CI - да быстрая и функционал есть, а описание и документация вообще радует до глубины души, но поддержка php 4, да ещё и странная очень реализация MVC не даёт покоя при программировании, да и за кулисами ребята оставляют много ненужного кода. ORM - да хорошо, но гораздо проще отслеживать запросы в чистом виде, писать запросы куда легче в чистом виде, менять и отслеживать ошибки то же проще. Следовательно можно избавится от промежуточного кода. Я уже не говорю о удобстве читаемости запросов в чистом виде если программист что будет разрабатывать продукт после вас не знаком с ORM которую вы использовали. Вывод: необходимо участие каждого программиста в вопросах реализации того или инного класса или метода прежде чем использовать и запихивать это внутрь конфетки ( framework ). И ещё, это сугубо мои выводы и не претендует на истину, но рад буду услышать ваши отзывы друзья.
Вот об этом и думаю. Необходим стандарт, хочу что бы сами программисты решали что нужно им а что нет, при этом отбросив все предположения и авось.
r00les CI 1.7+ существует в двух вариантах - для php4 и для php5 - разные ядра. в ZF можно поудалять все ненужное. а вообще, опять таки, железо много дешевле специалистов. и разницу дешевле свести на нет покупкой одного "лишнего" сервера.