[+TASK] Extbase (Persistence): Added two properties to describe a weird PHP behavior...
authorJochen Rau <j.rau@web.de>
Tue, 25 Jan 2011 18:48:14 +0000 (18:48 +0000)
committerJochen Rau <j.rau@web.de>
Tue, 25 Jan 2011 18:48:14 +0000 (18:48 +0000)
typo3/sysext/extbase/Classes/Persistence/LazyObjectStorage.php
typo3/sysext/extbase/Classes/Persistence/ObjectStorage.php

index 65e5cba..779480c 100644 (file)
 class Tx_Extbase_Persistence_LazyObjectStorage extends Tx_Extbase_Persistence_ObjectStorage implements Tx_Extbase_Persistence_LoadingStrategyInterface {
 
        /**
+        * This field is only needed to make debugging easier:
+        * If you call current() on a class that implements Iterator, PHP will return the first field of the object
+        * instead of calling the current() method of the interface.
+        * We use this unusual behavior of PHP to return the warning below in this case.
+        *
+        * @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.';
+
+       /**
         * @var Tx_Extbase_Persistence_DataMapper
         */
        protected $dataMapper;
index 4280a42..5de0d4c 100644 (file)
 class Tx_Extbase_Persistence_ObjectStorage implements Countable, Iterator, ArrayAccess, Tx_Extbase_Persistence_ObjectMonitoringInterface {
 
        /**
+        * This field is only needed to make debugging easier:
+        * If you call current() on a class that implements Iterator, PHP will return the first field of the object
+        * instead of calling the current() method of the interface.
+        * We use this unusual behavior of PHP to return the warning below in this case.
+        *
+        * @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.';
+
+       /**
         * An array holding the objects and the stored information. The key of the array items ist the 
         * spl_object_hash of the given object.
         *