Реклама на сайте Advertise with us

Git - ведение 2х веток софта под разные версии php

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 12/01/19 в 14:13       Ответить с цитатойцитата 

Есть софт проект на php 5.6 на нём развёрнуто сотни рабочих сайтов. Прийдётся поддерживать ещё не один год в таком виде. На новых серврах есть необходимость разворачивать проект на php 7 с доработками под php 7 (различия коннектов к базам и т.д.)

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

Подскажите шаблон ведения подобного проекта в хотябы двух соответствующих ветках php5 и php7 ?
- Какую ветку вести как основную
- Как мерджить, чтоб не сливались те места, где заточка под разные версии, но корректно сливались багфиксы и фичи.
- С чем там ещё можно столкнуться?

0
 



С нами с 28.02.03
Сообщения: 8541
Рейтинг: 1609

Ссылка на сообщениеДобавлено: 16/01/19 в 11:12       Ответить с цитатойцитата 

Думаю тебе git не поможет.
Сливание веток это адовый пиздец! Особенно на большом проекте.

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


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

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



Vyacheslav писал:

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

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

Тогда со стороны скрипта абсолютно пох какая версия php

Сдам место в подписи. Предложения в личку.

1
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 16/01/19 в 11:58       Ответить с цитатойцитата 

Гит как раз для этого. Некоторые тянут проекты под разные версии окружения, разные релизы (старые с багфиксами и новые текущие), при этом ещё и добавляют ветки типа фич, в которых альфы и бэты..

1
 



С нами с 15.07.11
Сообщения: 3076
Рейтинг: 198

Ссылка на сообщениеДобавлено: 11/02/19 в 14:19       Ответить с цитатойцитата 

делаю примерно так.

основная ветка (допустим php 7)
и дополнительная ветка,
в ней патчи которые автоматически накладываются.
ещё нужны тесты и автоматический запуск phplint полюбасу.

1
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 11/02/19 в 21:51       Ответить с цитатойцитата 

Гит - это просто контроль версий.
Если в ветке А задействовал функцию, которой нет в B - то ничего не поможет.
А с пхп так и будет. Ты будешь вынужден писать в старом стиле, что бы код работал в обоих ветках.

Легче всего поднять несколько версий пхп и использовать их по необходимости.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 28/02/19 в 16:29       Ответить с цитатойцитата 

Vyacheslav писал:
На новых серврах есть необходимость разворачивать проект на php 7 с доработками под php 7 (различия коннектов к базам и т.д.)


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

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

вобщем переписать чтобы было одинаково на любой версии php

0
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 28/02/19 в 23:11       Ответить с цитатойцитата 

А эти прослойки разве не несут ограничения на способы работы с базой? Так же врядли они сопобствуют производительности.

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

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »