Adjust PHP sync example

Make it work with how globals are actually wrapped.  It looks like
this example has never been right, but nobody noticed before PHP 8
started warning about the use of unset variables.

This reveals that handling of std::string properties needs fixing.
This commit is contained in:
Olly Betts 2021-04-18 09:56:55 +12:00
commit a49cc60772
3 changed files with 48 additions and 16 deletions

View file

@ -1,12 +1,33 @@
<?
// Load module and PHP classes.
include("example.php");
echo "Got new object\n";
echo "Got string $s and value $x \n";
echo "PHP reading globals: string is '", s_get(), "' and value is ", x_get(), "\n";
$s = new Sync();
$o = new Sync();
echo "Got new object\n";
$s->printer();
echo "PHP reading object: string is '", $o->s, "' and value is ", $o->x, "\n";
$o->printer();
// FIXME something is up with the setter
// type error - s_set("global string");
x_set(42);
// FIXME something is up with the setter
// type error - $o->s = "object string";
$o->x = 1234;
echo "PHP reading globals: string is '", s_get(), "' and value is ", x_get(), "\n";
echo "PHP reading object: string is '", $o->s, "' and value is ", $s->x, "\n";
$o->printer();
echo "Calling all_change() method\n";
$o->all_change();
echo "PHP reading globals: string is '", s_get(), "' and value is ", x_get(), "\n";
echo "PHP reading object: string is '", $o->s, "' and value is ", $o->x, "\n";
$o->printer();