PHP require и require_once — Pi My Life Up
В этом руководстве я расскажу, как и когда использовать require и require_once в PHP.
Скорее всего, вы столкнетесь с require
и require_once
в PHP-скриптах. Эти два ключевых слова примерно одинаковы, но между ними есть ключевое различие.
Когда вы используете require
, PHP будет включать указанный файл при каждом вызове. Для сравнения, require_once
включит указанный файл один раз и проигнорирует его, если он снова упоминается в том же скрипте.
Если сценарий не является обязательным для запуска сценария , вместо этого следует рассмотреть возможность использования include или include_once. Использование include вызовет предупреждение только в том случае, если запрошенный файл не существует. Если вам нужно, чтобы сценарий не работал, если файл не существует, require
или require_once
— идеальный выбор.
Файлы запрашиваются на основе пути, указанного в операторе. Если пути нет, он попытается использовать include_path 9.0006, указанный в файле конфигурации PHP. Наконец, PHP проверит каталог скрипта и текущий рабочий каталог как последнюю попытку. Если PHP не может найти файл в указанных выше местах, произойдет сбой и будет выдана ошибка.
Для require
или require_once
PHP вызовет фатальную ошибку, если указанный файл не существует. Фатальная ошибка остановит выполнение скрипта, препятствуя выполнению кода. Поэтому использование require идеально, если вы включаете файлы, необходимые для выполнения скрипта.
Использование инструкции require определяет область видимости переменной. Например, при использовании require внутри функции переменные файла будут доступны только внутри функции.
Когда использовать require
Вы захотите использовать require
всякий раз, когда вам может понадобиться включить сценарий несколько раз в ваш код. Например, могут быть случаи, когда вам нужны определенные переменные или выходные данные в разных местах.
Если вы хотите избежать проблем с дублированием и не хотите, чтобы файл включался несколько раз, вы можете использовать require_once. 9Оператор 0005 require_once гарантирует, что файл будет включен в один и тот же скрипт только один раз.
В приведенном ниже примере показано, как ведет себя require, когда вы используете его в двух разных местах.
Файл ниже называется index.php
и требует другого файла с именем fruit.php
.
Ниже приведено содержимое файла fruit.php
, необходимого для запуска приведенного выше кода. Файл fruit.php
должен находиться в том же каталоге, что и файл 9.0005 index.php .
Когда вы запускаете файл index.php
, вы должны получить результат, точно такой же, как в нашем примере ниже. Вы можете видеть, что наш файл fruit.php
выводится дважды.
Когда использовать require_once
Когда вы используете require_once
, PHP будет включать запрошенный файл только один раз во весь сценарий. Поэтому использование require_once чрезвычайно важно, если вы хотите избежать проблем с дублированием, случайным переназначением переменных, переопределением функций и многим другим.
Вы должны использовать require_once
, если вам не нужно, чтобы содержимое файла включалось несколько раз. Это также полезно, если вы работаете над сценарием и не уверены, что файл уже был включен, и вы не хотите, чтобы он был включен дважды.
Приведенный ниже код относится к нашему файлу index.php
, где мы используем require_once
дважды, чтобы включить файл fruit.php
. В этом примере показано, как require_once
ведет себя при использовании в одном скрипте.
Ниже находится наш файл fruit.php
, расположенный в том же каталоге, что и файл index.php
.
Вывод файла index.php
должен дать что-то похожее на наш пример ниже. Как видите, второй require_once
не вывел наш файл fruit. php
, так как мы уже подключили его ранее.
Использование Require с отсутствующим файлом
Использование require с несуществующим файлом приведет к фатальной ошибке. В нашем примере ниже у нас есть настройка, аналогичная приведенным выше примерам, но с ошибкой в нашем первом файле.
В приведенном ниже примере показано, что PHP выдал фатальную ошибку и остановил дальнейшее выполнение скрипта. Вы можете использовать эти выходные данные для дальнейшей диагностики проблемы, если это необходимо.
Заключение
Я надеюсь, что теперь у вас есть хорошее представление о том, когда использовать require
или require_once
в вашем PHP-коде. Оба невероятно удобны для включения важных файлов в ваш скрипт. Я также рекомендую обратить внимание на include или include_once, если вы хотите включить файлы, которые не важны для вашего скрипта.
Мы всегда добавляем больше руководств по PHP, так что обязательно ознакомьтесь с ними, если хотите узнать больше о кодировании на PHP.
Если вы считаете, что мы можем улучшить это руководство, не стесняйтесь оставлять комментарии внизу этой страницы.
Системные требования | Руководство разработчика Adobe Commerce
Если вы работаете над проектом Adobe Commerce в облачной инфраструктуре, см. Версии службы в Cloud Guide .
В этой таблице показаны версии зависимостей стороннего программного обеспечения, которые Adobe протестировала с определенными выпусками Adobe Commerce и Magento с открытым исходным кодом. Adobe поддерживает только сочетание системных требований, описанных в следующей таблице.
Например, версия 2.4.3 полностью протестирована с MariaDB 10.4. Adobe рекомендует обновиться до MariaDB 10.4 перед обновлением до 2.4.3.
Программные зависимости | 2.3.7-п4 | 2.3.7-p3 | 2.3.7 | 2.3.6 | 2.3.5 | 2. 3.4 | 2.3.3 | 2.3.2 | 2.3.1 | 2.3.0 |
---|---|---|---|---|---|---|---|---|---|---|
Композитор | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Эластичный поиск | 7.16 | 7.16 | 7,9 | 7. 7 | 7.6 | 5, 6 | 5, 6 | 5, 6 | 2, 5 | |
Открытый поиск | 1,2 | 1,2 | — | — | — | — | — | — | — | |
МарияДБ | 10. 3 | 10.3 | 10.3 | 10.2 | 10.1, 10.2 | 10.1, 10.2 | 10.1, 10.2 | 10.1, 10.2 | 10.1, 10.2 | 10.1, 10.2 |
MySQL | 5.7 | 5.7 | 5.7 | 5.7 | 5.6, 5.7 | 5. 6, 5.7 | 5.6, 5.7 | 5.6, 5.7 | 5.6, 5.7 | |
PHP | 7.4 | 7.4 | 7.4 | 7.3 | 7.2, 7.3 | 7.2, 7.3 | 7.1, 7.2, 7.3 | 7.1, 7.2 | 7.1, 7.2 | |
RabbitMQ | 3,8 | 3,8 | 3,8 | 3,8 | 3,8 | 3. 7, 3.8 | 2.х, 3.7 | 2.х, 3.7 | 2.х, 3.7 | 2.х, 3.7 |
Редис | 6,0 | 6,0 | 6,0 | 5,0 | 5,0 | 5,0 | 5,0 | 5,0 | 5 | |
Лак | 6,5 | 6,5 | 6,5 | 6. 4 | 6.3 | 4, 5, 6.2 | 6.2 | 4, 5 | 4, 5 | 4, 5 |
Апач | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 | 2,4 |
нгинкс | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 | 1,18 |
В этом разделе описывается поддержка и совместимость для всех других типов обязательного и дополнительного программного обеспечения.
Все следующие требования относятся к последней версии исправлений Magento 2.3.
Почтовый сервер
Агент пересылки почты (MTA) или SMTP-сервер
Операционные системы (Linux x86-64)
дистрибутивов Linux, таких как RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian и им подобных. Magento не поддерживается в Microsoft Windows и macOS.
Расширения PHP
Если вы устанавливаете Magento после клонирования из репозитория GitHub, убедитесь, что в вашей системе установлены ext-sockets.
доб-бкмат
доб-ктип
завиток
вн-дом
доб-гд
доб-хеш
доб-значок
доб-внутренний
доб-строка
доб-опенсл
доб-pdo_mysql
доб-симплексмл
доб-мыло
доб-xsl
ext-zip
Подробнее об установке см. в официальной документации PHP.
PHP-OPcache
Мы настоятельно рекомендуем вам убедиться, что PHP OPcache включен по соображениям производительности. OPcache включен во многих дистрибутивах PHP. Чтобы проверить, установлен ли он, см. нашу документацию по PHP.
Если вы должны установить его отдельно, см. документацию PHP OPcache.
Настройки PHP
Мы рекомендуем определенные параметры конфигурации PHP, такие как memory_limit
, которые могут избежать распространенных проблем при использовании Magento.
Дополнительные сведения см. в разделе Необходимые параметры PHP.
PHPUnit
PHPUnit (как инструмент командной строки) 6.2.0
ОЗУ
Для обновления приложений и расширений Magento, полученных из Commerce Marketplaces и других источников, может потребоваться до 2 ГБ ОЗУ. Если вы используете систему с оперативной памятью менее 2 ГБ, мы рекомендуем вам создать файл подкачки; в противном случае ваше обновление может завершиться ошибкой.
Системные зависимости
Для некоторых операций Magento требуются следующие системные инструменты:
- баш
- gzip
- lsof
- MySQL
- mysqldump
- хороший
- PHP
- сед
- смола
ССЛ
- Для HTTPS требуется действующий сертификат безопасности.
- Самозаверяющие SSL-сертификаты не поддерживаются. Требование
- Transport Layer Security (TLS) — PayPal и
repo.magento.com
оба требуют TLS 1.2 или новее:
Поддерживаемые браузеры
Магазин и администратор:
- Microsoft Edge, последняя и предыдущая основная версии
- Последняя, последняя и предыдущая основные версии Firefox (любая операционная система)
- Последняя, последняя и предыдущая основные версии Chrome (любая операционная система)
- Последняя, последняя и предыдущая основные версии Safari (только для Mac OS)
- Safari Mobile для iPad 2, iPad Mini, iPad с дисплеем Retina (iOS 12 или новее), для настольной витрины магазина
- Safari Mobile для iPhone 6 или новее; iOS 12 или новее, для мобильной витрины
- Chrome для мобильных устройств, последняя и предыдущая основная версии (Android 4 или новее) для мобильной витрины
Xdebug
php_xdebug 2.