Andrew Fletcher published: 31 March 2022 (updated) 7 April 2022 1 minute read
How to get the current user or load a user using a uid value.
$current_user = \Drupal::currentUser();
$user = \Drupal\user\Entity\User::load($current_user->id());
or just use
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
An example of this in action
/**
* Change the display of the user's name.
*
* @param int $uid
* User id.
*
* @return string
* User name.
*/
function change_users_name($uid) {
// status of the current user
$logged_in = \Drupal::currentUser()->isAuthenticated();
$author = \Drupal\user\Entity\User::load($uid);
$first_name = $author->get('field_firstname')->value;
$last_name = $author->get('field_lastname')->value;
$user_url = Url::fromRoute('user.page', ['user' => $author->id()]);
$link = Link::fromTextAndUrl($last_name, $user_url)->toString();
return ($logged_in) ? $link : $first_name . " " . $last_name;
}
This can be further reduced where the line
$author = \Drupal\user\Entity\User::load($uid);
Becomes
$author = User::load($uid);
To make this change, you'll need to add at the top of the file
<?php
// ... other use references ... //
use Drupal\user\Entity\User;
Related articles
Andrew Fletcher
•
22 Apr 2024
Streamlined Drupal 10 Deployment: Best Practices for Stability and Security
Have you ever walked into a situation and marveled at how a site is still operational? Deployments that are riddled with fail-safes piled atop a shaky foundation. The real challenge lies in gradually persuading the team to embrace change to build a stable, robust deployment process aligned with...
Andrew Fletcher
•
21 Apr 2024
This command will help you spot any unusually large directories
The red flag was when I saw the server disk space is showing a site is taking up 57992.5 MB, where locally the site size is showing 957MB. There is something serious happening here and I need to establish the problem quickly. When dealing with a significant discrepancy in site size...
Andrew Fletcher
•
19 Apr 2024
Extending a Contrib Module's Configuration in Drupal 10: A Case Study with Sitewide Alert
Extending the functionality of a contrib module in Drupal can enhance its usefulness without altering the original codebase. This article provides a step-by-step guide on how to add custom configuration options to an existing contrib module, using the sitewide_alert module as an example. We will...