diff options
Diffstat (limited to 'Examples/php/disown/runme.php')
| -rw-r--r-- | Examples/php/disown/runme.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Examples/php/disown/runme.php b/Examples/php/disown/runme.php new file mode 100644 index 0000000..73d5078 --- /dev/null +++ b/Examples/php/disown/runme.php @@ -0,0 +1,49 @@ +<?php + +# This file illustrates the low-level C++ interface +# created by SWIG. In this case, all of our C++ classes +# get converted into function calls. + +require("example.php"); + +# ----- Object creation ----- + +print "Creating some objects:\n"; +$c = new Circle(10); +print " Created circle $c\n"; +$s = new Square(10); +print " Created square $s\n"; + +# ----- Create the ShapeContainer ---- + +$container = new ShapeContainer(); + +$container->addShape($c); +$container->addShape($s); + +# ----- Access a static member ----- + +print "\nA total of " . Shape::nshapes() . " shapes were created\n"; + +# ----- Delete by the old references ----- +# This should not truely delete the shapes because they are now owned +# by the ShapeContainer. + +print "Delete the old references."; + +# Note: this invokes the virtual destructor +$c = NULL; +$s = NULL; + +print "\nA total of " . Shape::nshapes() . " shapes remain\n"; + +# ----- Delete by the container ----- +# This should truely delete the shapes + +print "Delete the container."; +$container = NULL; +print "\nA total of " . Shape::nshapes() . " shapes remain\n"; + +print "Goodbye\n"; + +?> |
