Задачи и тесты по программированию | proghub
2.43K subscribers
656 photos
16 videos
23 files
916 links
Публикуем задачи и вопросы для подготовки к собесу.

Сотрудничество: @cyberJohnny
加入频道
 #tests #php

https://proghub.ru/q/93bd84

Что выведет следующий код?

▪️ "bar"

▫️ ошибку о том, что функция не обьявлена

▪️ ошибку о том, что нельзя обьявлять функцию внутри условного оператора
🔠 Можно выбрать несколько вариантов
Как работает PHP

Мы на апи proghub.ru используем PHP, думаю многие из наших подписчиков так-же пишут на нем. Для вас публикуем короткий пост о том как обрабатывается входящий запрос.

Сервер принимает запрос, компилирует его в байт-код, который в свою очередь поступает на исполнение виртуальной машине. Виртуальная машина, исполняя байт-код, может вызывать и другие PHP-файлы, которые опять перекомпилируются в байт-код и опять исполняются.

По завершению выполнения запроса вся информация, которая к нему относится, включая байт-код, удаляется из памяти. То есть каждый PHP-скрипт должен быть скомпилирован на каждом запросе заново. Разумеется, JIT-компиляцию в такую схему встроить просто невозможно, потому что компилятор должен быть очень быстрым.

Но скорее всего никто не использует PHP в голом виде, все его используют с OPcache. Если соберем 100 👍 то опубликуем следующую часть.

#backend #php #api
Как работает PHP 2: OPcache

Продолжаем тему о работе движка php и сегодня поговорим про OPcache.

Главная задача OPcache — избавиться от перекомпиляции скриптов на каждом запросе. Он встраивается в специально предназначенную для него точку, перехватывает все запросы на компиляцию и кэширует скомпилированный байт-код в shared memory.

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

#backend #php #api
Недавно вышла новая версия php 7.4 и мы подготовили для вас краткое описание обновления и новых фич.

#php #backend
​​[PHP] Что будет на экране в результате выполнения данного кода?
#tests #php