PHP Interface

Hello,

When generating the PHP interface, in some functions, declarations like:

    ...
    // GetSchema($SessionId : String, aFilter: Utf8String) {
    function GetSchema_with_SessionID($SessionId$aFilter) {
        $___msg = new xmlrpcmsg("DataAbstractService.GetSchema");
   ...

where the comma is missing between $SessionId and $aCommandName

Starting with PHP 5 it seems that the constructor is not declared as a function with the class name but with
public function __construct(
and the object is not initialized properly

Which version of phpxmlrpc should I use? The current version 4.11.1 seems a little different
A migration to PHP 8.x is required where the older version I was using no longer works at all.

Hi,

fixed

fixed.

from PHP: Constructors and Destructors - Manual

Old-style constructors

Prior to PHP 8.0.0, classes in the global namespace will interpret a method named the same as the class as an old-style constructor. That syntax is deprecated, and will result in an E_DEPRECATED error but still call that function as a constructor. If both __construct() and a same-name method are defined, __construct() will be called.

In namespaced classes, or any class as of PHP 8.0.0, a method named the same as the class never has any special meaning.

Always use __construct() in new code.

from http://gggeek.github.io/phpxmlrpc/:

PHP 5.4.0 or later; 7.4 or later recommended

Logged as bugs://D19521.

bugs://D19521 was closed as fixed.