for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace LunixREST\Server\Router\Endpoint\ResourceEndpoint;
use LunixREST\Server\APIResponse\APIResponseData;
use LunixREST\Server\Router\Endpoint\ResourceEndpoint\Exceptions\UnableToCreateAPIResponseDataException;
/**
* abstract class ResourceAPIResponseDataFactory
* @package LunixREST\Server\Router\Endpoint\ResourceEndpoint
*/
abstract class ResourceAPIResponseDataFactory {
* @param null|Resource $resource
* @return APIResponseData
* @throws UnableToCreateAPIResponseDataException
abstract public function toAPIResponseData(?Resource $resource): APIResponseData;
* Uses above method for each resource, extracting the data into an array, creating a new APIResponseData from that array.
* @param null|Resource[] $resources
public function multipleToAPIResponseData(?array $resources): APIResponseData
{
if(is_null($resources)) {
return $this->toAPIResponseData(null);
}
return new APIResponseData(array_map(function(Resource $resource) {
return $this->toAPIResponseData($resource)->getData();
$resource
object<LunixREST\Server\...ourceEndpoint\Resource>
null|resource
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
}, $resources));
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: