Like many projects, we’re running two streams of releases, stable and devel. The development release includes the test runner and all unit and web tests, as well as developer docs which include Poseidon UML diagrams, etc. It’s recommended for folks who are interested in how the code works, though for browser based users there is little visible difference to the last stable release – download here.
The release focuses on improving code internals and has been about 1 month’s worth of refactoring geared towards improving the loose coupling and high cohesion of framework components.
- a new SGL_Config class for easy loading of config files, file type discovery and data format handled silently; ini, php array and xml types currently implemented
- an improved SGL_Request object that internally resolves HTTP and CLI request types
- a new SGL_URL object derived from PEAR’s Net_Url that abstracts and organises various url formats, classic querystring and Seagull’s Search Engine Friendly format are currently supported
- a new flexible SGL_View object that integrates with the template engine of your choice and supports customised workflow for HTML and XML output (read: easy support for PDA output). Flexy is still the default but hooks now exist for Smarty or any other OO engine.
- customisable pre and post process pipelines discussed earlier here.
- use of global vars almost completely eliminated
- 100 new unit and web tests added (each screen loading tested)
- CSS reorganised to be more modular thanks to some tips from Mike Stenhouse and implementation by Riccardo Magliocchetti
- all application resources now stored in a registry singleton for easy, appwide access. It currently manages session, current url, config and request objects
- a range of filesystem finder objects for easy retrieval of system resources