|
|
|
|
#1 |
|
Участник
|
Не использую MVC. Какой из существующих веб фреймворков может этим похвастаться?
__________________
Удачи! |
|
|
|
|
#2 |
|
Участник
|
И ОРМ сделан наоборот не изменения в приложении отражаются в базе, а изменения в базе отражаются в приложении.
__________________
Удачи! |
|
|
|
|
#3 |
|
Banned
|
Цитата:
Большая часть типичных PHP программистов любит и может себе позволить эффективность и при этом имеет свободу выбора. И с учетом зрелости PHP и размера сообщества выбор должен быть большим. И кстати если свободный в выборе коллективный разум выбирает тот или иной "MVC"(многие условно MVC) фрэймворк то не может такое количество свободных людей и коллективов ошибаться в таком выборе. Не в выборе MVC, так как паттерн для Web очень спорный, а в выборе того или иного фрэймворка использующего в том или ином виде MVC или его подобие. То что нашел точно не-MVC: Gyroscope https://github.com/antradar/gyroscope Fusebox http://www.fusebox.org/ Цитата:
P.S. Кстати многие фрэймворки лишь поддерживают MVC и позволяют использовать их как библиотеку компонентов без следования MVC паттерну. Думаю что если разрабатывать свой фрэймворк то имеет смысл делать его именно MVC чтобы прочувствовать паттерн с чистого листа и щелкать существующие фрэймворки как орехи после этого. Последний раз редактировалось ax_mct; 13.01.2017 в 00:13. Причина: P.S. |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Короче в терминах аксапты. Открываете АОТ в разделе таблицы, там структура таблиц описана. Закрываете. Перенастраиваете коннект на другую базу с совершенно другими таблицами. Открываете АОТ заходите в раздел таблицы, а там совершенно другие таблицы с другими полями и все уже описано за вас и ничего менять не надо.
__________________
Удачи! |
|
|
|
|
#5 |
|
Участник
|
И весь фреймворк это всего лишь 30 килобайт кода. Меньше чем весит страница на которую вы сейчас смотрите.
__________________
Удачи! |
|
|
|
|
#6 |
|
Участник
|
Достойно уважения) Монетизировать как планируете свои труды?
|
|
|
|
|
#7 |
|
Участник
|
Сделаю сайт, найду пару-тройку буржуев, которым надо сделать простую учетную систему на хостинге и буду с этого жить. Английским владею не хуже русского, а цены у меня будут ниже индусовских.
В моей деревне много денег для жизни не надо так что стопицот ахулиардов денег меня не интересуют.
__________________
Удачи! |
|
|
|
| За это сообщение автора поблагодарили: Diman (1), ax_mct (2). | |
|
|
#8 |
|
Banned
|
Polar, вы озвучили бизнес-идею и концепцию нового фрэймворка на форуме профессиональных программистов бизнес-приложений. Обычно это делают за мнением опытных коллег, так чтобы все тряслось на прочность.
Данная тема - место где защищается смешной тезис что PHP это Грааль. Моя персона выражает мнение что высказанная вами бизнес-идея и описанный фрэйморк - не Граальны. При всем моем уважении к вам неизвестному и к тому что вы делаете. Цитата:
Сообщение от Polar
Изначально задача была сделать учетную систему для размещения на хостинге. Сейчас много разных сервисов Saas, которые стоят от 500 р в месяц. А хостинг стоит около 2000р в год. Например такой сервис как "Мой склад". Им пользуются всякие мелкие конторы и ИП. Вот если бы была учетная система, которую можно разместить на обычном хостинге, да еще ее можно было бы быстро и легко адаптировать под нужды бизнеса...
Цитата:
Сообщение от Polar
Сделаю сайт, найду пару-тройку буржуев, которым надо сделать простую учетную систему на хостинге и буду с этого жить. Английским владею не хуже русского, а цены у меня будут ниже индусовских.
В моей деревне много денег для жизни не надо так что стопицот ахулиардов денег меня не интересуют. |
|
|
|
|
#9 |
|
Участник
|
А по факту заходишь в АОТ раздел таблицы, а там всего лишь один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст.
А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном. В результате меньше кода, меньше ошибок, скорость больше, нагрузка меньше, больше эффекта за то же время.
__________________
Удачи! Последний раз редактировалось Polar; 13.01.2017 в 09:27. |
|
|
|
|
#10 |
|
NavAx
|
Цитата:
Тут вот какое дело. С ростом количества вазаимозависимых компонентов, вероятность сбоя системы растет экспоненциально. Именно поэтому на многих производтсвах такое истеричное онтошение к качеству. Всякие Six Sigma вводят и прочее. Это происходит из-за того что иногда систему не получается упростить и приходится наращивать надежность каждого из компонент. Но намеренно вводить в систему дополнительные зависимости, это значит гробить ее надежность прямо на старте. У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет.
__________________
Isn't it nice when things just work? |
|
|
|
|
#11 |
|
Участник
|
Цитата:
Сообщение от macklakov
Программистов что, совсем не учат теории надежности? Microsoft тоже эту подлянку себе регулярно устраивает.
Тут вот какое дело. С ростом количества вазаимозависимых компонентов, вероятность сбоя системы растет экспоненциально. Именно поэтому на многих производтсвах такое истеричное онтошение к качеству. Всякие Six Sigma вводят и прочее. Это происходит из-за того что иногда систему не получается упростить и приходится наращивать надежность каждого из компонент. Но намеренно вводить в систему дополнительные зависимости, это значит гробить ее надежность прямо на старте. У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет. Есть два подхода в создании систем. 1. Если в процессе что-то пошло не так, то программа падает и запускается снова. 2. Если что-то пошло не так, то боремся до последнего за живучесть системы и только потом падаем. Ты думаешь все системы написаны в стиле майкрософта? Всегда чуть что и синий экран? Прикинь так бы атомные станции строили? Дверью в подсобке не так хлопнул, и БАДАБУМ! Потом ждем период распада и строим новую станцию. )))
__________________
Удачи! |
|
|
|
|
#12 |
|
NavAx
|
Во времена когда я еще был электронщиком, мы так примерно и проектировали. Чуть что, реактор гасится. Там задача обратная стояла и логика обратная. Сбой любой из подсистем роняет стержни чтобы остановить реакцию.
__________________
Isn't it nice when things just work? |
|
|
|
|
#13 |
|
Участник
|
Цитата:
" У вас одна из баз сбойнет и все остальное встанет. Или соединение с одной из баз сбойнет." Это с фига ли у меня все остальное встанет? Я же не использую майкрософт, и компоненты сам пишу с нуля.
__________________
Удачи! |
|
|
|
|
#14 |
|
Участник
|
Цитата:
Сообщение от Polar
один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст. А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном.
![]() "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте"
|
|
|
|
|
#15 |
|
Участник
|
Цитата:
Сообщение от gl00mie
Закон Дырявых Абстракций приведет к тому, что надежность такой системы будет асимптотически стремиться к нулю, а жизнь людей в поддержке превратится в ад
![]() "Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" ![]()
__________________
Удачи! |
|
|
|
|
#16 |
|
Участник
|
Выходит, старые статьи плохи, и за 16 лет сложные абстракции перестали быть дырявыми?
Тот же TCP там приведен в качестве примера сложной дырявой абстракции. Если отойти от статьи, то из моего скромного опыта поддержки и развития распределенных систем, любая связка со "сторонними" базами данных - это потенциальная проблема с производительностью/доступностью/надежностью/масштабируемостью. Можно долго и упорно настраивать индексы в "своей" базе, переписывать запросы и алгоритмы для снижения длительности блокировок, но потом какой-нить "умник" в сторонней базе забудет выставить уровень изоляции в READ_COMMITTED_SNAPSHOT, и твой код повиснет намертво при банальном чтении данных внутри транзации, а вместе с этим в твоей системе вырастет развесистое дерево блокировок и всё встанет колом.PS. Хотя, конечно, в "песочнице" можно вообще, как 1С в свое время, использовать файловую БД и не париться - и так сойдет... Последний раз редактировалось gl00mie; 15.01.2017 в 12:10. |
|
|
|
|
#17 |
|
Banned
|
Цитата:
А если речь о desktop приложениях и OS то мы лезем в дебри и вообще непонятно о чем говорим. Цитата:
Сообщение от Polar
3-х звенную архитектуру знаешь? Что такое сервер приложений знаешь? Вот приложение это код на этом сервере.
Короче в терминах аксапты. Открываете АОТ в разделе таблицы, там структура таблиц описана. Закрываете. Перенастраиваете коннект на другую базу с совершенно другими таблицами. Открываете АОТ заходите в раздел таблицы, а там совершенно другие таблицы с другими полями и все уже описано за вас и ничего менять не надо. Цитата:
Сообщение от Polar
А по факту заходишь в АОТ раздел таблицы, а там всего лишь один единственный класс с названием Таблица. И какое название ему в конструктор передашь - такой класс он тебе и создаст.
А еще вторым параметром ему передаешь коннект из какого сервера и какой базы тебе эта таблица нужна (т.е. совсем на другой сервер и на другую базу). И уже импорт/экспорт не нужен, а всегда актуальные данные. Можно одни таблицы держать на одном сервере БД, а другие на другом. А еще можно будет сделать, что одни таблицы в MySQL, другие в MSSQL, третьи на Oracle, а код пишешь как-будто все в одном. В результате меньше кода, меньше ошибок, скорость больше, нагрузка меньше, больше эффекта за то же время. - какие проблемы это решает? - реальны ли эти проблемы? - можно ли решить эти проблемы по другому? - как данное усложнение помогает тебе реализовать твой бизнес-план? Граальность PHP в стартаповости но с использованием популярных велосипедов. Из Грааля надо пить, а не писать в него
|
|
|
|
|
#18 |
|
Участник
|
Цитата:
Сообщение от ax_mct
Скорее всего имеется в виду модель работы PHP и того же Apache когда каждый запрос (GET/POST из браузера) изолирован и его падение не затрагивает сервер и другие запросы. Это особенность устойчивости PHP и соотносится с stateless природой web-протоколов.
А если речь о desktop приложениях и OS то мы лезем в дебри и вообще непонятно о чем говорим. Представляешь не надо мне теперь описывать структуру каждой таблицы в коде и изменения можно теперь делать только в базе данных а не поддерживать в актуальном состоянии все эти Data Entity. Какое же это усложнение? Я с себя кучу тупой работы скинул.
__________________
Удачи! |
|
|
|
|
#19 |
|
Banned
|
Цитата:
Сообщение от Polar
Вот именно! Похоже Маклаков вообще не в теме построения вебприложений.
Представляешь не надо мне теперь описывать структуру каждой таблицы в коде и изменения можно теперь делать только в базе данных а не поддерживать в актуальном состоянии все эти Data Entity. Какое же это усложнение? Я с себя кучу тупой работы скинул. но их много разных для PHP, неужели нет ни одного подходящего? Я тупо не верю в разумность писать свой собственный ORM, если только не в учебных целях. Исхожу из того что если подобного в PHP не существует то этого и не нужно. Грааль он священен - из него надо пить то что в нем есть. http://rohithegde.github.io/php-orm-comparison/ Doctrine (DataMapper pattern) Propel (ActiveRecord pattern) Redbean (DataMapper pattern) Idiorm (ActiveRecord pattern but oriented towards Query Language) Paris (ActiveRecord pattern & dependent on Idiorm) Spot ORM (DataMapper pattern built on top of Doctrine DBAL) Outlet (DataMapper pattern) Xyster (DataMapper pattern) Leap (Kohana FW) Eloquent (Laravel FW) MicroMVC Gacela NotORM |
|
|
|
|
#20 |
|
Banned
|
Цитата:
К примеру Doctrine comes with a bunch of tools to help generate model classes from your existing database. http://symfony.com/doc/current/doctr...gineering.html //----- На предыдущие вопросы такие ответы? - какие проблемы это решает? Ответ: ускорение создания классов описывающих таблицы. Так? - реальны ли эти проблемы? Ответ: для некоторых программистов - да, для всех клиентов твоего бизнес-продукта - нет. Так? - можно ли решить эти проблемы по другому? Ответ: да. Проблема не уникальна, решения есть. Так? - как данное усложнение помогает тебе реализовать твой бизнес-план? Ответ: никак. Неоправданная трата времени на техническую реализацию ненужного. Так? ![]() А вообще правильное дело делаешь. Активная глупость бьет ленивый ум. Глупый умнеет, умный деградирует. По архитектуре вот это забавно если с английским хорошо. https://www.hakkalabs.co/articles/ro...ure-lost-years Удачи! Последний раз редактировалось ax_mct; 14.01.2017 в 02:10. |
|
|
|
| За это сообщение автора поблагодарили: gl00mie (2). | |
| Теги |
| php, граабль, хлеб своими руками |
|
|
|