Changeset 3366 for trunk/modules

Show
Ignore:
Timestamp:
08/27/2008 05:15:39 PM (3 months ago)
Author:
Shadowhand
Message:

API CHANGE! Major changes to error reporting, routing, and class naming!

Complete change of autoloading: classes are now loaded by changing underscores to slashes to create a path, eg: Controller_Admin_User would be found at classes/admin/user.php (See routing changes below for more information)

  • All classes (libraries, helpers, controllers, and models) are now stored under the classes/ directory
  • Controllers and models are now prefixed instead of suffixed (eg: Controller_Welcome instead of Welcome_Controller)
  • All classes can now become transparently extensible by adding a "Core" suffix (eg: User_Model_Core extends Model)
  • Archive module has had it's drivers updated with new paths, but other modules will need to be updated, and will be non-functional temporarily

Complete routing change: routes are now defined similar to Horde Routes (see http://dev.horde.org/routes/manual/nitty-gritty-route-setup.html ), see http://paste.isanonymo.us/Dmq6n6FYfHnFFhbFs0weS8KqfDgBiGkS for an example of new routes configuration. Official documentation to follow.

  • Default route in system/config/routes.php changed
  • URI class removed because all arguments are now named (eg: Router::$argumentsid? to fetch the :id arg)
  • Added Router::compile to compile the regex for given route (protected)
  • Added Router::keys to find the :keys from a URI string
  • Added Router::uri to generate a URI from a route name and values (not complete)

Other misc changes:

  • Errors and exceptions are now inline, rather than replacing the entire page. Having core.display_errors disabled has no effect (not complete)
  • Added application/i18n/en_US directory for application language files (eg: Validation errors)
  • UTF-8 environment check moved to bootstrap.php
Location:
trunk/modules/archive
Files:
8 added
2 removed
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/modules/archive/classes/archive.php

    r3326 r3366  
    3030 
    3131                // Set driver name 
    32                 $driver = 'Archive_'.ucfirst($type).'_Driver'; 
     32                $driver = 'Archive_Driver_'.ucfirst($type); 
    3333 
    3434                // Load the driver 
     
    140140        public function download($filename) 
    141141        { 
    142                 download::force($filename, $this->driver->create($this->paths)); 
     142                file::download($filename, $this->driver->create($this->paths)); 
    143143        } 
    144144