summaryrefslogtreecommitdiff
path: root/Examples/CppClassesInPhp/cppclassinphp.cpp
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-03-09 02:09:36 +0600
committervalmat <ufabiz@gmail.com>2014-03-09 02:09:36 +0600
commitd76e1c204a1adcaa2a605ed3041a0f1711c716dc (patch)
treefa8f774486655a4723f652ba9934e16123039347 /Examples/CppClassesInPhp/cppclassinphp.cpp
parentb86672080ecd25c8a3103c58cd68812902728631 (diff)
issue #23 : Removed comments and debugging information. Added an example.
Diffstat (limited to 'Examples/CppClassesInPhp/cppclassinphp.cpp')
-rw-r--r--Examples/CppClassesInPhp/cppclassinphp.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Examples/CppClassesInPhp/cppclassinphp.cpp b/Examples/CppClassesInPhp/cppclassinphp.cpp
index 400d942..9a4e130 100644
--- a/Examples/CppClassesInPhp/cppclassinphp.cpp
+++ b/Examples/CppClassesInPhp/cppclassinphp.cpp
@@ -51,6 +51,17 @@ public:
{
return 33;
}
+
+ void loop(Php::Parameters &params)
+ {
+ std::cout << "Array/Object contains " << params[0].size() << " items" << std::endl;
+ auto m = params[0].mapValue();
+
+ std::cout << "map contains " << m.size() << " items" << std::endl;
+ for(auto &i: m) {
+ std::cout << "key: " << i.first << " \t\tval: " << i.second << std::endl;
+ }
+ }
Php::Value myMethod(Php::Parameters &params)
{
@@ -124,6 +135,13 @@ extern "C"
customClass.method("myMethod2", &MyCustomClass::myMethod);
customClass.property("property1", "prop1");
customClass.property("property2", "prop2", Php::Protected);
+
+ customClass.method("loopArray", &MyCustomClass::loop, {
+ Php::ByVal("arr", Php::Type::Array)
+ });
+ customClass.method("loopObject", &MyCustomClass::loop, {
+ Php::ByVal("obj", Php::Type::Object)
+ });
// add the class to the extension
extension.add(customClass);