First pass PHP extension for C++ SCA ------------------------------------ Key: TUSCANY-698 URL: http://issues.apache.org/jira/browse/TUSCANY-698 Project: Tuscany Issue Type: Improvement Components: C++ SCA Affects Versions: Cpp-current Environment: XP Reporter: Simon Laws Priority: Minor
A first pass at an extension for the PHP scripting language. This follows the pattern layed down by Andy with the Python extension and has many limitations: Services only. No references. Basic input types only. No arrays or SDOs Single valued return values only. No arrays or SDOs C++ .h interface Error handling is not properly tied into SCA I used this as an exercise to understand what Pete/Andy had done. As such I have taken the most basic approach to integrating with PHP possible. This is not the way I recommend doing it in the long term. In the future I would want to change at least the following. The embed API needs to be replaced with the PHP SAPI References should be supported using annotations and injection SDO should be supported as a databinding I would prefer to go to using WSDL interface descriptions I have currently followed the pattern and gone with the following implementation descriptions: When the script just has functions <implementation.php module="DivideServiceImpl"/> When the script has classes and functions <implementation.php module="DivideServiceImpl" class="DivideClass"/> In the longer term though I think it may be sensible to ditch the function only approach as it makes the reference handling less obvious. I haven;t included the build file at present because we need to sort out the windows build system and me adding yet another flavour of dev studio will not help. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]