цель стороннего mvc? - PullRequest
1 голос
/ 21 мая 2010

Я видел много сторонних mvcs или фреймворков, таких как codeignitor, cakephp и так далее. что я хочу знать, каковы их цели? Я создал свой собственный фреймворк, назовите его MVC или фреймворк (на мой взгляд, они все те же). в моей структуре у меня есть все классы в одной папке, называемые классами, и все функции в другой. Все организовано, и когда приходит новый проект, я могу быстро его завершить. Я посмотрел на приложения, которые я упомянул, и, кажется, есть огромные статьи и учебные пособия для изучения. какова цель? почему бы не изучить основной язык, такой как php, javascript / ajax или jquery, и т. д., а затем создать что-то, из чего вы знаете все входы и выходы, чтобы любой проект пришел к вам так, чтобы вы знали, что делать. Я знал некоторых людей, которые используют cakephp, и для каждого проекта они застряли и должны выяснить, что делать. другой парень, которого я знал, работал с Joomla и всеми основными веб-сайтами компании, которые он придумывал, он перепроектировал Joomla, чтобы он работал с сайтом. люди используют эти приложения, потому что им не хватает знаний в языках? или иногда нет другого выбора, кроме как создать сайт, не имея языка, и собрать что-то вместе.

ps: я не хочу говорить, что лучше или спорить, я хочу понять и посмотреть, не упускаю ли я что-нибудь.

Ответы [ 5 ]

3 голосов
/ 21 мая 2010

Стандартизированные структуры позволяют легко адаптировать и повторно использовать блоки кода.Используя такие фреймворки, как Zend, Cake, Joomla и т. Д., Вы можете найти репозитории готовых скриптов и компонентов, которые легко подключаются к вашему существующему сайту.выполнять множество сложных повторяющихся задач, которые являются стандартными для большинства веб-сайтов.В большинстве случаев фреймворки автоматически создают классы CRUD для вашей базы данных и поддерживают четкое разделение логики и представления.

Фреймворки предназначены не для всех, и я бы действительно рекомендовал новичкам в программировании или PHP изучать базовый синтаксисструктура объекта.Это даст вам более глубокое понимание того, как ведет себя ваша структура, и упростит вам изменение / переопределение существующей структуры.Каждая структура отличается, и некоторые из них лучше подходят для решения конкретных задач, чем другие.Вы должны провести исследование и тестирование, чтобы выяснить, какой из них соответствует вашим потребностям.

1 голос
/ 21 мая 2010

Еще одно преимущество, которое еще не было упомянуто, заключается в том, что использование стандартной инфраструктуры дает некоторые общие знания разработчикам. Если вы строите проект с помощью своей собственной «среды», а затем кто-то другой должен поддерживать ее в будущем, он должен полностью изучить ваши методы с нуля. Однако, если вы использовали CakePHP, и у них уже есть опыт работы с CakePHP, у них будет довольно хорошая база для начала. Это может сильно повлиять на время, необходимое им для освоения новой системы.

0 голосов
/ 30 мая 2010

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

0 голосов
/ 21 мая 2010

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

Но имейте в виду, что, хотя вы знаете все входы и выходы своей собственной инфраструктуры, если кому-то еще понадобится поддерживать ваш проект в дальнейшем, это будет трудно, особенно если вы не документируете. Большие фреймворки, такие как CakePHP, Kohana, Symfony и т. Д., Достаточно хорошо известны, и легко найти других, имеющих опыт работы с ними. Кроме того, если вам нужна помощь, все, что вам нужно сделать, это разместить на их форумах, и есть вероятность, что у вас будет хороший ответ.

0 голосов
/ 21 мая 2010

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

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

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

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