[DDC-2303] @param wrong in Doctrine\ORM\PersistentCollection::__constructor Edit Created: 18/Feb/13 Updated: 26/Feb/13 Resolved: 26/Feb/13 |
|
| Status: | Closed |
| Project: | Doctrine 2 - ORM |
| Component/s: | ORM |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | All |
| Type: | Bug | Priority: | Major |
| Reporter: | Torsten Granek | Assignee: | Marco Pivetta |
| Resolution: | Invalid | Votes: | 0 |
| Labels: | collection | ||
| Attachments: |
|
| Description |
|
When i try to generate a new PersistentCollection like this: This could be fixed by changing the type hinting for the Doctrine\ORM\PersistentCollection::__constructor
|
| Comments |
| Comment by Torsten Granek [ 18/Feb/13 ] |
|
When i try to generate a new PersistentCollection like this:
$collection = new ArrayCollection();
new \Doctrine\ORM\PersistentCollection(
$this->getEntityManager(),
new ClassMetadata(''),
$collection
);
I get an typ hinting error like This could be fixed by changing the type hinting for the Doctrine\ORM\PersistentCollection::__constructor
/**
* Creates a new persistent collection.
*
* @param EntityManager $em The EntityManager the collection will be associated with.
* @param ClassMetadata $class The class descriptor of the entity type of this collection.
* @param array $coll The collection elements.
*/
public function __construct(EntityManager $em, $class, $coll)
{
_To:_
/**
* Creates a new persistent collection.
*
* @param EntityManager $em The EntityManager the collection will be associated with.
* @param ClassMetadata $class The class descriptor of the entity type of this collection.
* @param \ArrayAccess $coll The collection elements.
*/
public function __construct(EntityManager $em, $class, $coll)
{
|
| Comment by Christophe Coevoet [ 18/Feb/13 ] |
|
There is no typehint in the PersistentCollection constructor. So the issue cannot come from this place (the phpdoc is wrong btw, it expects a Collection, not an array) Please give the full error, i.e. the message and the location so that we can know where it happens. |
| Comment by Torsten Granek [ 20/Feb/13 ] |
|
There error is not in the function declaration, it is in the @param in the doc block of the constructor. Using PHPStorm as IDE i got this error thrown by the IDE it self, not php. (Screenshot will be attached) Using ZF2 the error is on line 121 at: |
| Comment by Torsten Granek [ 20/Feb/13 ] |
|
Using PHPStorm as IDE i got "Expected array, got "Doctrine\Common\Collections\ArrayCollection" thrown by the IDE it self, not php. |
| Comment by Torsten Granek [ 20/Feb/13 ] |
|
Using PHPStorm as IDE i got "Expected array, got "Doctrine\Common\Collections\ArrayCollection" thrown by the IDE it self, not php. |
| Comment by Marco Pivetta [ 26/Feb/13 ] |
|
The correct type hint here is `Doctrine\Common\Collections\Collection`. I'm closing this as invalid, since you shouldn't instantiate a persistent collection on your own. Consider opening a pull request at https://github.com/doctrine/doctrine2 instead if you want to fix the typehint. |