-- Steven Szymczak <[EMAIL PROTECTED]> wrote
(on Saturday, 18 October 2008, 06:09 PM +0100):
> How about "global" forms/helpers/filters?  My current structure follows:
>
> application/
>       configs/
>       filters/
>       forms/
>       helpers/
>       modules/
>               blog/
>                       controllers/
>                               helpers/
>
> Where the top-level filters/forms/helpers directories contain things  
> that are, or could be, used by multiple modules, such as a helper that  
> sets up variables used by every view script, a login form, and a  
> "stripslashes" filter.
>
> Is there a best practice for handling those situations?

Put them in your library code.

    application/
    library/
        <your_prefix_here>/
            Controller/
                Action/
                    Helper/
                Plugin/
            Form/
                Decorator/
                Element/

etc.

Alternately, another approach I've seen is that anything global to the
application goes in your default module. However, if you feel it is
functionality that will be used cross-module, then typically this can be
considered library code, and should go into your custom library
extensions.

> Matthew Weier O'Phinney wrote:
>> -- Ralf Eggert <[EMAIL PROTECTED]> wrote
>> (on Saturday, 18 October 2008, 11:50 AM +0200):
>>> Hi,
>>>
>>> currently the forms and plugins are not handled in the default project
>>> structure. At least I don't see them:
>>>
>>> http://framework.zend.com/wiki/x/6KM
>>>
>>> I would put them under application/ and application/modules/ respectively:
>>>
>>> application/forms/
>>
>> Actually, it looks like we need to update that document; in the
>> QuickStart, we defined exactly the above for forms.
>>
>>> application/plugins/
>>
>> Plugins, on the other hand, we did not define in the structure. Since
>> plugins are Zend_Controller-specific, it would make sense to put them in
>> the same hierarchy as action helpers -- so, like this:
>>
>>     application/
>>         controllers/
>>             helpers/
>>             plugins/
>>
>> and they would be prefixed with the given module name (if not default):
>>
>>     application/
>>         modules/
>>             blog/
>>                 controllers/
>>                     plugins/
>>                         Foo.php - Blog_Controller_Plugin_Foo or 
>> Blog_Plugin_Foo
>>
>> Note that I have two naming conventions there -- we need to finalize a
>> decision on that. I used the latter convention for the Bug tracker
>> application I used in the DPC workshop.
>>
>>> application/modules/blog/forms/
>>> application/modules/blog/plugins/
>>>
>>> Is this the current best practice?
>>>
>>> And how should form and plugin classes be named? And what about form and
>>> plugin loading? Is a Zend_Loader_PluginLoader Object to load forms and
>>> plugins the best practice?
>>
>> Currently, yes. There is a proposal for a ResourceLoader action helper
>> currently that would make loading forms and models trivial (and would
>> use the PluginLoader under the hood). The bug application I referenced
>> above uses the PluginLoader for these tasks -- and you can see how it
>> does that in the source for it:
>>
>>     http://github.com/weierophinney/bugapp/tree
>>
>

-- 
Matthew Weier O'Phinney
Software Architect       | [EMAIL PROTECTED]
Zend Framework           | http://framework.zend.com/

Reply via email to