1. Go to this page and download the library: Download jgswift/magery 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/ */
jgswift / magery example snippets
class Foo
{
use Magery\Mage;
private $bar;
public function __construct()
{
$this->read('bar', function(){
throw new \Exception('Don\'t touch my bar!');
});
}
public function touchBar()
{
$this->bar;
}
}
$foo = new Foo();
$foo->touchBar(); // Fatal error: Uncaught exception 'Exception' with message 'Don't touch my bar!'
$this->write('bar', function() {
throw new \Exception('Don\'t write to my bar!');
});
public function writeToBar() {
$this->bar = 'somethingElse';
}
$foo = new Foo();
$foo->writeToBar(); // Fatal error: Uncaught exception 'Exception' with message 'Don't write to my bar!'
class Foo {
use magery\Mage;
public function __construct() {
$this->read('bar', function(){
return 'baz';
});
// Shortcut method
$this->read('buzz', function() {
return 'bar';
});
}
}
$foo = new Foo();
echo $foo->bar; // 'baz'
echo $foo->buzz; // 'bar'
class User {
private $firstName;
private $lastName;
function __construct($firstName, $lastName) { /* ... */ }
}
$user = new User('John', 'Doe');
$user->exists('lastName', function()use(&$c) {
return isset($this->lastName);
// do something extra for existence check
});
var_dump(isset($user->lastName)); // true
$user = new User('Joe','Smith');
$user->remove('name', function()use(&$c) {
unset($this->name);
// do something extra for remove
});
unset($user->name);
var_dump(isset($user->name)); // false
public $bar = 'Bill';
public function __construct()
{
$this->read('bar', function(){
sleep(1);
return microtime();
}, true); // pass in "true" here (defaults to false)
}
$foo = new Foo();
var_dump($foo->bar === $foo->bar); // true
class Foo
{
use Magery\Mage {magery as public;} // allow public event registration
public $bar;
}
$foo = new Foo();
$foo->read('bar', function(){
throw new \Exception('Don\'t touch my bar!');
});
$foo->bar; // Fatal error: Uncaught exception 'Exception' with message 'Don't touch my bar!'
class Foo
{
use Magery\Mage;
}
$foo = new Foo();
$foo->call('bar', function() {
sleep(1);
return microtime();
},true);
var_dump($foo->bar() === $foo->bar()); // true
class Foo implements ArrayAccess {
use Magery\MageAccess;
}
$foo = new Foo();
$foo->read('bar', function() {
return 'baz';
});
var_dump($foo['bar']); // baz
class Foo
{
use Magery\Object, Magery\Traits\Write;
}
$foo = new Foo();
$foo->write('bar', function($v){
$this->baz = $v;
});
$foo->bar = 'somethingImportant';
var_dump($foo->baz); // somethingImportant
sh
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.