1. Go to this page and download the library: Download jesseschalken/magic-utils 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/ */
jesseschalken / magic-utils example snippets
class Foo extends Bar {
/** @var Blah|null */
private $blah;
/** @var \DateTime[] */
private $dates = [];
// :( :( :(
function __clone() {
parent::__clone();
if ($this->blah !== null)
$this->blah = clone $this->blah;
foreach ($this->dates as $k => $date)
$this->dates[$k] = clone $date;
}
}
class Foo extends Bar {
/** @var Blah|null */
private $blah;
/** @var \DateTime[] */
private $dates = [];
// :) :) :)
use DeepClone;
}
class A {
private $foo = 9;
public function getFoo() { return $this->foo; }
public function setFoo($foo) { $this->foo = $foo; }
}
function test() {
$a1 = new A;
$a1->setFoo(100);
$a2 = clone $a1;
$a2->setFoo(200);
print $a1->getFoo(); // 100
}
class A {
private $b;
public function __construct() {
$this->b = new B;
}
public function getFoo() { return $this->b->foo; }
public function setFoo($foo) { $this->b->foo = $foo; }
}
class B {
public $foo = 9;
}
class A {
private $b;
// ...
public function __clone() {
$this->b = clone $this->b;
}
// ...
}
class A {
private $prop1;
private $prop2;
function __construct() {
$this->prop1 = new Foo1;
$this->prop2 = new Foo2;
}
function __clone() {
clone_ref($this->prop2);
// cloned instances will share the same object stored in $this->prop1
}
}
class Foo {
}
function blah(Foo $foo) {
$foo->bar = 5;
return $foo->bar;
}
use NoDynamicMethods;
use NoDynamicProperties;
use NoSerialize;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.