Skip to main content
Version: Next

Classes

Currently all you can do with classes is properties and functions. Properties are currently only read-write public and can also optionally have a default value. Functions of course have access to the class instance's properties.

rcaron
class Funny {
$prop;
$propWithDefaultValue = 3;
static $staticProp = 1;
func Function() {
print 'prop is' $prop;
print 'propWithDefaultValue is' $propWithDefaultValue;
}
static func StaticFunction($h) {
$staticProp = $h;
}
}
// call static function
#Funny:StaticFunction(123);
print 'staticProp is' #Funny:staticProp;
// create new instance of Funny class
$fun = #Funny:new();
$fun.prop = 123;
$fun.Function();
rcaron
class Funny {
$prop;
$propWithDefaultValue = 3;
static $staticProp = 1;
func Function() {
print 'prop is' $prop;
print 'propWithDefaultValue is' $propWithDefaultValue;
}
static func StaticFunction($h) {
$staticProp = $h;
}
}
// call static function
#Funny:StaticFunction(123);
print 'staticProp is' #Funny:staticProp;
// create new instance of Funny class
$fun = #Funny:new();
$fun.prop = 123;
$fun.Function();
note

Note that you can not call a class function from outside the class with the keyword plain call call type.

note

Note that a static property must have a value assigned to it when it is declared. The value must be a constant(number, string, $false, $true, $null).