Thanks for your great work. I have a few suggestions after running wsdl2php against my Salesforce.com enterprise wsdl, I encounted the following issues that I corrected manually:
1) Salesforce has an object called Case, which is a php reserved word. I renamed it and changed the classmap accordingly, but you might check for that or provide a way to override certain names at code generation time.
2) Certain constants contained colons in their definitions. I changed them to underscores. For example:
class soapType {
const tns_ID = 'tns:ID';
const xsd_base64Binary = 'xsd:base64Binary';
const xsd_boolean = 'xsd:boolean';
const xsd_double = 'xsd:double';
const xsd_int = 'xsd:int';
const xsd_string = 'xsd:string';
const xsd_date = 'xsd:date';
const xsd_dateTime = 'xsd:dateTime';
const xsd_anyType = 'xsd:anyType';
}
3) There was a duplicate class definition, which I suppose is valid from a wsdl perspective, but php did not like it. In this case:
class DescribeLayout {
vs.
class describeLayout {
I changed DescribeLayout to DescribeLayout_1 and changed the classmap.