Emerald Powerhouse Core
Written on Sun, 20 Sep 2009 22:30:17 +0000 - Last updated on Fri, 12 Feb 2010 21:02:53 +0000Current release: 0.0.2 (internal, as December Framework)
Future release: 1.2 (as Emerald Powerhouse Core)
Todo
- Child modules support
- Refactor rendering engine
- Move module loader into new class
- $trenchcoat->modules->get("face::foo::bar");
- :: and \ can be used in place of / (all are translated to /)
- Or: $trenchcoat->getModule("face::foo::bar");
- One module loader works for all types of modules
- However, Face modules are not loaded all at once
- Variable scope between view and logic
- Code: $this->foo...
- View: &{this.foo};
- Fix AJAX bridge
- Properly JSONify arrays & objects coming from JS side to PHP side
- Remove dependency on jQuery
- on_404/custom rerouting hooks
- Consider remove Part modules
- Refactor directory structure
- module directory: Module.class.php, views, templates, css, js, inc, modules
- To check for existence of module face/foo/bar:
- To check for existence of a face module action (which has view)
- is_file("modules/face/foo/bar/views/Action.html");
- ".view" replaced with format-specific extension (.html, .rss, .xml...)
- allows one output from the module to be represented in many formats
- templates have .html, etc. too
- "layout" is moved to templates directory
- To load resources (JS, CSS) for module face::foo::bar
- Check if module is a Face
- Load resources for foo::bar
- Load resources for foo
- Load global resources
- Load Trenchcoat-specific JS framework code
- All of these stack on top of each other: global resources are includes before "foo" resources, which are included before "bar" resources
- To load a template for module face::foo::bar (example: layout.html)