[ 
https://issues.apache.org/jira/browse/SHINDIG-678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nagy Attila updated SHINDIG-678:
--------------------------------

        Fix Version/s: 1.0.x-incubating
                       1.0.0-rc1
                       trunk
    Affects Version/s: 1.0.x-incubating
                       1.0.0-rc1
                       trunk

> Autoloader chain
> ----------------
>
>                 Key: SHINDIG-678
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-678
>             Project: Shindig
>          Issue Type: Improvement
>          Components: PHP
>    Affects Versions: trunk, 1.0.0-rc1, 1.0.x-incubating
>            Reporter: Nagy Attila
>            Priority: Minor
>             Fix For: trunk, 1.0.0-rc1, 1.0.x-incubating
>
>         Attachments: shindig_autoloader_chain-tab.patch
>
>
> 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