summaryrefslogtreecommitdiff
path: root/Examples/php/reference/runme.php
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/php/reference/runme.php')
-rw-r--r--Examples/php/reference/runme.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/Examples/php/reference/runme.php b/Examples/php/reference/runme.php
new file mode 100644
index 0000000..5d264ee
--- /dev/null
+++ b/Examples/php/reference/runme.php
@@ -0,0 +1,49 @@
+<?php
+
+# This file illustrates the manipulation of C++ references in PHP.
+
+require "example.php";
+
+# ----- Object creation -----
+
+print "Creating some objects:\n";
+$a = new Vector(3, 4, 5);
+$b = new Vector(10, 11, 12);
+
+print " Created a: {$a->as_string()}\n";
+print " Created b: {$b->as_string()}\n";
+
+# ----- Call an overloaded operator -----
+
+# This calls the wrapper we placed around
+#
+# operator+(const Vector &a, const Vector &)
+#
+# It returns a new allocated object.
+
+print "Adding a+b\n";
+$c = example::addv($a, $b);
+print " a+b ={$c->as_string()}\n";
+
+# ----- Create a vector array -----
+
+print "Creating an array of vectors\n";
+$va = new VectorArray(10);
+
+print " va: size={$va->size()}\n";
+
+# ----- Set some values in the array -----
+
+# These operators copy the value of $a and $b to the vector array
+$va->set(0, $a);
+$va->set(1, $b);
+$va->set(2, addv($a, $b));
+
+# Get some values from the array
+
+print "Getting some array values\n";
+for ($i = 0; $i < 5; $i++) {
+ print " va[$i] = {$va->get($i)->as_string()}\n";
+}
+
+?>