> What functionality is it that you feel is lacking from sapi/embed? I know > that C != C++, but C++ can certainly link against C libraries and using > sapi/embed is pretty well dirt-simple. Or were you planning on dumbing it > down to the point where the C++ developer doesn't need to know what zval* > is, let alone how to interact with script code. Yes, I want to make it easy for someone who doesn't know anything about how to handle core PHP/Zend code. Here is a litte sample of what already can be done with it:
#include "php-cpp.h" PHPCPP_FUNCTION( my_func ) { PHPCPP_CHECKARG( 1 ); PHPCPP_VECTORIZE( Params ); Params[ 0 ]++; PHPCPP_RETURN( Params[ 0 ] ); } int main( ) { // Initialize, called once per app. Php :: Initialize( ); Php :: AddFunctionEx( my_func ); Php :: RequestStart( ); { Php :: clZval A( 10 ); Php :: clZval B( 20 ); Php :: clZval C; C = A + B; Php :: SetGlobal( "foo", C ); Php :: Interpret( "echo( my_func( $foo ) );" ); } Php :: RequestEnd( ); Php :: Destroy( ); } (This code is untested, I've wrote it from memory =P) > That depends very largely on whether or not you want it to be PHP4 > compatable. The structure is similar enough that PHP4 classes will work in > PHP5, but if you're willing to eschew PHP4 support, it'd be best to go with > a clean PHP5 design.... I'm not aiming for PHP4. I even have this in my code: #define PHPCPP_PHPVERSION ( PHP_MAJOR_VERSION * 10 + PHP_MINOR_VERSION ) #if PHPCPP_PHPVERSION < 51 #error "Only PHP 5.1.0 and up is supported!" #endif > Wait.... are you planning on giving your PHP scripts direct access to your > C++ object instances? Thats.... daring... Basically, yes. =) -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php