Глядя на функции, перечисленные на странице обработки HTTP для Drupal 7 , я заметил, что следующие функции больше не существуют в Drupal 8. (Ссылки предназначены для страниц документации по Drupal 7, где ссылки на документацию по Drupal 8 для тех, функции отсутствуют.)
- drupal_access_denied ()
- drupal_get_query_array ()
- drupal_goto ()
- drupal_http_request ()
- drupal_not_found ()
- drupal_site_offline ()
Какие функции / методы я должен использовать вместо этого в Drupal 8?
Ответы:
Это функции / методы / классы, которые должны использоваться в коде Drupal 8.6.x.
drupal_access_denied()
был заменен из класса AccessDeniedHttpException . Обратные вызовы страниц, которые должны возвращать ошибку «Отказано в доступе», должны использовать код, подобный следующему.Вместо этого
drupal_get_query_array()
естьparse_query()
(функция вGuzzleHttp\Psr7
пространстве имен), которая является частью Guzzle.drupal_goto()
был заменен изRedirectResponse
класса. Обратные вызовы страниц, которые должны перенаправлять пользователей, должны использовать код, подобный следующему. (Обратите внимание, что обработчики представления формы не должны использовать этот класс.)drupal_http_request()
был заменен службой Drupal 8, которая реализует интерфейс ClientInterface . Код Drupal 8 должен быть похож на следующий.drupal_not_found()
был заменен из класса NotFoundHttpException . Обратные вызовы страниц должны использовать код, подобный следующему.drupal_site_offline()
должен быть заменен подписчиком события, аналогичным следующему.drupal_encode_path()
был замененUrlHelper::encodePath()
drupal_get_query_parameters()
был замененUrlHelper::filterQueryParameters()
drupal_http_build_query()
был заменен наUrlHelper::buildQuery()
, который будет удален, когда ядру Drupal потребуется хотя бы PHP 5.4 (на этом этапе можно будет напрямую использоватьhttp_build_query()
).drupal_parse_url()
был замененUrlHelper::parse()
Обратите внимание, что по сравнению с более ранними версиями Drupal, есть некоторые важные изменения. Например, некоторые методы, которые были в
Url
классе, были перемещены вUrlHelper
класс; некоторые из классов Guzzle больше не используются.источник