EXTMVC:
authorJochen Rau <j.rau@web.de>
Tue, 17 Mar 2009 22:32:08 +0000 (22:32 +0000)
committerJochen Rau <j.rau@web.de>
Tue, 17 Mar 2009 22:32:08 +0000 (22:32 +0000)
* Several fixes and added comments according to the review of Sebastian Kurf├╝rst (thanks a lot)

15 files changed:
typo3/sysext/extbase/Classes/Configuration/Source/TX_EXTMVC_Configuration_Source_FlexForm.php
typo3/sysext/extbase/Classes/Configuration/Source/TX_EXTMVC_Configuration_Source_TS.php
typo3/sysext/extbase/Classes/Configuration/TX_EXTMVC_Configuration_Manager.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_AbstractController.php
typo3/sysext/extbase/Classes/Controller/TX_EXTMVC_Controller_ActionController.php
typo3/sysext/extbase/Classes/DomainObject/TX_EXTMVC_DomainObject_AbstractDomainObject.php
typo3/sysext/extbase/Classes/DomainObject/TX_EXTMVC_DomainObject_Entity.php
typo3/sysext/extbase/Classes/DomainObject/TX_EXTMVC_DomainObject_ValueObject.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_ObjectStorage.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_QueryFactoryInterface.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_QueryInterface.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_Repository.php
typo3/sysext/extbase/Classes/Persistence/TX_EXTMVC_Persistence_Session.php
typo3/sysext/extbase/Classes/View/TX_EXTMVC_View_TemplateView.php
typo3/sysext/extbase/class.tx_extmvc_dispatcher.php

index f708669..c2aadeb 100644 (file)
@@ -1,17 +1,26 @@
 <?php
