1. Go to this page and download the library: Download leedavis81/vent 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/ */
leedavis81 / vent example snippets
class Foo
{
use Vent\VentTrait;
private $bar;
public function __construct()
{
$this->registerEvent('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->registerEvent('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!'
public $bar = 'Bill';
public function __construct()
{
$this->registerEvent('read', 'bar', function(){
return 'Ben';
});
}
$foo = new Foo();
echo $foo->bar; // "Ben"
public $bar = 'chips';
public function __construct()
{
$this->registerEvent('write', 'bar', function($var1, $name, $value, $cur_value){
echo 'Why ' . $var1 . ' you\'re trying to overwrite "' . $name . '", which contained "' . $cur_value . '" to contain "' . $value . '"';
}, ['bill', '_OVL_NAME_', '_OVL_VALUE_', '_CUR_VALUE_']);
}
$foo = new Foo();
$foo->bar = 'cheese'; // Why bill you're trying to overwrite "bar", which contained "chips" to contain "cheese"
public $bar = 'Bill';
public function __construct()
{
$this->registerEvent('read','bar', function(){
sleep(1);
return microtime();
}, null, true); // pass in "true" here (defaults to false)
}
$foo = new Foo();
var_dump($foo->bar === $foo->bar); // true
class Foo
{
use Vent\VentTrait {registerEvent as public;} // allow public event registration
public $bar;
}
$foo = new Foo();
$foo->registerEvent('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 Vent\VentTrait {__get as get;}
public function __get($name)
{
// You're own magic stuff will go here.
return $this->get($name); // Fire off the vent magic (if you need it)
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.