$user
The $user object represents a single Panel or frontend user.
-
new User()
-
$user->audio()
-
$user->avatar()
-
$user->blueprint()
-
$user->blueprints()
-
$user->changeEmail()
-
$user->changeLanguage()
-
$user->changeName()
-
$user->changePassword()
-
$user->changeRole()
-
$user->changeStorage()
-
$user->changeTotp()
-
$user->clone()
-
$user->code()
-
$user->content()
-
User::create()
-
$user->createAvatar()
-
$user->createContent()
-
$user->createFile()
-
$user->createId()
-
$user->createTranslations()
-
$user->decrement()
-
$user->delete()
-
$user->deleteAvatar()
-
$user->documents()
-
$user->email()
-
$user->errors()
-
$user->exists()
-
User::factory()
-
$user->file()
-
$user->files()
-
$user->getMethod()
-
$user->hardcopy()
-
$user->hasAudio()
-
$user->hasCode()
-
$user->hasDocuments()
-
$user->hasFiles()
-
$user->hasImages()
-
$user->hasMethod()
-
$user->hasNext()
-
$user->hasPassword()
-
$user->hasPrev()
-
$user->hasVideos()
-
User::hashPassword()
-
$user->id()
-
$user->image()
-
$user->images()
-
$user->increment()
-
$user->indexOf()
-
$user->inventory()
-
$user->is()
-
$user->isAccessible()
-
$user->isAdmin()
-
$user->isFirst()
-
$user->isKirby()
-
$user->isLast()
-
$user->isLastAdmin()
-
$user->isLastUser()
-
$user->isListable()
-
$user->isLoggedIn()
-
$user->isNobody()
-
$user->isNth()
-
$user->isValid()
-
$user->kirby()
-
$user->language()
-
$user->lock()
-
$user->login()
-
$user->loginPasswordless()
-
$user->logout()
-
$user->mediaDir()
-
$user->mediaRoot()
-
$user->mediaUrl()
-
User::model()
-
$user->modified()
-
$user->name()
-
$user->nameOrEmail()
-
$user->next()
-
$user->nextAll()
-
User::nobody()
-
$user->panel()
-
$user->password()
-
$user->passwordTimestamp()
-
$user->permissions()
-
$user->prev()
-
$user->prevAll()
-
$user->purge()
-
$user->query()
-
$user->replaceAvatar()
-
$user->role()
-
$user->roles()
-
$user->root()
-
$user->save()
-
$user->secret()
-
$user->siblings()
-
$user->site()
-
$user->storage()
-
$user->toArray()
-
$user->toSafeString()
-
$user->toString()
-
$user->translation()
-
$user->translations()
-
$user->update()
-
$user->username()
-
$user->uuid()
-
$user->validatePassword()
-
$user->version()
-
$user->versions()
-
$user->videos()
How to create a $user object
Before you can call the methods of the User class, you need a $user object.
The $user object is available via the $kirby object:
The current user
$user = $kirby->user();
A specific user by user id or email address
$user = $kirby->user('you@yourdomain.com');
The first user of the users collection
$user = $kirby->users()->first();
Before calling any of the methods of the User class, verify that you have a valid User object.
Content fields
The $user class offers a magic caller for your content fields. Instead of getting them via $user->content()->get('your_field'), you can use the shorthand $user->your_field().
Reserved names
You cannot use the shorthand for fields with names that conflict with methods of the $user class or with custom user methods. Besides the methods listed above, this also includes internal methods that are not part of the documented API. The following names are reserved:
apiUrl, audio, avatar, blueprint, blueprints, changeEmail, changeLanguage, changeName, changePassword, changeRole, changeStorage, changeTotp, clone, code, content, contentFileData, create, createAvatar, createContent, createDefaultContent, createFile, createId, createTranslations, decrement, delete, deleteAvatar, documents, email, errors, exists, extendModels, factory, file, files, getMethod, hardcopy, hasAudio, hasCode, hasDocuments, hasFiles, hashPassword, hasImages, hasMethod, hasNext, hasPassword, hasPrev, hasVideos, id, image, images, increment, indexOf, inventory, is, isAccessible, isAdmin, isFirst, isKirby, isLast, isLastAdmin, isLastUser, isListable, isLocked, isLoggedIn, isNobody, isNth, isValid, kirby, language, lock, login, loginPasswordless, logout, mediaDir, mediaRoot, mediaUrl, model, modified, name, nameOrEmail, next, nextAll, nobody, panel, password, passwordTimestamp, permissions, prev, prevAll, purge, query, readContent, replaceAvatar, role, roles, root, save, secret, siblings, site, storage, toArray, toSafeString, toString, translation, translations, update, username, uuid, validatePassword, version, versions, videos, writeContent
To access a field with a reserved name, use $user->content()->get('fieldname'). We recommend prefixing your field names instead to avoid any conflicts.
Examples
With the $user object in place, you can use the methods of the user class to get information about the user or modify the user object.
Check if the user is an admin
if ($user->isAdmin()) {
echo "Hey, great, you can do anything you like!";
}
Convert user object to array
$userData = $user->toArray();
Change the user name programmatically
$user->changeName('new-name');
Fetch all files belonging to the user object
$userFiles = $user->files();
To keep the examples short, we don't check if the (user) object exists in the examples above. In your code, you should always do that.