LINUX.ORG.RU

Помогите выбрать фреймворк


0

0

Сам перекочевал с asp.net

Горит проект, нужно разработать сложный интернет-магазин. на asp.net не хочу делать принципиально. помогите выбрать фреймворк для создания на php

смотрел в сторону cakephp. Детсад какой-то. Одна модель - одна !таблица!

желательна

-mvc -гибкость -быстрота разработки -документация на русском


Ответ на: комментарий от phasma

на cakephp попытались реализовать лажа получилось но думаю что-то возможно сделать

если и нет. То возможны ли варианты на java ? C# знаю думаю и на java быстро адаптируюсь. Главное, помимо выше требуемого - поддержка хостингами, и быстро адаптироваться :-)

magres
() автор топика
Ответ на: комментарий от magres

для себя не нашел нормального фреймвока на php ... да он и не нужен, главное какой-нить шаблонизатор найти нормальный, хотя для наколенной странички и это не нужно )

phasma ★☆
()
Ответ на: комментарий от phasma

Думаю для сложного интернет-магазина шаблонизатор - не то Так если по теме, что же лучше использовать ?

magres
() автор топика
Ответ на: комментарий от eugine_kosenko

помоему почти тоже что и cakephp

и отзывы не самые хорошие

magres
() автор топика

Извини, конечно, но ты в поисках кресла слезаешь с колченогого стула и задумчиво изучаешь кучу дерьма, раздумывая, что бы из неё слепить. Запомни: из похапе^Wдерьма кроме дерьма ничего не получится.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Честно тебе скажу, что сам нелюблю "похапе". Но факт в том что сайты в принцепе на нем клепаются. И хочу узнать существуют ли подходящие каркасы для поставленой задачи.

Сам больше склоняюсь в джаве, с удовольствием поизучаю их архитектуру. Но увы сроки сжаты. (Но если хорошо постараться ... )

Но сейчас счет идет больше на время.

magres
() автор топика
Ответ на: комментарий от magres

> И хочу узнать существуют ли подходящие каркасы для поставленой задачи.

Ещё раз, если ты не понял: нет.

Miguel ★★★★★
()

Конечно, все что тут было сказано тоже имеет право на сущестование, но вас, на сколько я понял, интересует не это=)

> смотрел в сторону cakephp. Детсад какой-то. Одна модель - одна !таблица!

не думаю все же, что кейкпхп - детсад. Довольно гибкая вещь и использовать ее как каркас вполне себе ничего. Хотя не делал на нем действительно сложных вещей. Может вам и не подойдет. Быстрота разработки высока, присутствуют вещи типа валидации, кэширования (file, memcached), связи между моделями, поддержка аякса, возможность использования сторонних шаблонизаторов, ОRM, встроенное тестирование моделей и т.д.

Рекомендую смотреть версию 1.2.

Документация на русском присутствует, но на английском гораздо больше и полнее.

http://php.southpark.com.ua/ - рекомендую к ознакомлению.

Из минусов отмечу дефолтные шаблоны - смесь пхп и хтмл (хотя для кого-то это и плюс), так же необходимость иметь для каждой модели один контроллер (хотя это можно обойти).

it-partizan
()

Да, забыл вот еще - модель в cakephp может и не иметь таблицы вовсе=)

it-partizan
()

Я бы посоветовал купить VPS, поставить туда RoR/Django и забыть про пхп.

painEffect
()
Ответ на: комментарий от it-partizan

По крайней мере читая мануал к нему, как создать в модели ручной скуель запрос я кое как нашел, а вот хотябы как самому вписать запрос на добавление удаление редактирования - так и не нашел

magres
() автор топика
Ответ на: комментарий от magres

> По крайней мере читая мануал к нему, как создать в модели ручной скуель запрос я кое как нашел, а вот хотябы как самому вписать запрос на добавление удаление редактирования - так и не нашел

Ну перечисленные вопросы легко решаемы гуглением, только по английски - быстрее найдете ответы. Оч. полезно посмотреть API-документацию, там все есть.

Так называемый learning curve у этого фреймворка не оч. высокий, не знаю как у остальных. Сам я когдато выбирал из Prado, Symfony, CodeIgniter и cakePHP. Остановился на cake - как на более оптимальном на мой взгляд.

Если все же выберите cake и вам потребуется помощь - пишите на мыло kurinniy [at] gmail [dot] com

it-partizan
()
Ответ на: комментарий от Miguel

> Когда до похапешников дойдёт, что писать руками SQL не следует...

клоун, покажи мне ORM, которая позволяет делать запросы из >3 таблиц с указанием определенных индексов ...

phasma ★☆
()
Ответ на: комментарий от phasma

>MVC никак с PHP не ассоциируется

Каким это боком не ассоциируется? Вот у меня - чистый 100% MVC. Что я не так делаю? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от phasma

>клоун, покажи мне ORM, которая позволяет делать запросы из >3 таблиц с указанием определенных индексов ...

