That was the actual solution i've found for myself and i corrected it in the 
efire_paypal module. somewhere oxcountry was set directly, and so the magic 
getter wasn't used and encountered an error with paypal interface because an 
empty string was delivered. I used standard oxid_efi_module in oxid 4.1.2 with 
no other modules installed. And i don't altered any line of the modules source 
before.

> oxuser__oxcountry property is not a good example
> because it is supposed never to be set from outside.

Thats, in fact, a problem. A attribute which is not supposed to be set from 
outside shouldn't be public. But you said it's deprecated and i think that 
means that it not will be public anymore in the future.

For the change to getters and setters i have a suggestion: To slowly establish 
this system, the getters and setters could be implemented until 4.3 or 4.4. To 
ensure backwards compability, you could keep the actual system alive by using 
__set() and __get() magic methods which would do nothing else then call the 
"real" getters and setters for the requested property.

So templates would remain functional, and partners could be advised to use 
directly the getDATABASEPROPERTY and setDATABASEPROPERTY methods instead of the 
old propertys. And OXID can remove all public property accessing step by step 
and it don't has to happen in one big release.

In OXID 5 or any other big release, you could turn the old system off, simply 
by removing the __get and __set magic methods. 

_______________________________________________
dev-general mailing list
[email protected]
http://dir.gmane.org/gmane.comp.php.oxid.general

Reply via email to