mvc и сессии к БД

Ну вот и костыль )
Чтобы не портить уже существующие контейнеры с довольно сложными Dockerfile и т.д.:
Код:
docker run --rm -v $(pwd):/app composer install
Это поднимает контейнер и в текущей папке запускает composer без влияния на другие контейнеры )
После своей работы контейнер с composer удаляется автоматически. Удобно )

Люблю современные технологии, сидишь и придумываешь костыли...
 
Посмотрел я на laravel... Чёт жуть...
composer, nodejs, сам laravel из консоли кучу чего вызывает...

А главное зачем...

composer - скачать и распаковать zip архив, всё...
nodejs скопировать css и пройтись gzip

Они серьёзно?

Да и тянуть на прод всю эту мишуру для разработки - зачем? Собрал маленький zip, закинул в папку и всё работает... Нет, тут без ssh ещё надо постараться )
Переборщили они как-то...

Не переборщили. Например есть такая штука как автоматическое тестирование. Фреймворк предоставляет базу для оборачивания котнроллеров/моделей/логики в тесты. Самописный маленький говнокод - нет. В этом и вся разница. Не нужно - не юзаем.
Никто не заставляет.


borodatych, ты понимаешь, тут вопрос в накладных расходах и смежных технологиях...
Мне дико понравилось использовать Docker для тестового стенда. Поднял себе контейнеры с нужными версиями PHP, MariaDB и т.д. Удобно обновлять и т.д.
Но приходим к laravel, а там ssh надо... SSH в контейнер - ну такое... А пересобирать контейнер после каждого измерения тоже не хочется.
Ну и начинаешь костыли...
а для чего нужно пересобирать контейнер после каждого изменения кода?
достаточно директорию с исходниками смонтировать как volume
дергать через docker шелл-команды контейнера это нормально

И примерно так же с тем же composer,.. Есть у тебя проект без ООП и прочих плюшек. Хочешь ты отчётик сделать в EXCEL через готовый класс и начинается... Ставится только через composer, подключается через бутстрап...
Опять костыли... Либо всё это впихивать в свой проект, либо класс переделывать под стандартный incluede... А потом что-то из этого обновилось... Ну пляяя, опять по новой...
Так а что здесь такого страшного? Лочишь версию нужной библиотеки, не делаешь composer update никогда.
Только require/install. Какие проблемы? В проект впихивается только composer.json / composer.lock, а не весь vendor


Вот именно это всё и раздражает )
Пожалуйста, делайте поддержку composer, бутстрапов и прочего добра. Кому-то это удобно. У меня был проект с composer и было вполне удобно.
Но в PHP мне кажется нужно оставлять обратную совместимость для тех, кому всё это не нужно.
Тем более, что это не полноценные инсталяторы, которые распихивают по ОС кучу всего, пишут в реестры, создают конфиги.
Тот же composer можно было бы сделать не бинарником (условноым, конечно, но всё же), а просто скриптом, который можно и через web дёрнуть.

Это очень дурной тон дергать через web подобные утилиты. Веб версия может тупо отвалиться по таймауту max_execution_time. Зачем все это дергать через веб? Веб нужен для быстрой отдачи контента за минимальное время, а не на рисование красивого лоадера во время выполнения ресурсоемкой операции :) Такие утилиты и должны быть исключительно консольными.

Тот же у laravel не запомнил как утилита называется - она ж на php сделана, ну зачем её из консоли дёргать - сделайте через web...
artisan
та же причина что и с композером))) допустим делается миграция БД - добавляется индекс в какуюто жуткую таблицу. база раздутая, запрос будет выполняться час))) скрипт тупо отвалится по max_execution_time и прощай апдейт базы?)))

Ну вот и костыль )
Чтобы не портить уже существующие контейнеры с довольно сложными Dockerfile и т.д.:
Код:
docker run --rm -v $(pwd):/app composer install
Это поднимает контейнер и в текущей папке запускает composer без влияния на другие контейнеры )
После своей работы контейнер с composer удаляется автоматически. Удобно )

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

Зачем такое извращение?
На крайняк запихните composer.phar в директорию с проектом и через docker exec выполните php composer.phar install для контейнера с PHP
Не нужно поднимать для этого отдельный контейнер :)

Люблю современные технологии, сидишь и придумываешь костыли...
Нужно просто научиться их готовить ;)

Используйте Инъекцию Зависимостей - вызывать зависимость напрямую в объекте это устаревший способ с кучей нюансов.
О господи! Зачем это советовать человеку, плавающему в базовых вопросах?
Это как посадить сразу за спорткар человека, не сидевшего за рулем гражданской машины

Вы можете использовать ORM из ларавео без самого фреймворка.
Для просмотра ссылки Войди или Зарегистрируйся
Для того, чтобы не открывались новые соединения к БД, у большинства орм есть параметр persistent connect.
Не вводите человека в заблуждение. Persistent connect к базе это совсем о другом.
 
Последнее редактирование:
Попробуйте использовать eloquent или doctrine
 
Используйте паттерн Singletone, вот пример реализации на php Для просмотра ссылки Войди или Зарегистрируйся
В Этом случае у вас будет всего 1 коннект к базе
 
Назад
Сверху