Bug #7055
possible reflection problem.
| Status: | Closed | Start date: | 2010-04-07 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assigned To: | Karsten Dambekalns | % Done: | 0% |
|
| Category: | Reflection | |||
| Target version: | - | |||
| PHP Version: | Complexity: | |||
| Has patch: | Affected Flow version: |
Description
I have not looked into it in very much detail, but in extbase a problem occured when calling fluid from a pibased franmework. #7053
Since it is a result of the reflected Class and the parameter checking based on the type hints for the constructors, the following code results in an exception:
/**
* Constructor. Can take an array, and initializes the objects with it.
*
* @param array $objectArray
* @author Sebastian Kurfürst <sebastian@typo3.org>
* @api
*/
public function __construct($objectArray = array()) {
if (!is_array($objectArray)) throw new RuntimeException('Context has to be initialized with an array, ' . gettype($objectArray) . ' given.', 1224592343);
$this->objects = $objectArray;
}
The @param requests an array parameter and the constructor creates an array if the constructor is called without a param.
This should somehow be considered by the reflection mechanisms.
History
#1 Updated by Karsten Dambekalns over 5 years ago
- Category set to Reflection
- Status changed from New to Closed
- Assigned To set to Karsten Dambekalns
- Start date changed from 2010-03-29 to 2010-04-07
The issue you refer to does is caused by a NULL being given to the constructor. Well, either an array or nothing works in this case, but NULL is not allowed. This is a result of the type hint used and must be observed by the calling code. It has nothing to do with reflection, sorry...
#2 Updated by Falk Kühnel over 5 years ago
I dit not realize, that calling a function without paramter and with an unset paramter (NULL) is making a difference. This turns my supposed workaround for #7053 into a real patch :D