Beispiel #1
0
 function foo()
 {
     $a = new A();
     $a->foo();
     $a->bar();
     #    $a->baz();
 }
Beispiel #2
0
 public function doBar()
 {
     $this->bar();
     // B B
     B::bar();
     // B B
     C::bar();
     // C C
     D::bar();
     // D D
     F::bar();
     // F F
     G::bar();
     // G G
     H::bar();
     // H H
     parent::bar();
     // A B
     self::bar();
     // B B
     static::bar();
     // B B
     echo "****************\n";
 }
<?php

require "tests.php";
require "exception_order.php";
check::functions(array(a_foo, a_bar, a_foobar, a_barfoo));
check::classes(array(A, E1, E2, E3, exception_order, ET_i, ET_d));
check::globals(array(efoovar, foovar, cfoovar, a_sfoovar, a_foovar, a_efoovar));
$a = new A();
try {
    $a->foo();
} catch (Exception $e) {
    check::equal($e->getMessage(), 'C++ E1 exception thrown', '');
}
try {
    $a->bar();
} catch (Exception $e) {
    check::equal($e->getMessage(), 'C++ E2 exception thrown', '');
}
try {
    $a->foobar();
} catch (Exception $e) {
    check::equal($e->getMessage(), 'postcatch unknown', '');
}
try {
    $a->barfoo(1);
} catch (Exception $e) {
    check::equal($e->getMessage(), 'C++ E1 exception thrown', '');
}
try {
    $a->barfoo(2);
} catch (Exception $e) {
Beispiel #4
0
<?php

class A
{
    public function foo()
    {
        $values = array(1, 2, 3);
        $values = array_map(function ($p) {
            return $this->goo($p);
        }, $values);
        var_dump($values);
    }
    public function bar()
    {
        return $this;
    }
    public function goo($p)
    {
        return $p;
    }
}
$obj = new A();
var_dump($obj->bar());
$obj->foo();
Beispiel #5
0
<?php

class A
{
    private $fld;
    public function __construct($x)
    {
        $this->fld = $x;
    }
    public function foo()
    {
        var_dump($this->fld);
    }
    public function bar()
    {
        $this->foo();
    }
}
$o = new A(42);
$o2 = new A(55);
$o->bar();
$o2->bar();
Beispiel #6
0
<?php

// Reported by Gary Wassermann.
// August 17th, 2007
// A::bar doesnt update A::q appropriately.
class A
{
    static $q = 2345;
    function bar()
    {
        A::$q++;
        echo A::$q, "\n";
    }
}
A::bar();
var_dump(A::$q);
A::bar();
var_dump(A::$q);
A::bar();
var_dump(A::$q);
$q = 2345;
$q++;
var_dump($q);
$q++;
var_dump($q);
$q++;
var_dump($q);
{
    static function foo()
    {
        return function () {
            var_dump(get_class(), get_called_class());
        };
    }
    function bar()
    {
        return function () {
            var_dump(get_class(), get_called_class(), $this);
        };
    }
}
$z = "call_user_func";
$a = A::foo();
$a();
$a->__invoke();
$c = array($a, "__invoke");
$c();
call_user_func(array($a, "__invoke"));
$z(array($a, "__invoke"));
echo "\n";
$x = new A();
$b = $x->bar();
$b();
$b->__invoke();
$c = array($b, "__invoke");
$c();
call_user_func(array($b, "__invoke"));
$z(array($b, "__invoke"));
Beispiel #8
0
function bar()
{
    $a = new A();
    $a->bar(1, "str", array(1, 2, 3));
    hphp_invoke_method($a, "A", "bar", array(1, 2));
}
Beispiel #9
0
<?php

class A
{
    public function foo()
    {
        unset($this);
        var_dump($this);
    }
    public static function bar()
    {
        unset($this);
        var_dump($this);
    }
}
function goo()
{
    unset($this);
    var_dump($this);
}
$obj = new A();
$obj->foo();
$obj->bar();
A::bar();
goo();
unset($this);
var_dump($this);
Beispiel #10
0
 static function bar()
 {
     parent::bar();
 }