[+BUGFIX] correct warning in ObjectStorage & LazyObjectStorage
authorFelix Oertel <f@oer.tel>
Wed, 13 Apr 2011 13:06:32 +0000 (15:06 +0200)
committerBastian Waidelich <bastian@typo3.org>
Tue, 26 Apr 2011 07:47:37 +0000 (09:47 +0200)
We got this little private warning, telling people to use
getFirst() instead of PHP's current() on objectStorages
but there is no getFirst(). Instead one can call rewind()
and current() on the ObjectStorage.

Change-Id: I1cdb392942ff800365b3dd87e703523cd3bac7b0

typo3/sysext/extbase/Classes/Persistence/LazyObjectStorage.php
typo3/sysext/extbase/Classes/Persistence/ObjectStorage.php

index 63fcc47..7d1f74d 100644 (file)
@@ -43,7 +43,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
         *
         * @var string
         */
-       private $warning = 'You should never see this warning. If you do, you probably used PHP array functions like current() on the Tx_Extbase_Persistence_LazyObjectStorage. To retrieve the first result, you can use the getFirst() method.';
+       private $warning = 'You should never see this warning. If you do, you probably used PHP array functions like current() on the Tx_Extbase_Persistence_LazyObjectStorage. To retrieve the first result, you can use the rewind() and current() methods.';
 
        /**
         * @var Tx_Extbase_Persistence_Mapper_DataMapper
@@ -85,7 +85,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
        public function isInitialized() {
                return $this->isInitialized;
        }
-       
+
        /**
         * Constructs this proxy instance.
         *
@@ -110,7 +110,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
        }
 
        /**
-        * This is a function lazy load implementation. 
+        * This is a function lazy load implementation.
         *
         * @return void
         */
@@ -126,7 +126,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
                        $this->parentObject->_memorizeCleanState($this->propertyName);
                }
        }
-               
+
        // Delegation to the ObjectStorage methods below
 
        /**
@@ -165,7 +165,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
                        $numberOfElements = $this->dataMapper->countRelated($this->parentObject, $this->propertyName, $this->fieldValue);
                } else {
                        $this->initialize();
-                       $numberOfElements = count($this->storage);                      
+                       $numberOfElements = count($this->storage);
                }
                if (is_null($numberOfElements)) {
                        throw new Tx_Extbase_Persistence_Exception('The number of elements could not be determined.', 1252514486);
@@ -260,7 +260,7 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
                $this->initialize();
                return parent::valid();
        }
-       
+
        /**
         * @see Tx_Extbase_Persistence_ObjectStorage::toArray
         */
@@ -268,6 +268,6 @@ class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_Ob
                $this->initialize();
                return parent::toArray();
        }
-               
+
 }
 ?>
\ No newline at end of file
index 5de0d4c..4a5efdb 100644 (file)
@@ -25,7 +25,7 @@
 /**
  * The storage for objects. It ensures the uniqueness of an object in the storage. It's a remake of the
  * SplObjectStorage introduced in PHP 5.3.
- * 
+ *
  * Opposed to the SplObjectStorage the ObjectStorage does not implement the Serializable interface.
  *
  * @package Extbase
@@ -42,10 +42,10 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
         *
         * @var string
         */
-       private $warning = 'You should never see this warning. If you do, you probably used PHP array functions like current() on the Tx_Extbase_Persistence_ObjectStorage. To retrieve the first result, you can use the getFirst() method.';
+       private $warning = 'You should never see this warning. If you do, you probably used PHP array functions like current() on the Tx_Extbase_Persistence_ObjectStorage. To retrieve the first result, you can use the rewind() and current() methods.';
 
        /**
-        * An array holding the objects and the stored information. The key of the array items ist the 
+        * An array holding the objects and the stored information. The key of the array items ist the
         * spl_object_hash of the given object.
         *
         * array(
@@ -65,7 +65,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
         * @var bool
         */
        protected $isModified = FALSE;
-               
+
        /**
         * Rewind the iterator to the first storage element.
         *
@@ -85,7 +85,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
        }
 
        /**
-        * Returns the index at which the iterator currently is. This is different from the SplObjectStorage 
+        * Returns the index at which the iterator currently is. This is different from the SplObjectStorage
         * as the key in this implementation is the object hash.
         *
         * @return string The index corresponding to the position of the iterator.
@@ -123,7 +123,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
        }
 
        /**
-        * Associate data to an object in the storage. offsetSet() is an alias of attach(). 
+        * Associate data to an object in the storage. offsetSet() is an alias of attach().
         *
         * @param object $object The object to add.
         * @param mixed $information The data to associate with the object.
@@ -159,7 +159,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
         * Returns the data associated with an object in the storage.
         *
         * @param string $object The object to look for.
-        * @return mixed The data previously associated with the object in the storage. 
+        * @return mixed The data previously associated with the object in the storage.
         */
        public function offsetGet($object) {
                return $this->storage[spl_object_hash($object)]['inf'];
@@ -195,7 +195,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
        public function detach($object) {
                $this->offsetUnset($object);
        }
-       
+
        /**
         * Returns the data, or info, associated with the object pointed by the current iterator position.
         *
@@ -205,7 +205,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
                $item = current($this->storage);
                return $item['inf'];
        }
-       
+
        public function setInfo($data) {
                $this->isModified = TRUE;
                $key = key($this->storage);
@@ -235,7 +235,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
                        $this->detach($object);
                }
        }
-       
+
        /**
         * Returns this object storage as an array
         *
@@ -256,7 +256,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
        public function unserialize($serialized) {
                throw new RuntimeException('A ObjectStorage instance cannot be unserialized.', 1267700870);
        }
-       
+
        /**
         * Register an object's clean state, e.g. after it has been reconstituted
         * from the database
@@ -275,7 +275,7 @@ class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, Array
        public function _isDirty() {
                return $this->isModified;
        }
-       
+
 }
 
 ?>
\ No newline at end of file