[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как вернуться?
Страницы: 1, 2, 3, 4, 5
twin
Цитата (Michael @ 1.07.2018 - 07:31)
Это все делается инверсией управления, твой старый yii1 правда DI не поддерживает, печалька

Не особо он и нужен на самом деле по большому счету. Тут в другом печаль, в самой архитектуре. Фреймворк используется в качестве библиотеки, он даже стоит не в vendor, а непосредственно в движке. Соответственно и используется в основном, как коробка с плюшками. Я про обновления молчу, его нет даже в composer.json Как поставили три года назад, так и стоит как часть движка.

О какой "чистой архитектуре" тут говоить...

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sergeiss
Николай, если надоел ПХП, то переходи на JavaScript user posted image

На нем можно и сервер сделать, и клиента. Я вот сейчас работаю с Нодой и Реактом. До кучи еще и с Монго ДБ. Красота!!! smile.gif Там, конечно, есть свои особенности и ограничения, как же без них. Но всё равно приятно с этим работать.

Кстати говоря, мой проект в МТС, написанный на ПХП с небольшим количеством "чистого" JS и большим количеством Постгреса, до сих пор работает и активно используется. Да, сейчас я бы многое по-другому сделал, это факт smile.gif Можно сказать, совсем по-другому бы сделал многие вещи. Но работает же, зараза! Уже больше 5 лет без вмешательства извне.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
Не надоел. Более того, мне это крайне интересно. На столько, что остальное воспринимается, как приложение. Но факт есть факт))

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Ron
Цитата (twin @ 1.07.2018 - 04:11)
Я уверен, что один дорогой программист стоит дешевле, чем пять дешевых плюс расходы на железо.

А лучше дорогие программисты, которые занимаются развитием проекта, а не крохоборством + расходы на железо. wink.gif

Цитата (twin @ 1.07.2018 - 04:11)
я бы сказал - остроумными

В смысле решения-Петросяны? Для меня качественная разработка измеряется не остроумием, а параметром BigO + хорошей архитектурой, которая позволяет работать с проектом, как с набором независимых подсистем. То, что код должен быть простым, конечно, да, совершенно согласен. Но вроде бы это жеж плохо, поскольку:
Цитата (twin @ 30.06.2018 - 04:03)
Теперь все больше ценится простота (не скорость даже, а именно простота) разработки и унификация, чтобы с работой могло справляться как можно больше неквалифицированного персонала.


А как это уживается в одном человеке?:
Цитата (twin @ 1.07.2018 - 04:11)
Но для таких как ты страшно, ибо требует ответственнсти и самодисциплины.

Цитата (twin @ 28.06.2018 - 23:21)
Уже почти неделю не могу себя заставить этим заниматься.

twin
Цитата (Ron @ 2.07.2018 - 05:06)
В смысле решения-Петросяны?
Ну если Петросян для тебя эталон остроумия, то о чем вообще говорить...
Цитата (Ron @ 2.07.2018 - 05:06)
То, что код должен быть простым, конечно, да, совершенно согласен. Но вроде бы это жеж плохо, поскольку:
Нет, потому что
Сделать сложно — очень просто, а сделать просто — очень сложно (с)
Цитата (Ron @ 2.07.2018 - 05:06)
А как это уживается в одном человеке?
Вот я себя и заставляю. А мог бы плюнуть и опустить руки.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Ron
Цитата (twin @ 2.07.2018 - 09:53)
Ну если Петросян для тебя эталон остроумия, то о чем вообще говорить...

Цитата
Грубость — остроумие дураков.
-- Андре Моруа


Нет, ну так а смеяться-то в какой момент над остроумными решениями? Там в комментах хоть есть, типа как в фильмах, когда включают закадровый смех? biggrin.gif

Arh
Santehnick
Цитата
Так и есть. От фреймворка потребуется только роутинг запросов. Эту задачу закрывают микрофреймворки.

Как то нужно было сделать небольшой проект, только API, которое возвращает только JSON.
Всего маршрутов получилось наверное меньше 50.
Я тогда думал на каком бы фреймворке сделать. Решил что фреймворк слишком жирно для API, даже шаблонизатор не нужен, всё JSON.

Решил делать на silex. Микрофреймворк, если что можно навернуть туда что то с симфони, короче идея норм.
А потом началось. Настройка роутинга так разрослась, что держать несколько тысяч строк в одном файле было нереально. Я потом не мог найти где какой маршрут.
Нужно было переделать это в более компактный формат, переделал в массив php, а потом циклом уже разбирал. Но всё равно получалась каша. Нужно было разносить настройки по модулям. Так и сделал.
Та же история с DI и обработчиками событий, которые ещё больше строк занимают чем роутинг.

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

В общем когда я закончил проект, я понял что микрофреймворки не имеют права на существование.
Они не предоставляют базовую архитектуру, просто набор библиотек, которые выбрали за тебя.
Мне при этом совершенно противен симфонивский Event Dispatcher, я лучше бы что то другое поставил.
То есть я бы взял роутер который мне нравится, DIC который мне нравится, и какой то observer, и это было бы прозрачней, легче и удобней чем предопределённый набор библиотек, которые Вася решил туда включить.

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

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 2.07.2018 - 08:17)
Если фреймворк не предоставляет базовый каркас, тогда он просто недолжен существовать.

