Size: a a a

2021 July 28

SR

Sergey Romanenko in phpGeeks
источник

SR

Sergey Romanenko in phpGeeks
основная конечно разница в том что PHP-DI  по сравнению с Pimple - компилируемый… а у меня в проекте динамически формируются зависимости и у меня нет возможности предопределить все зависимости перед стартом движка. Короче надо подумать… либо на Пимпле остаться или посмотреть другие динамические варианты DI
источник

VM

Volodymyr Melko in phpGeeks
а можно пример таких зависимостей? не совсем понимаю почему нельзя определить зависимости сразу?
источник

SR

Sergey Romanenko in phpGeeks
у меня CMS, и плагины подключаются динамически как и зависимости. Я сейчас мигрирую проект свой с Slim3 на Slim4, вот и смотрю возможно ли мигрировать на компилированный вариант DI - для нового релиза

У меня сейчас так в текущей версии движка

Инциализируется Slim + Pimple (он идет в комплекте с Slim3)
https://github.com/flextype/flextype/blob/dev/src/flextype/flextype.php#L93

Далее идут подключение моих зависимостей движка в том числе и инциализация плагинов https://github.com/flextype/flextype/blob/dev/src/flextype/flextype.php#L443 которые приносят в движок и свои зависимости.

и лишь потом в конце выполняется “запуск” движка
https://github.com/flextype/flextype/blob/dev/src/flextype/flextype.php#L472 который выпонлняет SLIM3 метод run()
https://github.com/slimphp/Slim/blob/3.x/Slim/App.php#L291

Короче при варианте прекомпиляции зависимостей как PHP-DI мне надо уже знать что плагины как бы существуют в системе… а я про них не знаю так как они еще инициализированны

https://www.slimframework.com/docs/v4/concepts/di.html

может я немного запутался а может и нет, надо пересмотреть это еще раз
источник

П

Псих in phpGeeks
По вашим обсуждениям такое чувство буд-то на laravel вовсе проекты не делают
источник

F

Fedor in phpGeeks
Всем привет, знаю может тупо, но мне надо открыть файл найти в нем определенную функцию, изменить содержимое функции и сохранить файл. С открытием и сохранением проблем нет, важно отловить нужную функцию и изменить её содержимое.
Как это лучше сделать, я думаю регулярками, но как это лучше все провернуть?
Кто более опытнее подскажите пожалуйста
источник

VM

Volodymyr Melko in phpGeeks
а зачем тебе такое делать?
источник

F

Fedor in phpGeeks
Типо обновление сайта сделать, новые функции и возможности, я так понял, это знакомый херней страдает, я тоже в это ввязался
источник

VM

Volodymyr Melko in phpGeeks
все равно не понимаю в чем проблема...
ты деплоишь новый релиз
после деплоя кода запускаешь условный прогрев кеша, который соберет зависимости всех включенных плагинов и скомпилит тебе контейнер оО
источник

VM

Volodymyr Melko in phpGeeks
залей новый код вместо старого... зачем менять содержимое файлов?
источник

F

Fedor in phpGeeks
Не прокатит, обновление надо пускать массово, возможно свои доработки в файле были и чтобы не сбить предыдущие доработки людей, необходимо не перезаливать файл, а изменять текущий
источник

VM

Volodymyr Melko in phpGeeks
а если другой человек меняет туже самую функу что и ты? =)
источник

VM

Volodymyr Melko in phpGeeks
гуглите GIT и будет вам счастье =)
источник

F

Fedor in phpGeeks
Очень вряд ли такое будет, но не в этом суть, надо менять содержимое и все, в этом вопрос
источник

SR

Sergey Romanenko in phpGeeks
наверное ты меня не понял. когда я или человек кидает свой плагин в папочку project/plugins/ он автоматически подхватывается движком и он активный сразу, сразу со всеми зависимостями которые у него там прописаны для него внутри него.

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

Я не могу сделать потому что плагинов то много и они же диннамически добавляются в движок как в ВП например и тд.

Другой чувак тоже не будет, ибо это усложнит ему установку плагинов и тд. каждый раз пересобирая или прекомпилируя проект
источник

F

Fedor in phpGeeks
А что касается GIT так как массово на 100 сайтов установить новое обновление с гита и не нарушив предыдущие доделки клиентов(не в функции, а в файле)
источник

VM

Volodymyr Melko in phpGeeks
странные желания приносят странные решения
нужна регулярка, но вы задолбетесь ее фиксить
можно посмотреть в сторону AST
источник

VM

Volodymyr Melko in phpGeeks
все доделки идут через ГИТ
источник

VM

Volodymyr Melko in phpGeeks
это порочная схема кидать какие-либо файлы напрямую
есть же композер
пакуете свои плагины в композер пакеты, инсталите как зависимости

можно сделать какую-то веб-морду в админке, типа кидаешь линку на плагин и оно под капотом сделает тебе композер инстал и вот это вот все
и прогреет тебе все кеши и контейнер скомпилит
источник

EK

Evgeniy Kuvshinov in phpGeeks
компиляция не исключает подгрузки
источник