Skip navigation.
Home
That which cannot be rendered in binary is by definition a delusion
 

Modules

The Zupal module system is still very raw; however there are a few principles in place.

  1. Zupal modules are extensions of the Zend Module System and use all conventions found therein.
  2. Because Zupal modules, unlike Zend Modules, include their own bundle of resources that are only used in the context of the module, they contain a Library folder.
  3. All Zupal Classes, inside and outside of modules, are prefixed with Zupal_. All Zupal module classes and models are prefixed with Zupal_[classname]. This also means that to respect the Zend autoloader conventions, the model and library folders are "deep" in order to create the relative classpaths.
  4. Modules have two configuration files, stored in their root: config.xml and menu.xml.* The former is digested by Zupal_Module_Manager_Item. The latter is digested by Zupal_Menu whenever an action is called from the modules' content to insert a module relevant item in the main menu.
  5. Modules will be installed and uninstalled thorugh the Admin menu.
  6. At some point dependency will be a feature of the module system; til then, any resources that more than one module depends on will be globally accessible in the core library and models folders, and modules wil be entirely independant.**

Module Architecture

 

*  In keeping with the "design by contract" scheme of ZF, the INI format will be acceptable for config files when the system is fleshed out as well as XML and who knows, maybe even YAML.

** this rule excludes the core admin and default modules, which should be static; modules can depend on any content in those modules going forwards.

AttachmentSize
Modules.png136.03 KB

Post new comment

  • Allowed HTML tags: <a> <p> <span><small> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <param> <strike> <caption>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options