Содержание
Подскажите CMSки на PHP построенные с помощью OOP и MVC — Хабр Q&A
На СodeIgniter сделано достаточно много движков.
Сам фреймворк простой и оч хорошо документирован.
Приммеры
cogear.ru/ (его упомянули выше)
max-3000.com/ — имхо редкий треш, но относительно популярен.
ci-cms.blogspot.com/
Ответ написан
Комментировать
Joomla! 1.5+ базируется на собственном ООП фреймворке, с использованием MVC. API довольно неплохо описан.
Ответ написан
HostCMS — российская разработка, одна из лучших коммерческих CMS на мой взгляд. Имеет очень функциональную бесплатную редакцию.
Написана на PHP5 ООП, имеет модульную структуру, четко следует парадигме MVC, использует XSLT-шаблонизацию. Имеет хорошо документированное API и возможность писать собственные модули.
Проект живой и динамично развивается, очень оперативная техподдержка и форум, на котором можно поискать решение проблемы самостоятельно.
Ответ написан
yii framework
Учитывая то что обладает мощным скафолдингом, его с натяжкой можно назвать cms.
Ну и естественно MVC ООП присутсвует. Разработка плагинов дело тоже не очень сложное там.
Ответ написан
Комментировать
Возьмите Magento. Она очень громоздкая, но написана с использованием грамотного фреймверка, да и, судя по слухам, сама довольно грамотно написана. Хотя точка входа наверно высока в ней.
Ответ написан
Комментировать
MODx 2.0, которая Revolution. Неплохая CMS с немного необычным подходом. Из толкового ООП — там движок xPDO. Огромный минус — маловато документации даже на английском, но сообщество как правило помогает. По моей просьбе написали пару статей к документации, которые были очень нужны.
Ответ написан
Комментировать
mvc — Архитектура CMS на PHP
Вопрос задан
Изменён
7 лет 7 месяцев назад
Просмотрен
306 раз
Пишу CMS на PHP с использованием паттерна MVC.
Проблема заключается в том, что не знаю как удобнее организовать автозагрузку и расположение файлов контроллеров, моделей и т.д. Имею ввиду архитектурно, как написать, чтобы работало знаю.
Есть варианты:
- Использовать свой автозагрузчик
- Использовать загрузчик composer (у меня в любом случае будут некоторые пакеты из него использоваться)
По поводу физического расположения есть варианты:
- Сделать пакет для composer и хранить в папке vendor
- Хранить в папке App в корне сайта (или любой другой)
И третья проблема вытекающая из всего этого — как организовать неймспейсы.
Надеюсь я достаточно четко сформулировал проблему. Если нет, буду править с помощью уточняющих комментариев.
- php
- mvc
- cms
Использовать автозагрузчик композера. Нет смысла писать еще один такой же.
По поводу физического расположения — текущее приложение должно быть в корне проекта, сами файлы библиотеки — скачиваться через packagist. org
в /vendor
, при этом текущее приложение может тупо ограничиваться одним файлом public/index.php
. Ябы целенаправленно делил систему на «библиотеку» и «текущее приложение», в которой файлы текущего приложения могут быть в произвольном неймспейсе и подключаться как плагины.
Неймспейсы должны быть организованы, как и всегда — Vendor\Package\...
, например Etki\SimpleApp\...
.
Последнее, что нужно сказать — вы, скорее всего, на самом деле не напишете целую CMS. Я тут с небольшим проектом «с нуля» бьюсь общим счетом уже неделю просто потому, что хочу организовать архитектуру целиком и полностью без изъянов.
6
Используйте готовый фреймворк. Выберите современный, там уже за вас всё придумали, останется только дописать нужный функционал. Я советую Yii2 (шаблон basic для начала), там уже и композер есть, и экстеншены и модули и генирация кода и всё что душе угодно, при этом всё разложено аккуратно по папочкам, есть документация (в том числе на русском), постоянно выходят обновления, сообщество . ..
TL;DR: Не надо изобретать велосипед, ещё одна CMS тем более без поддержки сообществом — никому не нужна.
4
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Сравнение CMS и MVC Framework, какой из них выбрать
Поднимите руку тем, кто знает, что такое фреймворки! Несомненно, для нетехнических людей эта тема может быть трудной для восприятия. Вот почему мы хотели бы сделать небольшие шаги, прежде чем сравнивать две основные группы фреймворков с открытым исходным кодом — CMS и MVC. Прежде чем углубляться в технические детали, давайте разберемся с основами.
Что такое «Структура»?
Эти так называемые фреймворки веб-приложений, по сути, не более чем набор (хорошо протестированных) библиотек кода для шаблонов, доступа к базе данных и многого другого.
Они созданы, чтобы облегчить и ускорить работу разработчиков. Как вы, наверное, знаете, эти «технари» работают с огромным количеством кода, чтобы создать целое приложение. Поэтому сбор и повторное использование одних и тех же библиотек, когда это необходимо, определенно имеет большой смысл. Конечно, для небольших проектов довольно часто приходится писать собственный код с нуля.
Однако для подавляющего большинства проектов эти фреймворки чрезвычайно полезны. Самым большим преимуществом фреймворка является тот факт, что он экономит много времени!
CMS, система управления контентом
Как вы знаете, мы большие поклонники CMS с открытым исходным кодом в Wiredelta ® . Причина, по которой системы управления контентом такие особенные, заключается в том, что они предоставляют огромное количество бесплатных тем, модулей и плагинов. Со всеми этими функциями кодирование с нуля больше не требуется. Вот почему разработка веб-сайтов и приложений с помощью CMS выполняется быстрее и проще.
Возьмем в качестве примера WordPress. Некоторые говорят, что, поскольку он не требует написания кода, а опирается на стандартные библиотеки тем и плагинов, вы не можете создать ничего, что решает конкретную задачу.
Посмотрим правде в глаза: WordPress имеет более 50 000 плагинов только для решения всевозможных конкретных задач. Еще одно впечатляющее число — 4000 доступных тем, позволяющих создавать собственные веб-сайты. Это все равно, что сказать, что все телефоны, будь то Android или iPhone, настроены одинаково. Это просто не соответствует действительности.
Мы работаем с WordPress, потому что он предлагает полноценные приложения, готовые к развертыванию. У нас не было бы больше тем, чем Wix, Weebly и Squarespace вместе взятых, если бы мы не работали с CMS с открытым исходным кодом, но создатели веб-сайтов, такие как Wix, Weebly и Squarespace, и закрытые ящики, и как разработчики мы должны работать с платформами с открытым исходным кодом.
Поскольку у каждой медали есть две стороны, следует учитывать и несколько недостатков. Для веб-разработчиков и разработчиков приложений может быть недостатком то, что вы полагаетесь на работу других людей. Кроме того, если вы хотите создать веб-сайт для действительно конкретной цели, CMS может быть плохой идеей. Они предназначены для общих целей, таких как блоги, интернет-магазины и другие популярные направления.
MVC, Контроллер представления модели
MVC — это платформа, которая объединяет логику контроллера с пользовательским интерфейсом (UI) — то, как мы взаимодействуем с приложением или веб-сайтом. Он популярен, когда речь идет о разработке веб-сайтов и приложений. MVC предоставляет разработчикам отличный набор библиотек. Позже они преобразуют их в пользовательские функции. Чтобы было легче понять: эти элементы необходимы для благополучия веб-сайта и приложения.
Model-View-Controller — основной способ структурирования приложения, поскольку он обеспечивает более простой обзор и управление приложением без ограничений. Причина, по которой это более сложная концепция, заключается в том, что она требует полного понимания языка программирования и того, как структурировать приложения. Кроме того, чтобы использовать контроллеры представления модели, нужно знать о различных библиотеках.
CMS и MVC
Подводя итог, MVC — отличная группа фреймворков, даже несмотря на то, что ее чрезвычайно сложно использовать непрофессионалам. Это требует довольно глубоких знаний в области программирования. С другой стороны, CMS — это скорее инструмент, создание веб-сайта с его помощью вообще не требует навыков программирования. Он также имеет большое разнообразие плагинов и тем, которые помогут вам в пути. Для малого и среднего бизнеса быстрая установка CMS гораздо важнее, чем динамичная, но более медленная установка MVC для выхода на рынок.
Трудно определить, какую группу фреймворков применять. Оба могут сэкономить огромное количество времени и денег в большинстве случаев. В Wiredelta ® мы решили использовать оба! Потому что, если бы мы работали только с одним или другим, вам пришлось бы тратить больше ресурсов на создание сайта.
Остается вопрос, использовать ли CMS или MVC в вашем конкретном случае. Использование CMS означает использование готового набора библиотек и изменение только нескольких соответствующих частей. Если вам нужно внести слишком много изменений в CMS, чтобы получить желаемые результаты, вам может понадобиться MVC.
На основании описания вашего проекта, в котором вы объясняете свои требования и идеи, Wiredelta уделяет особое внимание решению, какой группе фреймворков отдать предпочтение. Разработчики Wiredelta имеют квалификацию, чтобы найти наиболее выгодное решение для вас и вашей компании!
После выбора CMS или MVC трудности не закончились! Создание веб-сайта может быть очень сложным и разочаровывающим для новичков.
Вот почему мы создали чат-бота, который помогает создавать веб-сайты с использованием CMS с открытым исходным кодом, таких как WordPress, 24/7. Наш помощник по искусственному интеллекту с радостью ответит на вопросы и направит вас к любому инструменту, который вам нужен. С помощью ИИ создание веб-сайта не только быстрое и настраиваемое, но и простое!
Лучшие PHP MVC Frameworks в 2019 году
PHP, рекурсивная аббревиатура от PHP: препроцессор гипертекста, — это серверный язык сценариев для веб-разработки. Вопреки распространенному мнению, PHP не мертвый язык. На самом деле, в декабре 2018 года PHP был одним из самых популярных серверных языков программирования. Но зачем вам каркас?
Структура обычно представляет собой базовую концептуальную структуру. Это может быть связано с идеями или структурным каркасом. В веб-разработке фреймворк — это базовая платформа, на которой можно создавать веб-приложения, веб-службы и веб-сайты.
Среды веб-разработки очень полезны. Они экономят массу времени вашим разработчикам; поскольку они уменьшают производство повторяющихся кодов. На 2019 год мы составили список лучших фреймворков PHP, чтобы вы могли попробовать себя в инновационных современных проектах веб-разработки. Если вам нужны опытные разработчики PHP, мы также можем помочь с этим.
Список лучших фреймворков PHP MVC за 2019 год
Laravel
Популярным фреймворком PHP MVC, представленным в 2011 году, является Laravel. Основная цель фреймворка — уменьшить нагрузку на разработку, чтобы сделать ее более увлекательной и приятной. Философия Laravel очень хорошо подходит в основном веб-разработчикам миллениалов.
Laravel добился такого результата, упростив общие задачи, такие как аутентификация, маршрутизация, сеансы и кэширование. Это приятно даже без ущерба для функциональности, что делает его очень подходящим для новичков в PHP.
Основные характеристики
- Быстрая разработка приложений (RAD)
- Простой и элегантный синтаксис
- Привлекательные шаблоны без увеличения времени загрузки
- Большое сообщество и подробные учебные пособия для начинающих
CodeIgniter
CodeIgniter – один из старейших фреймворков PHP, детище Рика Эллиса в 2006 году. То, что он классический, не означает, что этот фреймворк устарел. Это означает только то, что CodeIgniter прошел через множество проб, ошибок и обновлений, которые сделали его фреймворком PHP MVC.
Кроме того, Codeigniter имеет подробную документацию и поддержку сообщества, что делает его большим преимуществом для веб-разработчиков в плане технической поддержки. Его главная сила заключается в скорости, которая конкурирует с другими фреймворками.
Основные характеристики
- Быстрота даже при работе с базами данных
- Хорошо документирована
- Встроенные функции и компоненты
Symfony
Запущенная в 2005 Точно так же его годы в отрасли получили все большую поддержку в сообществе. Он имеет различные обновления и обновления, чтобы лучше помочь вашим веб-разработчикам.
У Symfony есть преимущество перед другими фреймворками PHP MVC. Он создал довольно хорошую репутацию. Тем не менее, его расширенные функции могут затруднить обучение, если у вас есть начинающие или младшие веб-разработчики.
Основные характеристики
- Подходит для крупномасштабных корпоративных проектов
- Простота установки и настройки
- Повторно используемые компоненты и коды PHP
Функции Zend Framework
как наследование и интерфейсы. Кроме того, его другими функциями являются редактор перетаскивания, инструменты криптографического кодирования и инструменты мгновенной онлайн-отладки среди многих других.
Однако единственным недостатком Zend Framework являются его сложные компоненты. Это один из самых сложных PHP-фреймворков в списке.
Основные характеристики
- Предпочтительная среда для крупных ИТ-отделов и банков
- Поддерживает интерфейсные технологии, такие как HTML, CSS и JavaScript
CakePHP
CakePHP считается одной из самых простых сред для изучения . Создателям этого фреймворка удалось разработать концепцию CRUD: означает создание, чтение, обновление и удаление .
Ему уже десять лет, но он остается одним из самых популярных PHP-фреймворков. CakePHP помогает вашим разработчикам создавать визуально впечатляющие многофункциональные веб-сайты.
Основные характеристики
- Лучше всего подходит для коммерческих приложений
- Встроенная быстрая и гибкая функция создания шаблонов
FuelPHP
Модульная, расширяемая и гибкая, FuelPHP представляет собой полнофункциональную среду PHP. Эта платформа, запущенная в 2011 году, поддерживает MVC и его обновление HMVC (иерархический контроллер модели-представления).
В отличие от других фреймворков, FuelPHP уделяет большое внимание безопасности. Они создали безопасную и стабильную структуру для предотвращения атак VSS и CSRF. Команда фреймворка разработала утилиту под названием OIL , который может помочь ускорить разработку, повысить эффективность и помочь в тестировании и отладке.
Помимо своих мощных функций, FuelPHP также легковесен. Он также популярен благодаря собственной системе аутентификации и хорошей документации.
Основные характеристики
- Акцент на безопасность
- Невероятно легкий вес
- Помогает создавать комплексные веб-решения
Yii
Еще одна исключительная среда в этом списке. Произносится как «yee», этот термин означает «простой и эволюционный» на китайском языке.
Верный своему китайскому семантическому значению, Yii создан простым, быстрым и надежным. Он основан на концепции DRY (не повторяйтесь), чтобы помочь вашим веб-разработчикам в гибкой разработке.
Основная функция
- Хорошо подходит для крупномасштабной разработки веб-сайтов
- Может быть интегрирован с функциями AJAX и JQuery
- Идеально подходит для всех типов веб-приложений CMS, форумы и многое другое
Slim
Популярная микроплатформа, помогающая быстро создавать простые, но мощные веб-приложения и API.
Основные характеристики
- Простота в освоении
- Решение URL, шифрование сеансов и файлов cookie, HTTP-кэширование на стороне клиента
- Активное обслуживание и удобная документация Стили программирования C и C++. С момента его запуска в качестве C-расширения вашим веб-разработчикам не нужно будет изучать язык C.
Ищете быстрый сайт? Phalcon может быть идеальным для вас. Несмотря на то, что Phalcon полон хороших функций, в основном у него есть недостатки в исправлении ошибок.
Основные характеристики
- Улучшенное выполнение, скорость, управление активами, универсальный автозагрузчик, перевод, кэширование, безопасность и многое другое.
- Оптимизация производительности за счет эффективного использования памяти
PHPixie
PHPixie, представленная в 2012 году, реализует платформу проектирования HMVC. Одна из последних платформ в PHP, эта новая платформа по-прежнему набирает популярность и поддержку сообщества. Даже тогда он по-прежнему считается надежным для веб-разработки.
Основные характеристики
- Хорошо подходит для веб-сайтов социальных сетей, настраиваемых веб-приложений и служб разработки веб-приложений
- Стандартный ORM, проверка ввода, возможности авторизации, аутентификация и кэширование
Как выбрать лучший PHP Фреймворк MVC?
При выборе среды PHP MVC необходимо учитывать несколько моментов. В первую очередь убедитесь, что сервер базы данных поддерживает тип базы данных, а платформа должна иметь поддержку сообщества. Поэтому размер и популярность сообщества могут не иметь значения, пока доступна поддержка.
Кроме того, не выбирайте фреймворк без документации и руководства пользователя; вместо того, чтобы быть активом, это только добавит вам бремени. Самое главное, фреймворк должен использовать модель MVC или архитектуру Model-View-Controller.
Ищете веб-разработчиков?
Вы ищете квалифицированных разработчиков для дальнейшей оптимизации своего присутствия в Интернете? Не смотрите дальше.