summaryrefslogtreecommitdiff
path: root/Examples/php/class/runme.php
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2009-08-18 20:56:02 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-25 16:59:08 +0000
commit9f8a09ed743cedd9547bf0661d518647966ab114 (patch)
tree9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/php/class/runme.php
downloadswig-tarball-master.tar.gz
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/php/class/runme.php')
-rw-r--r--Examples/php/class/runme.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/Examples/php/class/runme.php b/Examples/php/class/runme.php
new file mode 100644
index 0000000..12b6860
--- /dev/null
+++ b/Examples/php/class/runme.php
@@ -0,0 +1,60 @@
+<?php
+
+# This example illustrates how member variables are wrapped.
+
+require("example.php");
+
+# ----- Object creation -----
+
+print "Creating some objects:\n";
+$c = new Circle(10);
+print " Created circle\n";
+$s = new Square(10);
+print " Created square\n";
+
+# ----- Access a static member -----
+
+print "\nA total of " . Shape::get_nshapes() . " shapes were created\n";
+
+# ----- Member data access -----
+
+# Set the location of the object.
+# Note: methods in the base class Shape are used since
+# x and y are defined there.
+
+$c->x = 20;
+$c->y = 30;
+$s->x = -10;
+$s->y = 5;
+
+print "\nHere is their current position:\n";
+print " Circle = ({$c->x},{$c->y})\n";
+print " Square = ({$s->x},{$s->y})\n";
+
+# ----- Call some methods -----
+
+# Notice how the Shape_area() and Shape_perimeter() functions really
+# invoke the appropriate virtual method on each object.
+print "\nHere are some properties of the shapes:\n";
+foreach (array($c,$s) as $o) {
+ print " ". get_class($o) . "\n";
+ print " area = {$o->area()}\n";
+ print " perimeter = {$o->perimeter()}\n";
+}
+
+# ----- Delete everything -----
+
+print "\nGuess I'll clean up now\n";
+
+# Note: this invokes the virtual destructor
+$c = NULL;
+$s = NULL;
+
+# and don't forget the $o from the for loop above. It still refers to
+# the square.
+$o = NULL;
+
+print Shape::get_nshapes() . " shapes remain\n";
+print "Goodbye\n";
+
+?>