нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 12/01/19 в 14:13 |
Есть софт проект на php 5.6 на нём развёрнуто сотни рабочих сайтов. Прийдётся поддерживать ещё не один год в таком виде. На новых серврах есть необходимость разворачивать проект на php 7 с доработками под php 7 (различия коннектов к базам и т.д.)
Фичи и фиксы практически ежедневны. Попытки переносить код не увенчались успехом.
Подскажите шаблон ведения подобного проекта в хотябы двух соответствующих ветках php5 и php7 ?
- Какую ветку вести как основную
- Как мерджить, чтоб не сливались те места, где заточка под разные версии, но корректно сливались багфиксы и фичи.
- С чем там ещё можно столкнуться?
|
|
|
|
С нами с 28.02.03
Сообщения: 8544
Рейтинг: 1609
|
Добавлено: 16/01/19 в 11:12 |
Думаю тебе git не поможет.
Сливание веток это адовый пиздец! Особенно на большом проекте.
Да и у самых конченых хостреров, нормально живут несколько версий PHP
Я бы за бесплатно, помог клиентам докатить до php7, чем ебатся с поддержкой двух версий
https://www.netangels.ru/support/hosting-howto/multiple-php/
можно к примеру так
Vyacheslav писал: |
с доработками под php 7 (различия коннектов к базам и т.д.) |
Но если очень свербит.
Я бы к примеру пилил функцию работы с базой
А внутри нее делал бы ветвление по версии php.
Тогда со стороны скрипта абсолютно пох какая версия php
|
|
Сдам место в подписи. Предложения в личку.
|
1
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 16/01/19 в 11:58 |
Гит как раз для этого. Некоторые тянут проекты под разные версии окружения, разные релизы (старые с багфиксами и новые текущие), при этом ещё и добавляют ветки типа фич, в которых альфы и бэты..
|
|
|
|
С нами с 15.07.11
Сообщения: 3090
Рейтинг: 198
|
Добавлено: 11/02/19 в 14:19 |
делаю примерно так.
основная ветка (допустим php 7)
и дополнительная ветка,
в ней патчи которые автоматически накладываются.
ещё нужны тесты и автоматический запуск phplint полюбасу.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 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
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 28/02/19 в 23:11 |
А эти прослойки разве не несут ограничения на способы работы с базой? Так же врядли они сопобствуют производительности.
В драйвере MondoDB поменялся не только коннект, а половина методов.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |