Если я использую платформу Drupal или Kohana-type для веб-“приложения”

Дебаты состоят в том, что мне нужен PHP Framework/Drupal с гибкостью для добавления пользовательских опций к потенциально крупному приложению (сеть и с API).

Однако с платформой, как Kohana, я вижу, что я занимаюсь и изобретаю велосипед с простым материалом как материалом cms и ведение счетов. Ведение счетов и быстрый сбор данных, как быстрое создание формы, утомительны в Kohana, но кажутся невероятными простой в Drupal. С другой стороны, на основе моего ограниченного опыта Drupal, я сомневаюсь, что создающие быстрые пользовательские пользователи "функций" и разрешения, чтобы создать "группы" и управлять их собственными ролями в тех группах являются чем-то, что Drupal может легко выполнить.

Для упрощения, Drupal, способный к истинным веб-приложениям; где приложение является сервисом и предоставляет пользовательские результаты каждому пользователю? Это может предоставить подобный панели инструментов интерфейс пользователям для изменения их настроек или предпочтений? Может это агрегированные данные от конкретных пользователей, чтобы предоставить лучшие результаты/информацию другим?

Если так, укажите на меня на некоторое знание :-)

6
задан Andres 7 April 2010 в 15:17
поделиться

5 ответов

Сразу признаюсь, что я большой поклонник Drupal и никогда не использовал Kohana, так что этот пост будет односторонним.

В компании, в которой я работаю, используются Drupal или Zend Framework практически для всех проектов (Drupal составляет большинство). Многие люди, ориентированные на ZF, не любят Drupal, поскольку его структура очень далека от объектно-ориентированного ZF-материала, а Drupal - это «просто CMS». На мой взгляд, Drupal - это скорее фреймворк, чем «просто» CMS, и, что самое приятное, он невероятно гибкий: все возможно.

И да, действительно есть модуль для всего. Чтобы быть более конкретным:

С другой стороны, основываясь на моем ограниченном опыте работы с Drupal, я сомневаюсь, что создание быстрых пользовательских> «функций» и разрешение пользователям создавать «группы» и управлять своими ролями внутри> этих групп - это то, что Drupal легко выполнить.

Я могу только догадываться, что вы имеете в виду, говоря о быстрых настраиваемых функциях, но я могу легко расширить Drupal своими собственными модулями. Большинство функций доступно в виде (бесплатных, предоставленных сообществом) модулей, и многие расширенные функции можно легко создать, например, с помощью модулей «views» и «cck». http: // drupal. org / project / cck http://drupal.org/project/views

