simonslaws-gM/[EMAIL PROTECTED] wrote:
> 
> 
> On 4 Jul, 09:30, simonsl...-gM/[EMAIL PROTECTED] wrote:
>> It would seem to be the case that if you implement a service using a
>> class that implements an interface then SCA doesn't recognize it as a
>> service. For example, with the service:
>>
>> /**
>>  * @service
>>  * @binding.restresource
>>  * @types urn::orderNS Orders.xsd
>>  */
>> class Orders implements SCA_Bindings_restresource_ResourceTemplate
>> {
>>
>> I get the
>>
>> SCA::initComponent - included by a client  script that is not a
>> component In the log. 
> 
> It seems that PHP does not recognize a class that implements an
> interface as declared in the code before the class declaration is
> placed [1]. As our SCA.php include comes before the class declaration
> the class_exists test in the
> _includedByAClientScriptThatIsNotAComponent() function is bailing out.
> 
> The use of an interface in my example is not mandatory, just a
> convenience. The immediate solutions are to either
> 
> - Stop using the interface
> - move the SCA.php include to the bottom of the file
> 
> Both provide satisfaction but reduce flexibility for the user. Anyone
> know how to get round this class_exists issue?

Simon, is there a reason why you cannot include >just< the interface you 
need, rather than the whole of SCA.php? Or is it going to get dragged in 
anyway?

One thing that might help is to look at adding an spl_autoload usage 
into SCA. There's already a dependency on spl, so it wouldn't be 
introducing a new one. And spl_autoload is better than the basic 
__autoload, because it doesn't hijack the "classpath", it chains it 
through subsequent spl_autoload_register()s.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to phpsoa@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.co.uk/group/phpsoa?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to