Какая версия РНР мне больше подходит?

Я пишу скриптов немного, и до сего дня использовал РНР 5.6, причем процедурный вариант. Поскольку объектно-ориентированный стиль практически не знаю.

Вот задумал сделать сервис, и меня форумчане засрамили — утверждают, что пятая версия сильно устарела.

Я попробовал 7.4 и сразу столкнулся с проблемой — не удалось наладить вывод сообщений об ошибках. Перепробовал все, что нашел в сети — не работает. Хостер дал мне свой рецепт — тоже не работает. Сейчас ночь, и я полагаю, что хостер завтра решит эту проблему, но вопрос о другом, о более глобальном.

Есть какие-то ещё сюрпризы у версии 7.4 ?
Есть ли возможность с моими скромными навыками работы на 5.6 писать на 7.4, просто используя относящиеся к ней операторы? Нет ли там каких-то принципиально новых структурных новшеств, которые создадут мне проблемы?

А что можно сказать в этом плане про РНР 8.2 ?
У нее еще какая-нибудь специфика?

 

PHP 8.3 был выпущен 23 ноября 2023 года

 

Добрый день!

Целесообразно переходить на последнею стабильную версию PHP.
Тогда можно избежать лишних переделок.
На версии с 7.4 до 8.1 не стоит переходить т.к. поддержка версии 8.1 заканчивается 25.11.2024, а версии до 8.0 уже не поддерживаются.

Про сюрпризы миграции с версии 5.6.
Главный сюрприз в том, что начиная с версии 7.0 удалены все функции mysql.

Если у Вас есть пользовательские функции, в который могут при вызове не определятся все параметры,
то в этом случае будут возникать ошибки
Fatal error: Uncaught ArgumentCountError: Too few arguments to function , например

PHP:
  1. function myFunction($a, $b){
  2. if($b)
  3.   return $a + $b;
  4. else
  5.   return $a
  6. }
  7. echo myFunction($a); // Fatal error: Uncaught ArgumentCountError: Too few arguments to function

Обойти можно так

PHP:
  1. function myFunction($a, $b=null)

По мере «взросления» в PHP ужесточаются требования к типам данных и то, что раньше проходило, теперь приводит к фатальным ошибкам, например, если параметр при вызове функций count или foreach, не array,
или при попытке выполнение арифметических операций с переными тип которых, отличается от float или integer.

Посмотрите Summary of PHP Changes Versions 5.6 — 8.2
https://hdkb.clemson.edu/phpkb/article.php?id=2969

Вообщем, при миграции буду возникать ошибки, с которыми придётся бороться.
Удачи!

 

Вы меня реально испугали!
На самом деле, удалены только mysql, а MySQLi остался.

 

@Vladd55, если не в проде, всегда старайся использовать последнюю версию.

 

Если б я хотел Вас напугать, то так бы и написал, что удалены все функции mysqli.
Не пугайтесь и берегите себя!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *