- Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
- get - simple
public string $email { get => 'mailto:' . $this->email; }- get - block
get { 'mailto:' . $this->email; }- set - full block form
set ($value) { $this->[propertyName = $value }- block form with implicit $value
set { $this->[propertyName = $value }- expression form with explicit $value
set ($value) => {expression}- expression form with implicit $value
set => {expression}// expression form with implicit $value- get by reference
&get => { }- default value
public string $role = 'anonymous' { set { Roles::from($value); $this->role = $value; } }- final on hooks
class StandardUser { public string $email { final set { if (! filter_var($value, FILTER_VALIDATE_EMAIL, FILTER_FLAG_EMAIL_UNICODE)) { throw new InvalidArgumentException('Invalid email'); } $this->email = $value; } } }- final on property
class User { // Child classes may not add hooks of any kind to this property. public final string $name; // Child classes may not add any hooks or override set, // but this set will still apply. public final string $username { set => [strtolower](http://www.php.net/strtolower)($value); } }- abstract
abstract class StandardUser { abstract public string $email { get; } }- interface - get
interface I { // An implementing class MUST have a publicly-readable property, // but whether or not it's publicly settable is unrestricted. public string $readable { get; } }- interface - set
interface I { // An implementing class MUST have a publicly-writeable property, // but whether or not it's publicly readable is unrestricted. public string $writeable { set; } }- interface - get + set
interface I { // An implementing class MUST have a property that is both publicly // readable and publicly writeable. public string $both { get; set; } }Metadata
Metadata
Assignees
Labels
No labels