diff options
author | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2013-09-15 13:57:53 -0700 |
---|---|---|
committer | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2013-09-15 13:57:53 -0700 |
commit | 9e1ecc534bace7d00a265a49018c0148a56361ae (patch) | |
tree | f7a779b999a7aed942510e3d448355f3554c20c7 /include/environment.h | |
parent | 9634a336f080bc15c1e67495eb9216d1863808f8 (diff) |
Added Environment::call() method that makes it possible to call PHP functions
Diffstat (limited to 'include/environment.h')
-rw-r--r-- | include/environment.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/include/environment.h b/include/environment.h index 6484d83..a7512d7 100644 --- a/include/environment.h +++ b/include/environment.h @@ -107,7 +107,33 @@ public: */ Global operator[](const std::string &name); - + /** + * Call a function in PHP + * We have ten variants of this function, depending on the number of parameters + * @param name Name of the function + * @return Value + */ + Value call(const Value &name); + Value call(const Value &name, Value p0); + Value call(const Value &name, Value p0, Value p1); + Value call(const Value &name, Value p0, Value p1, Value p2); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7, Value p8); + Value call(const Value &name, Value p0, Value p1, Value p2, Value p3, Value p4, Value p5, Value p6, Value p7, Value p8, Value p9); + +private: + /** + * Call function with a number of parameters + * @param name Function name + * @param argc Number of parameters + * @param argv The parameters + * @return Value + */ + Value exec(const Value &name, int argc, struct _zval_struct ***params); protected: /** |