จะรู้ได้อย่างไรว่าผู้ใช้เป็นผู้เข้าชมหรือสมาชิกที่เข้าสู่ระบบ?


30

ฉันจะทราบได้อย่างไรว่าผู้ใช้ปัจจุบันไม่ระบุชื่อหรือรับรองความถูกต้อง

คำตอบ:


57

เพื่อประโยชน์ของรหัสที่แข็งแกร่งและมีความหมายมากขึ้นคุณสามารถใช้User::isAnonymous()วิธีการที่สะดวกได้เช่น

if (\Drupal::currentUser()->isAnonymous()) {
  // Anonymous user...
}

2
เมื่อใดก็ตามที่เป็นไปได้ให้ใช้วิธีการเช่นนี้: โปรแกรมไปยังส่วนต่อประสานไม่ใช่การนำไปใช้ การใช้ความสมบูรณ์ของ IDE ที่มีรหัสนั้นมีค่าสำหรับงาน Drupal 8
mpdonadio

3
สำหรับใครก็ตามที่เจอสิ่งนี้โปรดทราบว่า \ Drupal :: currentUser () -> isAuthenticated () เทียบเท่ากับ D7 user_is_logged_in ()
Jaypan

ฉันสร้างโมดูลที่กำหนดเองและไม่สามารถทำให้ฟังก์ชั่นนี้ทำงานได้ มีอะไรเพิ่มเติมที่ฉันต้องเพิ่มในโมดูลของฉัน? ขอบคุณล่วงหน้า.
SuperTony


-4

คุณสามารถใช้รหัสนี้ ::

global $user;
if ($user->uid == 0) {
  //user is not logged in
}else{
  //user is logged in
}

2
รหัส Drupal ใช้ได้กับ Drupal 7 แต่ไม่ใช่ใน Drupal 8
Dev

1
ใช่และใช้ === เพื่อการเปรียบเทียบที่เข้มงวดและวางพื้นที่ก่อนและหลังอื่นสำหรับการเข้ารหัสมาตรฐาน: /
klidifia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.