<?php

require_once '../odmconfig.php';
// Foo class
class Foo extends \Utility\Singleton
{
    // Bar method
    public function bar()
    {
        echo __CLASS__ . PHP_EOL;
    }
}
// Returns a single instance of Foo class
$foo = Foo::getInstance();
// Prints: Foo
$foo->bar();
 public function __destruct()
 {
     Foo::getInstance();
 }
示例#3
0
<?php

class Foo
{
    public $foo = 1;
    public function getInstance()
    {
        return $this;
    }
}
$objFoo = new Foo();
$objFoo->getInstance()->foo = 2;
echo $objFoo->foo;
示例#4
0
文件: StackTest.php 项目: mnlg/Kanda
 /**
  * Test call stack with two middleware
  */
 public function testCallStackWithTwoMiddlewares()
 {
     $stack = new Mnlg\Kanda\Stack();
     $stack->add('Foo', '123')->add('Foo2');
     $stack->call();
     $called = new \ReflectionProperty($stack, 'called');
     $called->setAccessible(true);
     $this->assertTrue($called->getValue($stack));
     $foo = Foo::getInstance();
     $foo2 = Foo2::getInstance();
     $this->assertEquals($foo->param, '123');
     $this->assertEquals($foo->next, $stack);
     $this->assertEquals($foo2->next, $foo);
 }
示例#5
0
文件: lsb_018.php 项目: badlamer/hhvm
    {
        var_dump($this);
    }
}
class Foo extends Singleton
{
}
class Bar extends Singleton
{
}
class Baz extends Bar
{
}
$u = Foo::getInstance();
$v = Bar::getInstance();
$w = Baz::getInstance();
$u->identify();
$v->identify();
$w->identify();
$x = Foo::getInstance();
$y = Bar::getInstance();
$z = Baz::getInstance();
$u->identify();
$v->identify();
$w->identify();
$x->identify();
$y->identify();
$z->identify();
?>
===DONE===
<?php

class Foo
{
    public static function getInstance() : self
    {
        return new static();
    }
}
class Bar extends Foo
{
}
var_dump(Foo::getInstance());
var_dump(Bar::getInstance());