diff options
author | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-02-28 10:25:01 +0100 |
---|---|---|
committer | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-02-28 10:25:01 +0100 |
commit | 71055ebdea1e8eec30747a04f36e0c10e750bff5 (patch) | |
tree | 18ed63d5fe64a936c284a38d4f72921a4ddc97df /Examples/CppClassesInPhp/cppclassinphp.cpp | |
parent | 85349bbb642a83012a7d0dbccde8b7c1eea1b914 (diff) |
a lot of refactoring, to make it much easier to define classes in an extension
Diffstat (limited to 'Examples/CppClassesInPhp/cppclassinphp.cpp')
-rw-r--r-- | Examples/CppClassesInPhp/cppclassinphp.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/Examples/CppClassesInPhp/cppclassinphp.cpp b/Examples/CppClassesInPhp/cppclassinphp.cpp index a0871fc..1b567e1 100644 --- a/Examples/CppClassesInPhp/cppclassinphp.cpp +++ b/Examples/CppClassesInPhp/cppclassinphp.cpp @@ -48,6 +48,11 @@ public: } }; +void myFunction(Php::Parameters ¶ms) +{ + std::cout << "regular function" << std::endl; +} + // Symbols are exported according to the "C" language extern "C" @@ -58,12 +63,18 @@ extern "C" // create extension static Php::Extension extension("Cpp_classes_in_php","1.0"); - // add the custom class ot the extension - extension.add("MyClass", Php::Class<MyCustomClass>({ - Php::Public("myMethod", Php::Method<MyCustomClass>(&MyCustomClass::myMethod),{ - Php::ByVal("newX", Php::numericType) - }) - })); + // add custom function + extension.add("myFunction", myFunction, { }); + + // we are going to define a class + Php::Class<MyCustomClass> customClass("MyClass"); + + // add methods to it + // @todo support setting parameter properties + customClass.add("myMethod", &MyCustomClass::myMethod, {}); + + // add the class to the extension + extension.add(customClass); // return the extension module return extension.module(); |