Autoloader chain
----------------

                 Key: SHINDIG-678
                 URL: https://issues.apache.org/jira/browse/SHINDIG-678
             Project: Shindig
          Issue Type: Improvement
          Components: Common Components (PHP)
            Reporter: Nagy Attila
            Priority: Minor


During integrating shindig with a more complex container it would be nice to be 
possible to use the container's autoloader also. Unfortunately php allows only 
one __autoload method to exists, so it should function as a chain: if one does 
not find the class, then calls the second one.

As a starting point I've attached my solution on this: I've modified Shindig's 
autoloader so that if the class is not found then it will check the 
'extension_autoloader' configuration parameter, and if a function named like 
this exists it will call it. This way I could hook up our fairly different 
autoloader, and Service classes are able to call the container's controller 
classes directly.

Yet there are still a few questions to think about:
 - should this chain be located before, or after shindig autoloader? If it's 
before, it may break shindig, if two classes of the same name exists. If it's 
behind, many unnecessary file_exists() are performed, what is generally not a 
good idea.
 - where should one place his autoloader function? It should be accessible from 
the autoload method, so can't be loaded through the autoloader. This could be 
elliminated if the chained autoloader should be a class method, so that it 
could be loaded through the autloader. Now I just placed my function into 
config/local.php, what works fine also.
 - is this configuration parameter ok?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to