Как обновить версию PHP для всего проекта

Думаю, вам когда-нибудь придется обновить версию php для всего проекта, будь он на старом не поддерживаемом фрейемворке или на популярном Laravel или Symfony. Вы, конечно же, можете вручную пройтись по всем файлам проекта и отсмотреть какие части кода требуется изменить или переписать. Но это будет довольно долго и не эффективно, ведь надо знать все deprecated функции, переменные и прочее.

Я советую вам воспользоваться уже готовыми методами: использовать этого специальный пакет PHP CodeSniffer и пройтись с ним по проекту или (вариант похуже) воспользоваться статическим анализатором (например, psalm) с параметрами проверки PHP версии.

Читать далее
Рубрика: Web | Оставить комментарий

Что такое PHP OPcache и зачем он нужен

PHP OPcache — это расширение для PHP, которое кэширует скомпилированный байт-код PHP-скриптов в оперативной памяти, чтобы уменьшить нагрузку на процессор и ускорить выполнение кода.

Читать далее
Рубрика: Web | Метки: | Оставить комментарий

Производительность в RPS: Java vs PHP

Если рассматривать производительность в терминах RPS (Requests Per Second), то Java Spring Boot обычно выдерживает больше запросов в секунду, чем PHP Laravel, благодаря следующим причинам:

1. Производительность JVM vs PHP

  • Java использует JVM (Java Virtual Machine), которая компилирует код в байт-код, выполняемый JIT-компилятором. Это позволяет Java-приложениям работать быстрее при длительном запуске, так как JIT-оптимизация ускоряет выполнение.
  • PHP интерпретируемый язык, хотя OPcache ускоряет его работу, но всё равно PHP-приложения работают медленнее, чем Java.
Читать далее
Рубрика: Web | Метки: , , , | Оставить комментарий

Java vs PHP безопасность

Java считается более безопасным, чем PHP, по нескольким причинам, связанным с архитектурой, механизмами исполнения и встроенными защитными механизмами. Рассмотрим ключевые технические аспекты:

1. Механизм исполнения и изоляция кода

  • Java: Код выполняется в виртуальной машине (JVM), которая обеспечивает песочницу (sandbox), контролируя доступ к ресурсам системы. Это предотвращает выполнение вредоносного кода и снижает вероятность атак типа RCE (Remote Code Execution).
  • PHP: Исполняется интерпретатором в окружении веб-сервера, часто в виде модулей (например, mod_php для Apache, php-fpm). Отсутствие встроенной изоляции делает его более уязвимым к атакам через исполняемые файлы.
Читать далее
Рубрика: Web | Оставить комментарий

Императивное и декларативное программирование

Императивный подход — это стиль программирования, при котором вы описываете, как добиться желаемого результата. Например, при переборе в цикле вы ищете определенное значение и работаете как-то далее с данными — вы прям конкретно описываете что нужно делать. Примеры языков: C, C++, Java.

Декларативный подход — описывает результат, которого необходимо достичь, при этом без указания шагов, необходимых для его получения. Другими словами, вы сразу указываете то что вам нужно. Например, при запросе SQL вы указываете что конкретно вам нужно, а СУБД уже сама разберется как предоставить вам этот результат. Примеры языков: SQL, HTML.

Рубрика: Основы | Метки: , , | Оставить комментарий