/** * ParametersImpl.h * * Extended parameters class that can be instantiated * * @author Emiel Bruijntjes * @copyright 2013 Copernica BV */ /** * Set up namespace */ namespace Php { /** * Class definition */ class ParametersImpl : public Parameters { public: /** * Constructor * @param this_ptr Pointer to the object * @param argc Number of arguments * @param tsrm_ls */ ParametersImpl(zval *this_ptr, int argc TSRMLS_DC) : Parameters(this_ptr ? ObjectImpl::find(this_ptr TSRMLS_CC)->object() : nullptr) { // reserve plenty of space reserve(argc); // array to store all the arguments in zval arguments[argc]; // retrieve the arguments zend_get_parameters_array_ex(argc, arguments); // loop through the arguments for (int i=0; i