Bei Betrachtung der Funktionen, die auf der HTTP-Seite für Drupal 7 aufgeführt sind , habe ich festgestellt, dass die folgenden Funktionen in Drupal 8 nicht mehr vorhanden sind. (Die Links beziehen sich auf die Drupal 7-Dokumentationsseiten, auf denen die Links zur Drupal 8-Dokumentation für diese enthalten sind Funktionen fehlen.)
- drupal_access_denied ()
- drupal_get_query_array ()
- drupal_goto ()
- drupal_http_request ()
- drupal_not_found ()
- drupal_site_offline ()
Welche Funktionen / Methoden sollte ich stattdessen in Drupal 8 verwenden?
Antworten:
Dies sind die Funktionen / Methoden / Klassen, die in Drupal 8.6.x-Code verwendet werden sollten.
drupal_access_denied()
wurde von der AccessDeniedHttpException- Klasse ersetzt. Seitenrückrufe, die den Fehler "Zugriff verweigert" zurückgeben müssen, sollten einen ähnlichen Code wie den folgenden verwenden.Stattdessen
drupal_get_query_array()
gibt esparse_query()
(eine Funktion imGuzzleHttp\Psr7
Namespace), die Teil von Guzzle ist.drupal_goto()
wurde aus derRedirectResponse
Klasse ersetzt. Seitenrückrufe, die Benutzer umleiten müssen, sollten Code verwenden, der dem folgenden ähnelt. (Beachten Sie, dass Formularübermittlungs-Handler diese Klasse nicht verwenden sollten.)drupal_http_request()
wurde von einem Drupal 8-Dienst ersetzt, der die ClientInterface- Schnittstelle implementiert . Drupal 8-Code sollte dem folgenden ähnlich sein.drupal_not_found()
wurde von der NotFoundHttpException- Klasse ersetzt. Seitenrückrufe sollten Code verwenden, der dem folgenden ähnelt.drupal_site_offline()
sollte durch einen Ereignis-Abonnenten ersetzt werden, ähnlich dem folgenden.drupal_encode_path()
wurde ersetzt durchUrlHelper::encodePath()
drupal_get_query_parameters()
wurde ersetzt durchUrlHelper::filterQueryParameters()
drupal_http_build_query()
wurde ersetzt durchUrlHelper::buildQuery()
, welches entfernt wird, sobald der Drupal-Kern mindestens PHP 5.4 erforderthttp_build_query()
.drupal_parse_url()
wurde ersetzt durchUrlHelper::parse()
Beachten Sie, dass es im Vergleich zu früheren Drupal-Versionen einige wichtige Änderungen gibt. Beispielsweise wurden einige Methoden, die sich in der
Url
Klasse befanden, in die Klasse verschobenUrlHelper
. Einige der Guzzle-Klassen werden nicht mehr verwendet.quelle