I know this has been discussed before, but was is the best way to handle
external modules?
I not asking for a place to find modules or for ZF to have a site
dedicated to modules, just want to know what the standard is for
installing a module into your existing system.
To me the library directory in the project structure makes it very
obvious that the classes inside are used as a base library of classes
for your application.
By having external modules in your application directory, it makes it
harder for someone who is less familiar with the history of the project
to know that the code in the "acl" module is external when compared to
the "user" module which was created inside the project.
I guess the issue comes to maintaining a system. As a developer working
on a project you do not want to edit core / external code. For example
if I need to alter the Zend_View, i just don't go into that class and
alter it's behavior. I can use view helpers or extend the class. As a
developer its clear that code in the library folder should not be
touched. In the example above, the new developer would not want to
touch the acl module as it is external to the system, whereas the user
module is okay.
It comes down to what do we think a Zend Framework module is? A self
contained group of code that can be dropped in to any ZF app? Or is it
just a better way to organize and set the boundaries your applications
domain? Should we have another folder under the root of the project ..
maybe extensions ?
I know of ways to achieve this, but I feel, like many others, that the
next big step for ZF (besides v2.0), are 3rd party
modules/extensions/plugin (like joomla, wordpress, drupal, jquery, etc),
and I don't want to break away to much from the standard project
structure to make it as easy as possible to upgrade.
cheers,
pbo
- [fw-general] External Modules Paul
-