Changeset 946

Show
Ignore:
Timestamp:
09/26/07 18:14:04 (1 year ago)
Author:
mikey
Message:

use ioc to create the instance of a memphis extension

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisAbstractExtension.php

    r929 r946  
    4747     * constructor 
    4848     * 
    49      * @param   stubRequest      $request   the request data 
    50      * @param   stubSession      $session   current session 
    51      * @param   stubResponse     $response  contains response data 
    52      * @param   array            $context   optional  additional context data 
     49     * @param   stubRequest   $request   the request data 
     50     * @param   stubSession   $session   current session 
     51     * @param   stubResponse  $response  contains response data 
     52     * @Inject 
    5353     */ 
    54     public function __construct(stubRequest $request, stubSession $session, stubResponse $response, array $context
     54    public function __construct(stubRequest $request, stubSession $session, stubResponse $response
    5555    { 
    5656        $this->request  = $request; 
    5757        $this->session  = $session; 
    5858        $this->response = $response; 
    59         $this->context  = $context; 
     59    } 
     60 
     61    /** 
     62     * sets the context 
     63     * 
     64     * @param  array  $context  additional context data 
     65     * @Inject 
     66     * @Named('context') 
     67     */ 
     68    public function setContext(array $context) 
     69    { 
     70        $this->context = $context; 
    6071    } 
    6172} 
  • trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisExtension.php

    r929 r946  
    2525     * @param   stubSession      $session   current session 
    2626     * @param   stubResponse     $response  contains response data 
    27      * @param   array            $context   optional  additional context data 
    2827     */ 
    29     #public function __construct(stubRequest $request, stubSession $session, stubResponse $response, array $context); 
     28    #public function __construct(stubRequest $request, stubSession $session, stubResponse $response); 
     29 
     30    /** 
     31     * sets the context 
     32     * 
     33     * @param  array  $context  additional context data 
     34     */ 
     35    public function setContext(array $context); 
    3036 
    3137    /** 
  • trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisLoadExtensionPageElement.php

    r929 r946  
    88 */ 
    99stubClassLoader::load('net.stubbles.lang.exceptions.stubIOException', 
     10                      'net.stubbles.ioc.stubBinder', 
    1011                      'net.stubbles.reflection.stubReflectionClass', 
    1112                      'net.stubbles.websites.memphis.stubMemphisExtension', 
     
    6869        } 
    6970         
    70         $extension = $class->newInstanceArgs(array($request, $session, $response, $context)); 
     71        $binder = stubRegistry::get('net.stubbles.ioc.stubBinder'); 
     72        if (($binder instanceof stubBinder) === false) { 
     73            throw new stubRuntimeException('No instance of net.stubbles.ioc.stubBinder in registry.'); 
     74        } 
     75 
     76        $binder->bindConstant()->named('context')->to($context); 
     77        $extension = $binder->getInjector()->getInstance($class->getName()); 
    7178        return $extension->process(); 
    7279    }