Patrząc na funkcje wymienione na stronie obsługi HTTP dla Drupal 7 , zauważyłem, że następujące funkcje nie istnieją już w Drupal 8. (Linki są na stronach dokumentacji Drupal 7, gdzie znajdują się linki do dokumentacji Drupal 8 dla tych brak funkcji).
- drupal_access_denied ()
- drupal_get_query_array ()
- drupal_goto ()
- drupal_http_request ()
- drupal_not_found ()
- drupal_site_offline ()
Jakich funkcji / metod powinienem użyć zamiast tego w Drupal 8?
Odpowiedzi:
Są to funkcje / metody / klasy, które powinny być użyte w kodzie Drupal 8.6.x.
drupal_access_denied()
został zastąpiony z klasy AccessDeniedHttpException . W wywołaniach zwrotnych strony, które muszą zwrócić błąd Odmowa dostępu, należy użyć kodu podobnego do następującego.Zamiast tego
drupal_get_query_array()
jestparse_query()
(funkcja wGuzzleHttp\Psr7
przestrzeni nazw), która jest częścią Guzzle.drupal_goto()
został zastąpiony zRedirectResponse
klasy. Strony zwrotne, które muszą przekierowywać użytkowników, powinny używać kodu podobnego do następującego. (Zwróć uwagę, że procedury obsługi przesyłania formularzy nie powinny używać tej klasy).drupal_http_request()
został zastąpiony z usługi Drupal 8, która implementuje interfejs ClientInterface . Kod Drupal 8 powinien być podobny do następującego.drupal_not_found()
został zastąpiony z klasy NotFoundHttpException . Wywołania zwrotne strony powinny używać kodu podobnego do następującego.drupal_site_offline()
należy zastąpić subskrybentem zdarzenia, podobnym do następującego.drupal_encode_path()
został zastąpiony przezUrlHelper::encodePath()
drupal_get_query_parameters()
został zastąpiony przezUrlHelper::filterQueryParameters()
drupal_http_build_query()
został zastąpiony przezUrlHelper::buildQuery()
, który zostanie usunięty, gdy rdzeń Drupala będzie wymagał co najmniej PHP 5.4 (W tym momencie będzie możliwe bezpośrednie użyciehttp_build_query()
).drupal_parse_url()
został zastąpiony przezUrlHelper::parse()
Zauważ, że w porównaniu z wcześniejszymi wersjami Drupala istnieją pewne ważne zmiany. Na przykład niektóre metody, które były w
Url
klasie, zostały przeniesione doUrlHelper
klasy; niektóre klasy Gagatów nie są już używane.źródło