Прямое указание индексов - это да... А так - моя ORM вполне дёргает хоть 15 таблиц. При чём если они в одной БД - то одним запросом. Естественно, что сам ты SQL не касаешься, описываешь только поля и таблицы. Например, свежий пример:

function fields() { return array( $this->main_db_storage() => array( 'ibf_topics' => array( 'id' => 'tid', 'title', 'create_time' => 'start_date', 'first_post_id' => 'topic_firstpost', 'forum_id', 'starter_id', 'starter_name', ), 'inner ibf_relation' => array( 'id' => 'id_topic', 'old_news_id' => 'id_news', 'news_type_id', 'arch_type_id', 'num_pics', 'all_type_news_id' => 'all_type_news', 'is_important' => 'vaz_no_news', 'keyword', ), )); }

И всё. Этого достаточно, чтобы полностью привязаться к двум таблицам.

Потом просто if($object->is_important()) ...

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Блин, форматирование...

    function fields()                                                                                                       
    {                                                                                                                       
        return array(                                                                                                       
            $this->main_db_storage() => array(                                                                              
                'ibf_topics' => array(                                                                                      
                    'id' => 'tid',                                                                                          
                    'title',                                                                                                
                    'create_time' => 'start_date',                                                                          
                    'first_post_id' => 'topic_firstpost',                                                                   
                    'forum_id',                                                                                             
                    'starter_id',                                                                                           
                    'starter_name',                                                                                         
                ),                                                                                                          
                                                                                                                            
                'inner ibf_relation' => array(                                                                              
                    'id' => 'id_topic',                                                                                     
                    'old_news_id' => 'id_news',                                                                             
                    'news_type_id',                                                                                         
                    'arch_type_id',                                                                                         
                    'num_pics',                                                                                             
                    'all_type_news_id' => 'all_type_news',                                                                  
                    'is_important' => 'vaz_no_news',                                                                        
                    'keyword',                                                                                              
                ),                                                                                                          
        ));                                                                                                                 
    }                                                             

KRoN73 ★★★★★
()
Ответ на: комментарий от phasma

> клоун, покажи мне ORM, которая позволяет делать запросы из >3 таблиц с указанием определенных индексов ...

Ну, несуществующий, тебе тут уже без меня ответили.

Miguel ★★★★★
()
Ответ на: комментарий от KRoN73

это разве удобно ?)

SELECT `список полей` FROM `нужная таблица` LEFT JOIN `вторая таблица` ON `условие` ....

имхо удобней, но ессесно показать кусок кода и сказать удобно ... ничего не сказать, у меня все равно глаза разбегуться при виде куска )

phasma ★☆
()
Ответ на: комментарий от phasma

>имхо удобней

Ага. А потом ручками распихивать по полям объекта, менять синтаксис при смене бэкенда, писать разный код на извлечение объекта, массивов объектов, списков элементов этого объекта и т.д. и т.п...

>но ессесно показать кусок кода и сказать удобно .

А приведённый выше код - это всё, что нужно, чтобы заработал класс :D Всем остальным занимается класслоадер. Так что - реально удобно.

...

Хотя у меня и у самого немало прямых SQL-запросов сидит, местами с ними удобнее.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Ага. А потом ручками распихивать по полям объекта, менять синтаксис при смене бэкенда, писать разный код на извлечение объекта, массивов объектов, списков элементов этого объекта и т.д. и т.п...

мне это просто не грозит ... сначала нужно заменить пхп чем-нить другим, не могу больше ковырят шаблон вместе с кодом, да еще с EOT

> А приведённый выше код - это всё, что нужно, чтобы заработал класс :D Всем остальным занимается класслоадер. Так что - реально удобно.

возможно, не спорю )

> Хотя у меня и у самого немало прямых SQL-запросов сидит, местами с ними удобнее.

впринципе стандарты SQL почти не различаются, перейти будет легко )

phasma ★☆
()
Ответ на: комментарий от phasma

>не могу больше ковырят шаблон вместе с кодом, да еще с EOT

Руки. PHP ничем не отличается в этом смысле от других языков.

>впринципе стандарты SQL почти не различаются, перейти будет легко )

На SQL свет клином не сошёлся :)

KRoN73 ★★★★★
()
Ответ на: комментарий от it-partizan

>Кстати, вопрос: на сколько Zend Framework отличается от того же cakephp или simfony? Просто интересно

Это скорее набор деталей. Там нет высокоуровневых компонентов. Но MVC есть, View(template) есть(хотя я на смарти заменяю), DAO есть, "простой" класс для работы с БД тоже есть, ну и кеш.

Кстати сильно лечит APC. До 4х раз прирост получаю.

roller ★★★
()
Ответ на: комментарий от KRoN73

> Руки. PHP ничем не отличается в этом смысле от других языков.

хм, в пайтоне все должно быть разделено табами ... вот это такой огромный, жирный плюс ... в похапе хоть в одну строчку все нагороди ...

> На SQL свет клином не сошёлся :)

ну как бы, все остальное у хостеров это как бы экзотика )

phasma ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.