Фреймворк не должен быть никаким каркасом, о том тут и речь. Фреймворк, это инфраструктура, внешняя оболочка. В идеале должно быть так, что можно совершенно безболезненно сменить фреймворк. А по сему в нем должен быть самый минимум. Роутинг, мидлвары, логирование, ну мож еще пару плюшек. Это и есть микрофреймворк. Все остальное - библитеки. Они должны быть самодостаточны и к фреймворку не иметь отношения. Иначе получается каша, как у меня на новой работе. Сегодня еще фишку узнал. Мало того, что фреймворк стоит как либа, так он еще бежалостно покоцан и переписан. Жуть.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Фреймворк не должен быть никаким каркасом, о том тут и речь.

Цитата
ре́ймворк (иногда фреймво́рк; англицизм, неологизм от framework — остов, каркас, структура)


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

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 2.07.2018 - 09:35)
Ты видимо не читал что я написал.

Это ты видимо не читал. Тут речь идет не о том, как оно есть априори. А о том, как должно быть в свете clean architecture дяди Боба.

А то, как привыкли использовать фреймворки, с точки зрения чистой архитектуры в корне неверно. Но все на столько привыкли, что даже в википедии фреймворк называют каркасом. Фреймворк, это инструмент инфраструктуры. Не нравится тебе silex, возьми slim. Или свой напиши. Важно то, что по хорошему фреймворк не должен содержать библиотек для приложения. И уж тем более не навязывать их принудительно.

Santehnick правильно написал - фреймворк в систему нужно ставить последним. А его ставят первым, и активно юзают всяческие его плюшки типа AR, DAO, DIC и даже целые регистрации. smile.gif
При этом проект получается намертво привязан к фреймворку. Со всеми вытекающими.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Но все на столько привыкли, что даже в википедии фреймворк называют каркасом.

Это просто так слово переводится. Потому что она так запланировано изначально. Ещё часто встречаю слово "скелет". Просто такая идея для быстрого старта разработки.

Цитата
Тут речь идет не о том, как оно есть априори. А о том, как должно быть в свете clean architecture дяди Боба.
Важно то, что по хорошему фреймворк не должен содержать библиотек для приложения. И уж тем более не навязывать их принудительно.

Цитата
Не нравится тебе silex, возьми slim.

silex/slim это как раз тупо набор библиотек для приложения.

Я о том и говорю что фремворк должен предоставить окружение для управления приложениями, а нужные мне библиотеки можно самому натащить.
Другими словами фреймворк должен предоставить каркас, куда я свои готовые приложения понавешаю (фреймворк в систему нужно ставить последним).

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

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 2.07.2018 - 11:08)
silex/slim это как раз тупо набор библиотек для приложения.
Нет, не для приложения, а для инфраструктуры. Вот Slim возьми, там роутер, мидлвары, PSR-7 и контейнер. Всё. Ничего больше нет. Какой хлам? Если тебе не нравится такой роутер, дак и не трогай фреймворк, там кроме него толком и нет ничего. Контейнер они используют для PSR-7, ну и раз уж он есть, то и интерфейс есть. Не нравится - юзай свой.

Вот только даже они отличились, мидлвары у них не по PSR, так что не поставишь его последним, если не писать по стандарту Slim.

А такие фреймворки, как Ларавел или тот же преславутый Yii, вообще с первой же минуты навязывают свой синтаксис, свои стандарты и свои библиотеки. И посему его ставят первым и начинают писать с него.

И каждый раз, как такое происходит, где то плачет один дядя Боб. smile.gif

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Вот только даже они отличились, мидлвары у них не по PSR, так что не поставишь его последним, если не писать по стандарту Slim.

А если бы было по PSR нужно было бы сказать, "что не поставишь его последним, если не писать по стандарту PSR".
Да и вообще получается что зависеть будешь всегда. Либо от своего набора библиотек/интерфейсов, либо от набора библиотек/интерфейсов Васи.

Цитата
Вот Slim возьми, там роутер, мидлвары, PSR-7 и контейнер. Всё. Ничего больше нет.

А смысл тогда? Может мне psr нравится, и контейнер нравится а роутер не нравится, зачем тогда ставить Slim, когда можно отдельно поставить psr, отдельно контейнер, а вместо роутера поставить что то своё. Ну не вижу я смысла в микрофреймворках. Ладно, не суть. Просто просто выразил альтернативную точку зрения)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 2.07.2018 - 12:31)
А если бы было по PSR нужно было бы сказать, "что не поставишь его последним, если не писать по стандарту PSR".

Так PSR и придуман для стандартизации фреймворков.
Цитата (Arh @ 2.07.2018 - 12:31)
Может мне psr нравится, и контейнер нравится а роутер не нравится, зачем тогда ставить Slim, когда можно отдельно поставить psr, отдельно контейнер, а вместо роутера поставить что то своё.
Ну тебе не нравится, ты и не трогай его. Ставь свое. А кому то нравится и вполне устраивает. На всех не угодишь, но у него полно приверженцев.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
Цитата
Так PSR и придуман для стандартизации фреймворков.

А ларавел и его приверженцы могут считать что ларавел это стандарт, а все остальные должны на него равняться. И тоже будут правы.

Цитата
но у него полно приверженцев.

Это и странно.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.