Sophie

Sophie

distrib > Mandriva > cooker > x86_64 > by-pkgid > 1243822e7df129a639ee31c72aac04d0 > files > 31

php-perl-1.0.0-34.x86_64.rpm

--TEST--
Test 21: returning object from eval()
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$perl = new Perl();
$perl->eval(<<<PERL_END
package Foo;
  sub new {
    my \$this = shift;
    my \$type = ref(\$this) || \$this;
    my \$self = {};
    \$self->{'x'} = 12;
    bless \$self, \$type;
    return \$self;
  }
package Bar;
  sub new {
    my \$this = shift;
    my \$type = ref(\$this) || \$this;
    my \$self = {};
    \$self->{'y'} = 8;
    bless \$self, \$type;
    return \$self;
  }
package main;
PERL_END
);
var_dump($perl->eval('Foo->new()'));
var_dump($perl->eval('Bar::new("Bar")'));
echo "ok\n";
?>
--EXPECT--
object(Perl::Foo)#2 (1) {
  ["x"]=>
  int(12)
}
object(Perl::Bar)#2 (1) {
  ["y"]=>
  int(8)
}
ok