| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Посоветуйте MVC фрэймворк |
| Автор: Vasay 21.6.2010, 01:13 |
| Доброго времени. Посоветуйте php-MVC фрэймворк который не был бы завязан на работу с базой данных. А то нужно вместо БД использовать web-сервис. Ну или можно завязанный на БД фреймворк, но без "Черной Магии", чтоб после работы скриптов scaffolding-а оставались DAO, которые можно отрефакторить на работу с web-сервисом вместо работы с БД. |
| Автор: Fortop 21.6.2010, 11:01 |
| Гм. Я несколько не в курсе, а какие фреймворки завязаны на работу с БД? |
| Автор: SamDark 21.6.2010, 13:20 |
| Vasay, В Yii нет никакой завязки на БД: хочешь используй, хочешь нет. Компонент ActiveRecord — да, завязан на БД, всё остальное — нет. |
| Автор: Vasay 21.6.2010, 15:44 | ||
SamDark,
но scaffolding без БД работать не будет? |
| Автор: SamDark 21.6.2010, 16:10 |
| Vasay А что именно вы хотите скаффолдить без БД? |
| Автор: Vasay 21.6.2010, 16:21 |
Ну, впринципе, можно построить каркас по классам модели или по вспомогательным файлам (типа yml). Другое дело, что ДАО должны остаться пустыми. Хотя я так подумал - что ничего страшного нет, если будут созданы ДАО и структура БД - отрефакторить на работу с web-сервисом будет несложно. Перефразирую вопрос так: Посоветуйте MVC фрэймворк с качественной функцией скаффолдинга и инкапсулирующий работу с БД в ДАО. |
| Автор: SamDark 21.6.2010, 17:15 |
| Похоже, что вам нужен Symfony + Propel. |
| Автор: Fortop 21.6.2010, 17:19 | ||
Это же совсем другой вопрос Посоветовать что-то не смогу, но знаю два фреймворка, с развитым скаффолдингом Zend, Symfony |
| Автор: Vasay 22.6.2010, 02:42 |
| SamDark, Fortop, Спасибо. Буду разбираться. Посмотрел исходники демо приложения "jobeet" на Symfony+Propel, что-то с ходу не разобрался как там все устроено. Что они вообще под моделью понимают ( http://svn.jobeet.org/trunk/lib/model/ ) ? Я бы сказал, что это DAO, но где тогда модель? |
| Автор: SamDark 22.6.2010, 07:09 |
| Vasay, Модель в Propel делится на две части (peer и собственно модель). Если проводить аналогию с упомянутым Yii, то это Post::model() и new Post(). По идее, тема раскрыта тут: http://www.symfony-project.org/jobeet/1_2/Propel/en/16 |
| Автор: Vasay 22.6.2010, 19:43 | ||||
Хм, похоже, чисто модели там просто нет. Есть какая-то смесь Модели с Дао. Что явно усложняет задачу замены БД на WEB-сервис. Например, в классе http://svn.jobeet.org/trunk/lib/model/om/BaseJobeetJob.php находится модель, но кроме нее еще и такие методы, как doSave Т.е. под требование "инкапсулирующий работу с БД в ДАО." Symfony+Propel явно не подходит.
Я быстро пробежал глазами - там, вроде, рассказывается как организовать web сервис на базе Symfony, а не как использовать его как источник данных для приложения. Или я что-то упустил? |
| Автор: Vasay 22.6.2010, 20:58 | ||
Извиняюсь, в предыдущем посте накасячил с терминологией. Сказывается работа Grails.
Конечно я хотел сказать не "модель" а "сущность (entity)" Добавлено через 7 минут и 7 секунд Сейчас читаю ввоhttp://framework.zend.com/manual/en/learning.quickstart.create-model.html в Zend Framework Вроде похоже на то что я ищу. Т.е. в том примере с гостевой для смены БД на иной источник информации достаточно будет отрефакторить Mapper классы. |
| Автор: solenko 23.6.2010, 15:07 |
ну просто нужно написать свой класс-генератор, который заменит Creole уровень propel на работу с вашим веб-сервисом |
| Автор: SamDark 23.6.2010, 15:52 |
| solenko, Vasay, Если свой генератор писать, то можно сделать это практически на любом фреймворке. На том же Yii никто не мешает использовать CModel, а не CActiveRecord. В большинстве других фреймворков ситуация примерно та же. Одно только непонятно… какая выгода в описывании модели при помощи XML или yaml, если то, что сгенерируется будет совершенно голым? Думаю, именно поэтому, генерации пустых моделей почти нигде нет. |
| Автор: Fortop 23.6.2010, 16:44 |
| Vasay, я тебя огорчу, Mapper классы не генерируются в ZF во всяком случае пока. |
| Автор: Vasay 24.6.2010, 21:40 |
Именно их генерация, в моем случае и не нужна Вообще, по структуре и коду приложения, ZF на первый взгляд мне понравился. Но я прочитал, что приложения созданные на ZF работают далеко не на каждом хостинге. Так ли это? Или речь шла о совсем уж "левых" предложениях по хостингу. Просто, приложение будет распространяться среди партнеров и не хотелось бы, что бы у многих возникли проблемы с работой на их хостингах ( достанут вопросами службу поддержки Требования на офф сайте я прочел, но вот насколько им удовлетворяют сегодняшние конфигурации серверов у более-менее вменяемых хостинговых компаний - понятия не имею. |
| Автор: Fortop 26.6.2010, 14:40 | ||
16М бесплатный шаред хостинг - кое-как бегает. Хотя да - прожорлив сильно. И не быстрый без кеширования. |