1. Go to this page and download the library: Download b2r/simple-accessor library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
b2r / simple-accessor example snippets
use b2r\Component\SimpleAccessor\Accessor;
class Foo
{
use Accessor;
private $value = 0;
public function getSquare()
{
return $this->value * $this->value;
}
public function setValue($value)
{
$this->value = (int)$value;
}
}
$foo = new Foo();
$foo->value = '10'; // Invoke `setValue()`
var_dump($foo->value); #=>int(10)
var_dump($foo->square); #=>int(100) Invoke `getSquare()`
//$foo->undefined = 'Undefined'; #=> throw b2r\Component\Exception\InvalidPropertyException
use b2r\Component\SimpleAccessor\Accessor;
class Foo
{
use Accessor;
private $value = 0;
public function __get($name)
{
return $this->getPropertyValue($name, [
'strict' => false,
'default' => 'Default value for undefined property'
]);
}
}
$foo = new Foo();
var_dump($foo->undefined); #=>"Default value for undefined property"
use b2r\Component\SimpleAccessor\Accessor;
class Foo
{
use Accessor;
private $value = 0;
public function __set($name, $value)
{
return $this->setPropertyValue($name, $value, ['immutable' => true]);
}
protected function setValue($value)
{
$this->value = (int)$value;
}
}
$foo = new Foo();
$foo->value = '10'; # Invoke `setValue()`
var_dump($foo->value); #=>int(10)
$foo->value = 100; #=>b2r\Component\Exception\InvalidPropertyException: Invalid property Foo::$value is immutable
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.