Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Git - ведение 2х веток софта под разные версии php
цитата
12/01/19 в 14:13
 Vyacheslav
Есть софт проект на php 5.6 на нём развёрнуто сотни рабочих сайтов. Прийдётся поддерживать ещё не один год в таком виде. На новых серврах есть необходимость разворачивать проект на php 7 с доработками под php 7 (различия коннектов к базам и т.д.)

Фичи и фиксы практически ежедневны. Попытки переносить код не увенчались успехом.

Подскажите шаблон ведения подобного проекта в хотябы двух соответствующих ветках php5 и php7 ?
- Какую ветку вести как основную
- Как мерджить, чтоб не сливались те места, где заточка под разные версии, но корректно сливались багфиксы и фичи.
- С чем там ещё можно столкнуться?
цитата
16/01/19 в 11:12
 Alexs
Думаю тебе git не поможет.
Сливание веток это адовый пиздец! Особенно на большом проекте.

Да и у самых конченых хостреров, нормально живут несколько версий PHP icon_cool.gif


Я бы за бесплатно, помог клиентам докатить до php7, чем ебатся с поддержкой двух версий

https://www.netangels.ru/support/hosting-howto/multiple-php/
можно к примеру так



Vyacheslav писал:

с доработками под php 7 (различия коннектов к базам и т.д.)

Но если очень свербит.
Я бы к примеру пилил функцию работы с базой
А внутри нее делал бы ветвление по версии php.

Тогда со стороны скрипта абсолютно пох какая версия php
цитата
16/01/19 в 11:58
 Vyacheslav
Гит как раз для этого. Некоторые тянут проекты под разные версии окружения, разные релизы (старые с багфиксами и новые текущие), при этом ещё и добавляют ветки типа фич, в которых альфы и бэты..
цитата
11/02/19 в 14:19
 uname_
делаю примерно так.

основная ветка (допустим php 7)
и дополнительная ветка,
в ней патчи которые автоматически накладываются.
ещё нужны тесты и автоматический запуск phplint полюбасу.
цитата
11/02/19 в 21:51
 Stek
Гит - это просто контроль версий.
Если в ветке А задействовал функцию, которой нет в B - то ничего не поможет.
А с пхп так и будет. Ты будешь вынужден писать в старом стиле, что бы код работал в обоих ветках.

Легче всего поднять несколько версий пхп и использовать их по необходимости.
цитата
28/02/19 в 16:29
 rickdeckard
Vyacheslav писал:
На новых серврах есть необходимость разворачивать проект на php 7 с доработками под php 7 (различия коннектов к базам и т.д.)


держать две ветки только лшиь из за различий коннектора БД это расточительсво - обычно это выносят в слой абстракции

взять например https://packagist.org/packages/paragonie/easydb#v2.6.0
или самому реализовать унифицированное api

вобщем переписать чтобы было одинаково на любой версии php
цитата
28/02/19 в 23:11
 Vyacheslav
А эти прослойки разве не несут ограничения на способы работы с базой? Так же врядли они сопобствуют производительности.

В драйвере MondoDB поменялся не только коннект, а половина методов.


Эта страница в полной версии