Changeset 1098

Show
Ignore:
Timestamp:
11/30/07 16:50:58 (8 months ago)
Author:
mikey
Message:

Further improvement for enhancement #113: removed setting the mode in the registry, the current mode is now given by stubMode::$CURRENT and can be set via stubMode::setCurrent(). If not explicitly set stubMode::$CURRENT points to stubMode::$PROD.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/lang/stubMode.php

    r1097 r1098  
    3939 * this is not done automatically, regardless whether you set your own ones or 
    4040 * not. Use registerExceptionHandler() and registerErrorHandler() to do so. 
     41 *  
     42 * Additionally there exists stubMode::$CURRENT. This points to the currently 
     43 * selected mode. Without further action this is stubMode::$PROD. You can set 
     44 * the current mode with stubMode::setCurrent(). 
    4145 * 
    4246 * @package     stubbles 
     
    4751{ 
    4852    /** 
    49      * key for accessing the selected mode instance  
    50      * 
    51      */ 
    52     const REGISTRY_KEY          = 'net::stubbles::lang::mode'; 
    53     /** 
    5453     * handler method must be called statically 
    5554     */ 
     
    8382     */ 
    8483    public static $DEV; 
     84    /** 
     85     * current selected mode, default: PROD 
     86     * 
     87     * @var  stubMode 
     88     */ 
     89    public static $CURRENT; 
    8590    /** 
    8691     * exception handler to be used in the mode 
     
    144149                                          ); 
    145150        self::$DEV->cacheEnabled        = false; 
     151         
     152        // current mode, by default PROD 
     153        self::$CURRENT                  = self::$PROD; 
     154    } 
     155 
     156    /** 
     157     * sets the current mode 
     158     * 
     159     * @param  stubMode  $mode 
     160     */ 
     161    public static function setCurrent(self $mode) 
     162    { 
     163        self::$CURRENT = $mode; 
    146164    } 
    147165 
  • trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisProcessor.php

    r1097 r1098  
    7373    { 
    7474        $template =  new stubMemphisTemplate(stubRegistry::getConfig('net.stubbles.websites.memphis.templateDir', stubConfig::getPagePath() . '/../templates')); 
    75         if (stubRegistry::get(stubMode::REGISTRY_KEY, stubMode::$PROD)->isCacheEnabled() === true) { 
     75        if (stubMode::$CURRENT->isCacheEnabled() === true) { 
    7676            $template->enableCache(); 
    7777        } 
  • trunk/src/main/php/net/stubbles/websites/stubFrontController.php

    r1097 r1098  
    111111        $mode->registerErrorHandler(); 
    112112        $mode->registerExceptionHandler(); 
    113         stubRegistry::set(stubMode::REGISTRY_KEY, $mode); 
     113        stubMode::setCurrent($mode); 
    114114    } 
    115115 
  • trunk/src/test/php/net/stubbles/lang/stubModeTestCase.php

    r1096 r1098  
    8686{ 
    8787    /** 
     88     * set up test environment 
     89     */ 
     90    public function setUp() 
     91    { 
     92        stubMode::setCurrent(stubMode::$PROD); 
     93    } 
     94 
     95    /** 
     96     * clean up test environment 
     97     */ 
     98    public function tearDown() 
     99    { 
     100        stubMode::setCurrent(stubMode::$PROD); 
     101    } 
     102 
     103    /** 
    88104     * assure that creating the callback work as expected 
    89105     */ 
     
    187203        ); 
    188204    } 
     205 
     206    /** 
     207     * test that current mode is a reference to the selected mode 
     208     */ 
     209    public function testCurrent() 
     210    { 
     211        // PROD is the default current mode 
     212        $this->assertReference(stubMode::$CURRENT, stubMode::$PROD); 
     213        stubMode::setCurrent(stubMode::$DEV); 
     214        $this->assertReference(stubMode::$CURRENT, stubMode::$DEV); 
     215    } 
    189216} 
    190217?>