-
-/*                                                                        *
- * This script is part of the TYPO3 project - inspiring people to share!  *
- *                                                                        *
- * TYPO3 is free software; you can redistribute it and/or modify it under *
- * the terms of the GNU General Public License version 2 as published by  *
- * the Free Software Foundation.                                          *
- *                                                                        *
- * This script is distributed in the hope that it will be useful, but     *
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
- * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General      *
- * Public License for more details.                                       *
- *                                                                        */
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
 
 /**
  * Configuration source based on FlexForm settings
@@ -37,9 +46,8 @@ class TX_EXTMVC_Configuration_Source_FlexForm implements TX_EXTMVC_Configuration
                $this->flexFormContent = $flexFormContent;
        }
 
-       // SK: Change Doc comment
        /**
-        * Loads the specified TypoScript configuration file and returns its content in a
+        * Loads the specified FlexForm configuration  and returns its content in a
         * configuration container. If the file does not exist or could not be loaded,
         * the empty configuration container is returned.
         *
@@ -48,8 +56,9 @@ class TX_EXTMVC_Configuration_Source_FlexForm implements TX_EXTMVC_Configuration
         */
         public function load($extensionKey) {
                $settings = array();
-               // SK. I'd say this does not work in case $this->flexFormContent IS already an array. Can this happen?
-               if (!is_array($this->flexFormContent) && $this->flexFormContent) {
+               if (is_array($this->flexFormContent)) {
+                       $flexFormArray = $this->flexFormContent;
+               } elseif (!empty($this->flexFormContent)) {
                        $flexFormArray = t3lib_div::xml2array($this->flexFormContent);
                }
                $sheetArray = $flexFormArray['data']['sDEF']['lDEF'];
index ddd863d..659550b 100644 (file)
@@ -1,17 +1,26 @@
 <?php
-
-/*                                                                        *
- * This script is part of the TYPO3 project - inspiring people to share!  *
- *                                                                        *
- * TYPO3 is free software; you can redistribute it and/or modify it under *
- * the terms of the GNU General Public License version 2 as published by  *
- * the Free Software Foundation.                                          *
- *                                                                        *
- * This script is distributed in the hope that it will be useful, but     *
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
- * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General      *
- * Public License for more details.                                       *
- *                                                                        */
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
 
 /**
  * Configuration source based on TS settings
index 3da4c8f..732a3bb 100644 (file)
@@ -109,7 +109,6 @@ class TX_EXTMVC_Configuration_Manager implements t3lib_Singleton {
                foreach ($this->configurationSources as $configurationSource) {
                        $settings = t3lib_div::array_merge_recursive_overrule($settings, $configurationSource->load($extensionKey));
                }
-               // $this->postProcessSettings($settings);
                $this->settings[$extensionKey] = $settings;
        }
 
index eb1470e..dae0652 100755 (executable)
@@ -80,7 +80,7 @@ abstract class TX_EXTMVC_Controller_AbstractController implements TX_EXTMVC_Cont
         * Injects the settings of the extension.
         *
         * @param array $settings Settings container of the current extension
-               * @return void
+        * @return void
         */
        public function injectSettings(array $settings) {
                $this->settings = $settings;
@@ -102,9 +102,17 @@ abstract class TX_EXTMVC_Controller_AbstractController implements TX_EXTMVC_Cont
                $this->initializeArguments();
                $this->mapRequestArgumentsToLocalArguments();
        }
-       // SK: PHPDoc
-       public function isCachableAction($action) {
-               if (in_array($action, $this->nonCachableActions)) return FALSE;
+
+       /**
+        * Returns TRUE if the given action (a name of an action like 'show'; without 
+        * trailing 'Action') should be cached, otherwise it returns FALSE.
+        *
+        * @param string $actionName 
+        * @return void
+        * @author Jochen Rau <jochen.rau@typoplanet.de>
+        */
+       public function isCachableAction($actionName) {
+               if (in_array($actionName, $this->nonCachableActions)) return FALSE;
                return TRUE;
        }
 
@@ -151,7 +159,6 @@ abstract class TX_EXTMVC_Controller_AbstractController implements TX_EXTMVC_Cont
                $escapedUri = htmlentities($uri, ENT_QUOTES, 'utf-8');
                $this->response->setContent('<html><head><meta http-equiv="refresh" content="' . intval($delay) . ';url=' . $escapedUri . '"/></head></html>');
                $this->response->setStatus($statusCode);
-               // $this->response->setHeader('Location', (string)$uri);
                throw new TX_EXTMVC_Exception_StopAction();
        }
 
index 19d1e60..cdec9ea 100644 (file)
@@ -123,8 +123,6 @@ class TX_EXTMVC_Controller_ActionController extends TX_EXTMVC_Controller_Abstrac
         * @return void
         */
        protected function initializeView() {
-               // TODO Reslove View Object name
-               // SK: I think the above TODO can be removed, right?
                $viewObjectName = ($this->viewObjectName === NULL) ? $this->resolveViewObjectName() : $this->viewObjectName;
                if ($viewObjectName === FALSE) $viewObjectName = 'TX_EXTMVC_View_EmptyView';
 
index 4b7c18b..6c80977 100644 (file)
@@ -20,8 +20,6 @@
  * The TYPO3 project - inspiring people to share!                         *
  *                                                                        */
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/Mapper/TX_EXTMVC_Persistence_Mapper_ObjectRelationalMapper.php');
-
 /**
  * A generic Domain Object
  *
@@ -63,11 +61,11 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
        }
 
        /**
-        * A template function to initialize an object
+        * A template method to initialize an object. This can be used to manipulate the object after
+        * reconstitution and before the clean state of it's properties is stored.
         *
         * @return void
         */
-       // SK: Add a short comment how this method can be used
        protected function initializeObject() {
        }
 
@@ -86,13 +84,13 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
         * @param string $propertyName
         * @param string $value
         * @return void
+        * @internal
         */
-       // SK: add @internal annotation, and a big fat warning that this should not be used!!
        public function _reconstituteProperty($propertyName, $value) {
                if (property_exists($this, $propertyName)) {
                        $this->$propertyName = $value;
                } else {
-                       // TODO throw new TX_EXTMVC_Persistence_Exception_UnknownProperty('The property "' . $propertyName . '" doesn\'t exist in this object.', 1233270476);
+                       // TODO Should we throw new TX_EXTMVC_Persistence_Exception_UnknownProperty('The property "' . $propertyName . '" doesn\'t exist in this object.', 1233270476);
                }
        }
 
@@ -101,8 +99,8 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
         * from the database
         *
         * @return void
+        * @internal
         */
-       // SK: add @internal annotation, and a big fat warning that this should not be used!!
        public function _memorizeCleanState() {
                $this->initializeCleanProperties();
                $cleanProperties = array();
@@ -113,13 +111,13 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
        }
 
        /**
-        * returns TRUE if the properties were modified after reconstitution
+        * Returns TRUE if the properties were modified after reconstitution
         *
         * @return boolean
+        * @internal
         */
-       // SK: add @internal annotation, and a big fat warning that this should not be used!!
        public function _isDirty() {
-               // if (!is_array($this->cleanProperties)) throw new TX_EXTMVC_Persistence_Exception_CleanStateNotMemorized('The clean state of the object "' . get_class($this) . '" has not been memorized before asking _isDirty().', 1233309106);
+               if (!is_array($this->cleanProperties)) throw new TX_EXTMVC_Persistence_Exception_CleanStateNotMemorized('The clean state of the object "' . get_class($this) . '" has not been memorized before asking _isDirty().', 1233309106);
                if ($this->uid !== NULL && $this->uid != $this->cleanProperties['uid']) throw new TX_EXTMVC_Persistence_Exception_TooDirty('The uid "' . $this->uid . '" has been modified, that is simply too much.', 1222871239);
                foreach ($this->cleanProperties as $propertyName => $propertyValue) {
                        if ($this->$propertyName !== $propertyValue) return TRUE;
@@ -131,8 +129,8 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
         * Returns a hash map of property names and property values
         *
         * @return array The properties
+        * @internal
         */
-       // SK: add @internal annotation, and a big fat warning that this should not be used!!
        public function _getProperties() {
                return get_object_vars($this);
        }
@@ -141,8 +139,8 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
         * Returns a hash map of dirty properties and $values
         *
         * @return boolean
+        * @internal
         */
-       // SK: add @internal annotation, and a big fat warning that this should not be used!!
        public function _getDirtyProperties() {
                if (!is_array($this->cleanProperties)) throw new TX_EXTMVC_Persistence_Exception_CleanStateNotMemorized('The clean state of the object "' . get_class($this) . '" has not been memorized before asking _isDirty().', 1233309106);
                if ($this->uid !== NULL && $this->uid != $this->cleanProperties['uid']) throw new TX_EXTMVC_Persistence_Exception_TooDirty('The uid "' . $this->uid . '" has been modified, that is simply too much.', 1222871239);
@@ -155,7 +153,13 @@ abstract class TX_EXTMVC_DomainObject_AbstractDomainObject {
                return $dirtyProperties;
        }
 
-       // SK: PHPDoc
+       /**
+        * Saves a copy of values of the persitable properties inside the object itself. This method is normally
+        * called right after it's reconstitution from a storage. 
+        *
+        * @return void
+        * @author Jochen Rau <jochen.rau@typoplanet.de>
+        */
        private function initializeCleanProperties() {
                $properties = get_object_vars($this);
                $dataMapper = t3lib_div::makeInstance('TX_EXTMVC_Persistence_Mapper_ObjectRelationalMapper');
index ca5ff3e..2a9e352 100644 (file)
  * The TYPO3 project - inspiring people to share!                         *
  *                                                                        */
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/DomainObject/TX_EXTMVC_DomainObject_AbstractDomainObject.php');
-
 /**
- * A generic Entity Object
+ * A generic Entity. An Entity is an object fundamentally defined not by its attributes, 
+ * but by a thread of continuity and identity (e.g. a person).
  *
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-// TODO: PHPDoc explaining what an Entity is
-class TX_EXTMVC_DomainObject_Entity extends TX_EXTMVC_DomainObject_AbstractDomainObject {
+abstract class TX_EXTMVC_DomainObject_Entity extends TX_EXTMVC_DomainObject_AbstractDomainObject {
 }
 ?>
\ No newline at end of file
index b9d94b3..5b4da31 100644 (file)
  * The TYPO3 project - inspiring people to share!                         *
  *                                                                        */
 
-require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/DomainObject/TX_EXTMVC_DomainObject_AbstractDomainObject.php');
-
 /**
- * A generic Value Object
+ * A generic Value Object. A Value Object is an object that describes some characteristic 
+ * or attribute but carries no concept of identity (e.g. a color).
  *
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
index 18b9ee0..ad4e2d8 100644 (file)
@@ -29,6 +29,7 @@
  */
 class TX_EXTMVC_Persistence_ObjectStorage implements Iterator, Countable, ArrayAccess {
 // SK: Why not use SplObjectStorage?
+// JR: SplObjectStorage isn't fully implemented in PHP 5.2.x
        /**
         * The array holding references to the stored objects.
         *
index f87ac6c..c72013c 100644 (file)
@@ -26,7 +26,7 @@
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-// SK: We do not need this class currently, right?
+// TODO Do we want to have this class? - If not: remove.
 interface QueryFactoryInterface {
 
        /**
index 9f0c63f..fb2f21d 100644 (file)
@@ -26,7 +26,7 @@
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-// SK: We do not need this class currently, right?
+// TODO Do we want to have this class? - If not: remove.
 interface QueryInterface {
 
        /**
index d55626b..2f5fd0c 100644 (file)
@@ -32,10 +32,7 @@ require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Pe
  * @version $Id:$
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
-class TX_EXTMVC_Persistence_Repository implements TX_EXTMVC_Persistence_RepositoryInterface, t3lib_Singleton {
-
-// TODO make abstract
-// SK: See above ;-)
+abstract class TX_EXTMVC_Persistence_Repository implements TX_EXTMVC_Persistence_RepositoryInterface, t3lib_Singleton {
 
        /**
         * Class Name of the aggregate root
index 01661de..37b9c3c 100644 (file)
@@ -31,32 +31,35 @@ require_once(t3lib_extMgm::extPath('extmvc') . 'Classes/Persistence/TX_EXTMVC_Pe
  * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
  */
 class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
-// TODO Implement against SessionInterface
-// SK: Why should we need to implement this against an interface?
 
        /**
-        * Objects added to the repository but not yet persisted in the persistence backend
+        * Objects added to the repository but not yet persisted in the persistence backend.
+        * The relevant objects are registered by the TX_EXTMVC_Persistence_Repository.
         *
         * @var TX_EXTMVC_Persistence_ObjectStorage
         */
        protected $addedObjects;
 
        /**
-        * Objects removed but not yet persisted in the persistence backend
+        * Objects removed but not yet persisted in the persistence backend.
+        * The relevant objects are registered by the TX_EXTMVC_Persistence_Repository.
         *
         * @var TX_EXTMVC_Persistence_ObjectStorage
         */
        protected $removedObjects;
 
        /**
-        * Objects which were reconstituted
+        * Objects which were reconstituted. The relevant objects are registered by 
+        * the TX_EXTMVC_Persistence_Mapper_ObjectRelationalMapper.
         *
         * @var TX_EXTMVC_Persistence_ObjectStorage
         */
        protected $reconstitutedObjects;
 
-       // SK: Add comment here please :-) As I do not know what this means or when it is set
        /**
+        * This is an array of aggregate root class names. Aggegate root objects are an entry point to start committing
+        * changes. Aggregate root class names are registered by the TX_EXTMVC_Persistence_Repository.
+        * 
         * @var array
         */
        protected $aggregateRootClassNames = array();
@@ -72,12 +75,11 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
        }
 
        /**
-        * Registers an added object
+        * Registers an added object.
         *
         * @param TX_EXTMVC_DomainObject_AbstractDomainObject $object
         * @return void
         */
-       // SK: When is this method called?
        public function registerAddedObject(TX_EXTMVC_DomainObject_AbstractDomainObject $object) {
                if ($this->reconstitutedObjects->contains($object)) throw new InvalidArgumentException('The object was registered as reconstituted and can therefore not be registered as added.');
                $this->removedObjects->detach($object);
@@ -91,6 +93,7 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
         * @return void
         */
        // SK: When is this method called?
+       // JR: $this->unregisterObject() to clear the session
        public function unregisterAddedObject(TX_EXTMVC_DomainObject_AbstractDomainObject $object) {
                $this->addedObjects->detach($object);
        }
@@ -99,9 +102,8 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
         * Returns all objects which have been registered as added objects
         *
         * @param string $objectClassName The class name of objects to be returned
-        * @return TX_EXTMVC_Persistence_ObjectStorage All added objects
+        * @return array All added objects
         */
-       // SK: Wrong PHPDoc. Returns a normal array, and no ObjectStorage
        public function getAddedObjects($objectClassName = NULL) {
                $addedObjects = array();
                foreach ($this->addedObjects as $object) {
@@ -127,7 +129,6 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
         * @param TX_EXTMVC_DomainObject_AbstractDomainObject $object
         * @return void
         */
-       // SK: when is this called?
        public function registerRemovedObject(TX_EXTMVC_DomainObject_AbstractDomainObject $object) {
                if ($this->addedObjects->contains($object)) {
                        $this->addedObjects->detach($object);
@@ -150,9 +151,8 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
         * Returns all objects which have been registered as removed objects
         *
         * @param string $objectClassName The class name of objects to be returned
-        * @return TX_EXTMVC_Persistence_ObjectStorage All removed objects
+        * @return array All removed objects
         */
-       // SK: Wrong PHPDoc. Returns a normal array, and no ObjectStorage
        public function getRemovedObjects($objectClassName = NULL) {
                $removedObjects = array();
                foreach ($this->removedObjects as $object) {
@@ -198,9 +198,8 @@ class TX_EXTMVC_Persistence_Session implements t3lib_singleton {
         * Returns all objects which have been registered as reconstituted objects
         *
         * @param string $objectClassName The class name of objects to be returned
-        * @return TX_EXTMVC_Persistence_ObjectStorage All reconstituted objects
+        * @return array All reconstituted objects
         */
-       // SK: Wrong PHPDoc. Returns a normal array, and no ObjectStorage
        public function getReconstitutedObjects($objectClassName = NULL) {
                $reconstitutedObjects = array();
                foreach ($this->reconstitutedObjects as $object) {
index 00c6e7e..16606ad 100644 (file)
@@ -332,7 +332,6 @@ class TX_EXTMVC_View_TemplateView extends TX_EXTMVC_View_AbstractView {
        }
                        
        protected function removeUnfilledMarkers(&$content) {
-               // TODO remove also comments
                $content = preg_replace('/###.*###|<!--[^>]*###.*###[^<]*-->(.*)/msU', '', $content);
        }
 
index fc6cdc0..61f0a69 100644 (file)
@@ -1,24 +1,26 @@
 <?php
-
-/*                                                                        *
- * This script belongs to the FLOW3 framework.                            *
- *                                                                        *
- * It is free software; you can redistribute it and/or modify it under    *
- * the terms of the GNU Lesser General Public License as published by the *
- * Free Software Foundation, either version 3 of the License, or (at your *
- * option) any later version.                                             *
- *                                                                        *
- * This script is distributed in the hope that it will be useful, but     *
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
- * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser       *
- * General Public License for more details.                               *
- *                                                                        *
- * You should have received a copy of the GNU Lesser General Public       *
- * License along with the script.                                         *
- * If not, see http://www.gnu.org/licenses/lgpl.html                      *
- *                                                                        *
- * The TYPO3 project - inspiring people to share!                         *
- *                                                                        */
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
 
 // TODO these statements become obsolete with the new autoloader -> remove them
 
@@ -74,8 +76,6 @@ class TX_EXTMVC_Dispatcher {
         *
         */
        public function __construct() {
-               // SK: $this->arguments is not needed here.
-               $this->arguments = new ArrayObject;
                spl_autoload_register(array($this, 'autoLoadClasses'));
        }
 
@@ -92,11 +92,10 @@ class TX_EXTMVC_Dispatcher {
         */
        public function dispatch($content, $configuration) {
 
-               $start_time = microtime(TRUE);
+               // TODO Remove debug statement
+               // $start_time = microtime(TRUE);
 
-               // SK: should the parameters really be prepended with tx_extmvc? Maybe it makes more sense to have a few "global" parameters, like:
-               // SK: "controller", "extensionKey", "action"?
-               $parameters = t3lib_div::_GET('tx_extmvc');
+               $parameters = t3lib_div::_GET();
                $extensionKey = isset($parameters['extension']) ? stripslashes($parameters['extension']) : $configuration['extension'];
                $controllerName = isset($parameters['controller']) ? stripslashes($parameters['controller']) : $configuration['controller'];
                $actionName = isset($parameters['action']) ? stripslashes($parameters['action']) : $configuration['action'];
@@ -158,9 +157,9 @@ class TX_EXTMVC_Dispatcher {
 
                $GLOBALS['TSFE']->additionalHeaderData[$request->getControllerExtensionKey()] = implode("\n", $response->getAdditionalHeaderTags());
 
-               // SK: TODO: Remove debug statements
-               $end_time = microtime(TRUE);
-               debug($end_time - $start_time, -1);
+               // TODO Remove debug statements
+               // $end_time = microtime(TRUE);
+               // debug($end_time - $start_time, -1);
 
                // SK: Handle $response->getStatus()
                // SK: Call sendHeaders() on the response
@@ -175,7 +174,7 @@ class TX_EXTMVC_Dispatcher {
         * @uses t3lib_extMgm::extPath()
         * @return void
         */
-       // SK: Remove autoloader as soon as we do not need it anymore
+       // TODO Remove autoloader as soon as we do not need it anymore
        protected function autoLoadClasses($className) {
                if (empty($this->registeredClassNames[$className])) {
                        $classNameParts = explode('_', $className);