summaryrefslogtreecommitdiff
path: root/Examples
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-04 18:21:58 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-04 18:21:58 +0100
commitc028e8f932cc4206ab8446409693fba8dfe18ffb (patch)
tree4ffe8a5d77888cff291eb7dd412bbd03e51c6f29 /Examples
parent200952ad4004f6ee5527598622505adbe84df8af (diff)
Php::Value and Php::Object classes can now be used to wrap around Php::Base objects
Diffstat (limited to 'Examples')
-rw-r--r--Examples/CppClassesInPhp/cppclassinphp.cpp19
-rw-r--r--Examples/CppClassesInPhp/cppclassinphp.php12
2 files changed, 29 insertions, 2 deletions
diff --git a/Examples/CppClassesInPhp/cppclassinphp.cpp b/Examples/CppClassesInPhp/cppclassinphp.cpp
index 20c04c4..4c3d59f 100644
--- a/Examples/CppClassesInPhp/cppclassinphp.cpp
+++ b/Examples/CppClassesInPhp/cppclassinphp.cpp
@@ -19,7 +19,12 @@ private:
public:
MyCustomClass()
{
- std::cout << "MyCustomClass::MyCustomClass" << std::endl;
+ std::cout << "MyCustomClass::MyCustomClass()" << std::endl;
+ }
+
+ MyCustomClass(int value) : _x(value)
+ {
+ std::cout << "MyCustomClass::MyCustomClass(" << value << ")" << std::endl;
}
MyCustomClass(const MyCustomClass &that)
@@ -52,7 +57,14 @@ public:
// check number of parameters
if (params.size() != 1) throw Php::Exception("Invalid number of parameters supplied");
- std::cout << "myMethod is called." << std::endl;
+ std::cout << "myMethod is called for object " << _x << std::endl;
+
+
+ return Php::Object("MyClass", new MyCustomClass(100));
+
+
+ return false;
+
// create a new PHP DateTime object representing the current time
Php::Object now("DateTime", "now");
@@ -67,6 +79,9 @@ public:
std::cout << "return " << params[0] << std::endl;
+
+
+
// return it
return obj;
diff --git a/Examples/CppClassesInPhp/cppclassinphp.php b/Examples/CppClassesInPhp/cppclassinphp.php
index 7fd4f64..1c60878 100644
--- a/Examples/CppClassesInPhp/cppclassinphp.php
+++ b/Examples/CppClassesInPhp/cppclassinphp.php
@@ -20,6 +20,18 @@ class TestClass
//create a MyCustomClass object, which is an object of a C++ class
$object1 = new MyClass();
+
+$object2 = $object1->myMethod(1);
+$object2->myMethod(1);
+
+echo("unset\n");
+
+unset($object1);
+
+echo("got here\n");
+
+return;
+
//echo("prop x: ".$object1->x."\n");
$object1->x = 10;