Puncte:0

RuntimeException: Nu s-a putut porni sesiunea deoarece anteturile au fost deja trimise de

drapel cn

Nou în Drupal, tocmai am creat un nou modul personalizat în Drupal 9 pentru a vedea cum funcționează, încercam să îl testez cu o bucată minimă de cod. Am activat acest modul și am primit această eroare, acum nu pot deschide nimic și primind această eroare pe fiecare pagină, nu se întâmplă nimic, chiar dacă schimb ceva în cod. Acesta este codul meu de modul personalizat.

check_hookcalls.info.yml

nume: verificarea apelurilor
descriere: modul pentru testarea cârligelor
cerinta_versiune_core: ^8 || ^9
tip: modul

check_hookcalls.module

<?php

function check_hookcalls_node_presave() {
  die;
}

?>

Eroarea pe care o primesc este următoarea.

[13-Iul-2021 15:34:49 Europa/Berlin] RuntimeException: Nu s-a putut porni sesiunea deoarece anteturile au fost deja trimise de către „C:\softwares\xampp\htdocs\d9_firstexperience\2\modules\check_hookcalls\check_hookcalls.module” la rândul 10. în C:\softwares\xampp\htdocs\d9_firstexperience\2\vendor\symfony\http-foundation\Session\Storage\NativeSessionStorage.php pe linia 152

sonfd avatar
drapel in
Eliminați eticheta php de închidere
drapel cn
Da, tocmai am eliminat etichetele și am repornit apache, a început să funcționeze, dar este ciudat. Îl poți posta ca răspuns pe care îl voi accepta.
apaderno avatar
drapel us
Standardele de codare Drupal spun să nu adăugați eticheta PHP de închidere exact pentru a evita această problemă.
drapel cn
Bine, mulțumesc, trebuie să învăț standarde.
apaderno avatar
drapel us
Ghidul [Standarde de codificare](https://www.drupal.org/docs/develop/standards) și subghidurile sale sunt un început.
Puncte:1
drapel in

Conform Standarde de codare Drupal, eticheta php de închidere ar trebui să fie omisă.

The Secțiunea Etichete de cod PHP a standardelor de codificare (precum și acest răspuns stackoverflow) oferă o imagine de ansamblu bună a motivului pentru care este o bună practică să le omiteți în general:

  • Eliminarea acestuia elimină posibilitatea de spații albe nedorite la sfârșitul fișierelor care pot cauza erori „antet deja trimis”, XHTML/XML probleme de validare și alte probleme.
  • Delimitatorul de închidere la sfârșitul unui fișier este opțional.
  • PHP.net însuși elimină închiderea delimitator de la sfârșitul fișierelor sale (exemplu: prepend.inc), Deci asta poate fi văzută ca o „cea mai bună practică”.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.