Doc #65586 [NEW]: Ambiguity over "deprecation" of SoapClient::__call
| From: | rowan dot collins at gmail dot com | Date: | Thu, 29 Aug 2013 17:36:37 +0000 |
| Subject: | Doc #65586 [NEW]: Ambiguity over "deprecation" of SoapClient::__call | ||
| Groups: | php.doc.bugs | ||
| Request: | Send a blank email to doc-bugs+get-10226@lists.php.net to get a copy of this message | ||
From: rowan dot collins at gmail dot com
Operating system:
PHP version: Irrelevant
Package: SOAP related
Bug Type: Documentation Problem
Bug description:Ambiguity over "deprecation" of SoapClient::__call
Description:
------------
The manual describes the SoapClient::__call() function as "deprecated"
throughout (e.g. http://www.php.net/soapclient.call), stating that one
should "Use SoapClient::__soapCall instead of it."
This could be read to imply that the use of "magically defined" methods on
a SoapClient object is itself deprecated - since __call() will be known to
PHP veterans as the mechanism used for these.
However, under SoapClient::__soapCall()
[http://www.php.net/manual/en/soapclient.soapcall.php] states that
"Usually, in WSDL mode, SOAP functions can be called as methods of the
SoapClient object."
This implies the opposite - that the magic methods are the preferred
mechanism.
I suspect that the intention is to discourage *direct* calls to __call(),
in which case perhaps the following wording would be more appropriate:
> Calling this method directly is deprecated. Usually, SOAP functions can
be called as methods of the SoapClient object; in situations where this is
not possible or additional options are needed, use
[SoapClient::__soapCall].
Examples of current wording being misinterpreted:
- Bug #37355: "SOAP uses deprecated __call method by default" (Closed Not a
bug)
- Answer given on StackOverflow not to use direct calls
http://stackoverflow.com/a/18495482/157957
[If, on the other hand, it is correct that magic calls are deprecated, the
wording on http://www.php.net/manual/en/soapclient.soapcall.php
should be
updated to reflect that.]
--
Edit bug report at https://bugs.php.net/bug.php?id=65586&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=65586&r=trysnapshot54
Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=65586&r=trysnapshot53
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=65586&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=65586&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=65586&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=65586&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=65586&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=65586&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=65586&r=support
Expected behavior: https://bugs.php.net/fix.php?id=65586&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=65586&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=65586&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=65586&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65586&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=65586&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=65586&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=65586&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=65586&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=65586&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=65586&r=mysqlcfg