diff options
author | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-03-04 18:21:58 +0100 |
---|---|---|
committer | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-03-04 18:21:58 +0100 |
commit | c028e8f932cc4206ab8446409693fba8dfe18ffb (patch) | |
tree | 4ffe8a5d77888cff291eb7dd412bbd03e51c6f29 /Examples/CppClassesInPhp | |
parent | 200952ad4004f6ee5527598622505adbe84df8af (diff) |
Php::Value and Php::Object classes can now be used to wrap around Php::Base objects
Diffstat (limited to 'Examples/CppClassesInPhp')
-rw-r--r-- | Examples/CppClassesInPhp/cppclassinphp.cpp | 19 | ||||
-rw-r--r-- | Examples/CppClassesInPhp/cppclassinphp.php | 12 |
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; |