Создание групп: «organic_groups» ( http://drupal.org/project/og )
"og_user_roles" ( http://drupal.org/project/og_user_roles )

Эти модули вместе - то, что вам нужно для создания групп с определенными групповыми ролями. (и роли, имеющие определенные права). Вероятно, есть и другие способы, кроме использования «og_user_roles», но я рекламирую его, потому что несколько лет назад я сделал для него несколько патчей. Проблема обычно в слишком большом количестве вариантов.

Если вы хотите расширить параметры, специфичные для группы, вы можете написать свой собственный модуль, но, скорее всего, в этом нет необходимости, потому что для него уже есть модуль. Например, существует по крайней мере 120 модулей, которые каким-то образом интегрируются с модулем «organic_groups»: http://drupal.org/taxonomy/term/90?page=19

Для упрощения , поддерживает ли Drupal настоящие веб-приложения; где приложение является службой и предоставляет индивидуальные результаты каждому пользователю? Может ли он предоставить пользователям интерфейс, похожий на панель инструментов, для изменения их настроек или предпочтений? Может ли он агрегировать данные от> определенных пользователей, чтобы предоставлять лучшие результаты / информацию другим?

Короче говоря, да. Есть так много способов достичь того, что вы описали. Но, вероятно, они задействовали бы хотя бы отличный модуль "просмотров". Я думаю о представлениях как о некоем абсолютном уровне абстракции SQL и пользовательском интерфейсе для всех. И есть более 300 модулей, которые так или иначе интегрируются с представлениями ... ( http://drupal.org/taxonomy/term/89?page=55 )

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

Когда вы дойдете до кодирования модулей, вам, вероятно, потребуется много времени, чтобы привыкнуть к Drupal API, Forms API, обработчикам модулей, системе переопределения тем и бесконечным возможностям модулей contrib. Но это того стоит.

Я считаю этот сайт очень полезным, чтобы найти модуль для каких-то конкретных нужд.Сайт показывает ту же информацию о модуле, что и Drupal.org, но также отзывы и оценки пользователей, чтобы найти лучший вариант: http://drupalmodules.com/

Если неясно, мой ответ пойдет с Drupal :)

PS:D7 должен выйти очень скоро. Кто-то может дождаться этого вместо того, чтобы начинать с D6. Во время D5 люди долго ждали, прежде чем перейти на D6 из-за отсутствия модулей. Я считаю, что для D7 наиболее важные модули будут доступны для D7 очень быстро. Некоторые исследования на данный момент (04.12.2010):

Около 190 модулей обещают получить версию Drupal 7 в день выпуска D7: http://drupal.org/project/modules? solrsort = sort_title% 20asc & text = d7cx & display = table

Для D7 уже доступно около 130 модулей (большинство из них включены в предыдущую ссылку): http://drupal.org/project/modules? filter = drupal_core: 103 & solrsort = sort_title% 20asc & text = d7cx & display = table

РЕДАКТИРОВАТЬ: Как новичок, мне разрешено размещать только одну ссылку, поэтому я удалил http: // из drupal.org-links

{ {1}}
5
ответ дан 8 December 2019 в 18:34
поделиться

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

После того, как это сделано, вам нужно выяснить, даст ли Drupal / Joomla / CMS (x) все это, а также еще один потенциально неизвестный 5-10% -ный эффект. Если так, то, может быть, вам лучше заняться Drupal и т. Д.

В остальном, я думаю, CodeIgniter или Symfony - отличные PHP-фреймворки, с которыми можно приступить. Оба предлагают надежные учебные пособия, видео и прочее, а также полезное сообщество. Kohana, над которым я работаю, я думаю, вам следует заняться, если вы действительно понимаете PHP и его недостатки и понимаете, что скорость будет критическим фактором. Это две сильные стороны, которые KO3 привносит в игру, и вам действительно нужно их, чтобы их использовать.

Надеюсь, это поможет.

0
ответ дан 8 December 2019 в 18:34
поделиться

Самое интересное в Drupal - это то, что сообщество в шутку называет правилом #35: для этого есть модуль. Если вы не хотите сделать что-то действительно сложное, вы часто обнаружите, что функциональность уже реализована, и вам просто нужно ее настроить.

1
ответ дан 8 December 2019 в 18:34
поделиться

Я работал как с Drupal, так и с Kohana.

На мой взгляд, это действительно зависит от того, что вы хотите делать. Если вы собираетесь создать веб-приложение, которое должно сильно расти и должно быть гибким для своего роста, я рекомендую использовать Kohana. Kohana создана для того, чтобы ваша кодовая база была чистой и поддерживалась в DRY (Don't Repeat Yourself). Хотя в нем, вероятно, не так много модулей, как в Drupal, у него есть несколько модулей Auth и ACL.

Если вы хотите работать быстро и не против сделать свое приложение из других, их модули, Drupal выполнит вашу работу быстро. Но имейте в виду, что при расширении вы, скорее всего, столкнетесь с проблемами, связанными с модулями, которых вы не знаете. Также от вас потребуется немного гибкости.

В конечном итоге выбор за вами. Но я рекомендую использовать фреймворк MVC, если вы собираетесь писать его с нуля.

5
ответ дан 8 December 2019 в 18:34
поделиться

Нет ничего невозможного. Вопрос в том, хотите ли вы работать с другим кодом и попытаться выяснить, как копать внутри и расширять, чтобы он соответствовал вашим потребностям, или вы хотите использовать легкий фреймворк, такой как Kohana или, может быть, CodeIgniter (мой личный фаворит) и драйв ваша собственная машина, хотя вам, возможно, придется «изобрести» некоторые колеса.

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

По моему личному мнению, время, которое вы потратите на изучение Drupal, будет эквивалентно времени, необходимому вам для создания вашей базовой функциональности CMS, но нервы, которые вы потратите на работу с вещами, находящимися вне вашего контроля, такими как основной код Drupal, сдвинутся весы в пользу Framework.

1
ответ дан 8 December 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: