|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
|
Wrong MVC - система для быстрой web разработки и запуска сайтов31.03.2023, 05:34. Показов 6256. Ответов 76
Доброго времени суток коллеги!
Приглашаю тестировать, использовать, оставлять комментарии, идеи, пожелания. Качественный open source проект сделанный с любовью! Wrong MVC - это среда для WEB разработки, включающая в себя множество необходимых компонентов, систематизированных в единое пространство и иерархию. Это тот фундамент, позволяющий очень гибко создавать уникальные системы с функционалом действий и страниц, назначенным определенным группам пользователей. Это система для создания на её базе любых WEB проектов, от простейших лендингов в несколько страниц, до сложнейших с многоуровневым разграничением прав доступов и пользовательского функционала, групповыми политиками доступов к моделям функционала, готовым умным uri роутингом, собственной cron реализацией, визуализацией всех моделей и их удобным управлением. Это не Laravel в плане концепции MVC как таковых, и это не Wordpress в плане концепции сайтовых движков, это WRONG MVC! Система рассчитана на использование опытными Full-stack разработчиками, здесь реализованы все базовые нюансы, которые существенно упрощают и систематизируют разработку. Разобравшись в логике работы данной системы и её возможностях, вы гарантированно и навсегда забудете про php фреймворки или движки! Потому что сборка и реализация любых сложных проектов превратится в простое удовольствие. ПО "Wrong MVC" имеет открытый исходный код и распространяется под лицензией свободного ПО - Apache License 2.0. https://wrong-mvc.com/ - сайт проекта, с подробной документацией и описанием https://github.com/avtobys/wrong-mvc - проект на гитхаб https://gitlab.com/avtobys/wrong-mvc - проект на гитлаб Из того что "под капотом": - Визуально понятная система моделей и контроллеров - Неограниченная вложенность уровней доступа - Автоматический роутинг страниц и запросов - Настраиваемые шаблоны страниц и действий - Конструктор триггеров действий - Встроенный редактор кода с подсветкой и горячими клавишами - Управление группами доступа, пользователями и их функционалом - Умные стеки PHP - JavaScript кода - Модальные окна запрашиваемые автоматически из API по AJAX - Умная подгрузка js библиотек по мере их применения - API действий, выборок и модальных окон - X-Auth-Token авторизация в API - Копирование, экспорт, импорт моделей - Логгирование любых действий - Встроенные CRON задачи с выполнением от имени пользователей - Готовый gulp комбайн для вёрсток и кастомизации - Создание простых сайтов в пару кликов из готовых шаблонов - Автоматическая защита всех форм от CSRF - Бессрочная авторизация по COOKIE с криптованием UID - Hcaptcha по лимиту Brute force попыток - Oauth google + yandex авторизации - Backend: PDO MySQL + PHP - Frontend: Bootstrap v4.6.1 + JQuery - Установка в пару кликов
3
|
|
| 31.03.2023, 05:34 | |
|
Ответы с готовыми решениями:
76
Почему для активной разработки сайтов не используют C# под Web Объясните новичку в выборе среды разработки (C/c++) web-сайтов под linux IDE для быстрой разработки |
| 01.04.2023, 17:07 | ||
![]() тут надо еще понимать, что на грамотном проекте на бою на прямую ни кто ни когда файлы не правит. Я, например, как раз наоборот админкой практически не пользуюсь. Из таких дев задач, единственное что использую это консоль SQL команд. (лень пароли к базам на всех проектах запоминать)
0
|
||
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
||
| 02.04.2023, 01:21 [ТС] | ||
|
0
|
||
| 02.04.2023, 10:19 | ||||||
|
все же стоит продумать как обновляться. Я сейчас чтоб обновиться отменил все изменения. И теперь надо будет восстанавливать. конечно это все "делается". Но если речь о боевом сервере, то придется его на время обновлений закрывать.
По крайней мере в первую очередь сделайте поддержку .dev.local и сами добавьте этот файл в .gitignore. в общем надо продумать как иметь файлы проекта пользователя от файлов вашей среды разработки. Так же, а как изменения в БД производятся при обновлении? (если нет можно пока посмотреть на phinx) Добавлено через 30 минут Кстати, после обновления сайт не открывается. В логах
Версию хранить в .env как то не логично, на мой взгляд. это не одно и тоже, что настройки подключений и т.п.
0
|
||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 02.04.2023, 11:43 | |
|
0
|
|
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
||||
| 02.04.2023, 13:26 [ТС] | ||||
|
с нуля установка работает, автоматически её чекаю перед отправкой коммитов. Добавлено через 1 минуту pgb, "правильность" в нашей жизни вообще очень скучная и примитивная штука.
0
|
||||
| 02.04.2023, 14:16 | |||
Про композер понятно - но это еще один повод предусмотреть систему обновлений.Кроме того после запуска команды композера еще не все изменения требующиеся
![]() Понятно, что это мелочи, но тем не менее. Пробуйте рядом развернуть проект на котором вы типа "пользователь wrong mvc".... И оценивайте происходящее с его позиции... Кстати, это можно как раз оформить демо проектом, и опубликовать как вы его делали по шагам как в симфони быстрый старт. Это не учит полноценному владению симфой, но уже моно сделать небольшой сатик. Т.е. быстро вкатились - дальше уже изучаем тонкости по доке
0
|
|||
|
14747 / 9522 / 1364
Регистрация: 21.01.2016
Сообщений: 35,926
|
|
| 02.04.2023, 15:06 | |
|
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||
| 02.04.2023, 18:10 | ||
0
|
||
| 02.04.2023, 18:23 | |
|
0
|
|
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
|||||||
| 02.04.2023, 19:10 [ТС] | |||||||
|
Насчет кнопочек голосования что обсуждали выше, по ограничению функционала. Там будут ещё шаблоны с типом html и они будут точно так же иметь группы доступа. Вот кнопочки и остальные любые блоки, которые не всем должны быть доступны, можно будет помещать в шаблоны с ограниченными правами доступа. Схематично как то так будет встраиваться:
0
|
|||||||
| 02.04.2023, 19:24 | ||
|
На странице у меня есть две формы быстрого заказа, волею дизайнера они имеют разные шаблоны т.е. на странице будет Templates::html(777) Templates::html(778) Плюс еще endpoint принимающий ajax запрос этой заявки. А еще есть где то другая страница, где расширенная форма оформления заявки. В конечном итоге мы должны будем помнить что у нас относится к оформлению заявки и проставлять поотдельности права. Между тем, если бы у нас предоставлялись по функционалу (по модулям). Мы бы просто в одном месте открывали/закрывали. Конечно можно в шаблонах проверять права на доступ к эндпоинту отправки заявки. Но тогда у нас на хите (когда на странице две формы) будет 4 раза проверяться права. (если сделаете кеширование в рамках хита), то три. Если бы права по функционалу. Тогда (с кешированием в рамках хита) только одна проверка. (под проверкой я имею ввиду достать из базы это право) Кстати предвосхищая... Может и такая быть ситуация.... На странице два блока одного и того же (в футере и в боковой колонке например форма подписки) Templates::html(777) Templates::html(777) Этот шаблон подключает внутри себя (надеюсь это возможно) js и css файлы. И тут по хорошему надо бы, чтоб один и тот же файл не подключался в header.
1
|
||
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
|||
| 02.04.2023, 20:07 [ТС] | |||
|
Включаем в неё всех существующих пользователей(я добавлю такой функционал, в пользователях, чтобы можно было включать массово пользователей из определенных групп в другие группы и исключать). Всё. Отключаем группу "оформление заявок" - функционал не доступен. Точно также, сейчас например группе демо юзеров, доступно 147 моделей, я же не буду лазить и из каждой их исключать, я просто отключу группу и всё что доступно им в панели админки станет недоступно.
0
|
|||
| 03.04.2023, 12:42 | |
|
0
|
|
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
|
| 04.04.2023, 05:08 [ТС] | |
|
voral, как теперь вам крон реализация, ничего не зациклит?
![]() https://wrong-mvc.com/docs/cron.html Циклить будет, очень качественно, с настройкой потоков для каждой задачи, их поддержкой, контролем за потоками и нагрузкой на сервер. Сейчас настройки задачи из бд дергаются каждый раз, эт конечно плохо в плане множества подключений, особенно для многопоточности, хоть и короткие запросы, подключения закрываются сразу, но всё же. Следующим этапом уйду от этого пожалуй, записи задач будут кешироваться в фс, при выполнении дергаться оттуда и обновляться при изменениях только. И тогда будет вообще огонь по батареям) У меря работало пару десятков парсеров с контролем потоков/нагрузки по такому принципу, схема отработана и отлажена давно, переживать приходилось только чтобы доноры выдерживали нагрузки))) по нескольку млн. страниц в сутки скорости обработок - на ура залетало с хорошими прокси конечно.
0
|
|
| 04.04.2023, 09:50 | |||
|
Добавлено через 6 минут 1. По прежнему смущает что все через веб сервер.Почему бы для запуска из системного крона не реализовать отдельный контроллер. 2. Зачем exec. include не подойдет? Добавлено через 9 минут так же рекомендую в git другой порядок завести (вам же потом легче будет). Т.е. коммиты называть именно по выполненной задаче. тут рекомендую посмотреть вот это видео (да и вообще этот курс интересный) Версии указывать при помощи тегов А на github добавлять релизы в соответствующий раздел (имхо, вообще не каждый коммит является новым релизом )Добавлено через 1 час 55 минут В функции зарегистрированной register_shutdown_function идет добавление блоков html. Причем с гвоздями прибитыми стилями - это не очень правильно для универсального решения. Т.е. оформляете отдельным модулем/шаблоном/плагином кнопку "вернуться в аккаунт". И пусть разработчик где хочет там ее и вставит. При этом желательно, чтоб была возможность свой шаблон создать... Т.е, для примера, логика этого модуля решает показывать ее или нет (в вашем случае по анализу куки), если надо то подключает заданный шаблон. Hideout::hide - не очень, на мой взгляд хорошее решение. Вы предлагаете визуально скрывать блоки доступ к которым запрещен текущему пользователю. По идее он вообще такие блоки не должен получать.
1
|
|||
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
||||||
| 04.04.2023, 10:59 [ТС] | ||||||
|
0
|
||||||
| 04.04.2023, 11:17 | ||||
|
Ну, а если хотите гибкости: ну можно сделать и там и там на уровне настройки. И я уже буду сам решать будет ли это один кеширующий сервис или разные. в очередь другую задачу. вот и все - очередность гарантированна. Кстати, у вас там в крон стоит время работы скрипта 90сек.... некоторые задачи на проектах вполне себе минут по 10 -20 выполняются. ![]() PS Настоятельно рекомендую изучить PHPUnit и взять его на вооружение. Он вообще крайне полезен. Тем более для инструмента такого рода, тем более в стадии активной разработки.
0
|
||||
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
||||||||||||||||||||
| 04.04.2023, 13:20 [ТС] | ||||||||||||||||||||
0
|
||||||||||||||||||||
| 04.04.2023, 14:12 | ||||||
![]() По сути "запросы" из вне, хоть через консоль хоть через веб, получают контроллеры, по хорошему они должны быть тонкими - просто вызывать различные "сервисы" вашего проекта". А внутри этих сервисов нет необходимости знать как они вызваны - у них есть бизнес задача, которую они должны выполнить максимально эффективно. Ну тут, не приницпиально... если уверены что проблем не даст пусть так.... всему где то есть пределы.
0
|
||||||
|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
||||||
| 04.04.2023, 15:34 [ТС] | ||||||
|
минимум потоков - 1 максимум потоков - 1 максимум 1 гарантирует, что если задача выполняется, другому потоку будет отказано а если нужно держать её запущенной постоянно(ставить в очередь себя же после выполнения), ставим флаг держать потоки: да. Плюс к этому можно ставить не один поток, а тысячу. Надежно, проверено, осталось кешем уйти только от подключений к бд в каждом потоке.
0
|
||||||
| 04.04.2023, 15:34 | |
|
Софт для быстрой разработки страниц Поиск технического партнера в стартап - продукта для быстрой разработки проектной документации (Robodoc) Ищу команду для разработки сайтов Собираю команду для разработки сайтов Собираю команду для разработки сайтов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|