|
6 / 9 / 2
Регистрация: 26.07.2021
Сообщений: 48
|
|
Wrong MVC - система для быстрой web разработки и запуска сайтов31.03.2023, 05:34. Показов 6086. Ответов 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
|
|||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,719
|
|
| 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) Ищу команду для разработки сайтов Собираю команду для разработки сайтов Собираю команду для разработки сайтов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|