Skip to content

Commit

Permalink
Merge pull request #23 from pauci/feature/phpstan
Browse files Browse the repository at this point in the history
feat: Add phpstan check and fix errors found
  • Loading branch information
pauci committed Jun 24, 2020
2 parents f2d2645 + d4771d9 commit b6c6f0d
Show file tree
Hide file tree
Showing 14 changed files with 40 additions and 65 deletions.
3 changes: 3 additions & 0 deletions composer.json
Expand Up @@ -28,6 +28,7 @@
"doctrine/dbal": "^2.10",
"doctrine/orm": "^2.7",
"guzzlehttp/guzzle": "^6.2",
"phpstan/phpstan": "^0.12.30",
"phpunit/phpunit": "^9.1",
"squizlabs/php_codesniffer": "^3.5"
},
Expand All @@ -47,10 +48,12 @@
"scripts": {
"check": [
"@cs-check",
"@stan",
"@test"
],
"cs-check": "phpcs",
"cs-fix": "phpcbf",
"stan": "phpstan analyse --no-progress --ansi",
"test": "phpunit --colors=always",
"test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
}
Expand Down
6 changes: 6 additions & 0 deletions phpstan.neon.dist
@@ -0,0 +1,6 @@
parameters:
level: max
checkGenericClassInNonGenericObjectType: false
checkMissingIterableValueType: false
paths:
- src
4 changes: 2 additions & 2 deletions src/Domain/Message/Metadata.php
Expand Up @@ -17,7 +17,7 @@ class Metadata implements IteratorAggregate, ArrayAccess, Countable, JsonSeriali
private array $data;

/**
* @param mixed[]|self|null $metadata
* @param self|array|null $metadata
*/
public static function from($metadata = null): self
{
Expand All @@ -35,7 +35,7 @@ public static function jsonDeserialize(array $data): self
return new static($data);
}

private function __construct(array $data = [])
final private function __construct(array $data = [])
{
ksort($data);
$this->data = $data;
Expand Down
2 changes: 1 addition & 1 deletion src/Domain/Model/AggregateRootTrait.php
Expand Up @@ -59,7 +59,7 @@ public function getUncommittedEvents(): array
*/
public function getUncommittedEventsCount(): int
{
return count($this->eventContainer);
return $this->eventContainer ? count($this->eventContainer) : 0;
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/Domain/Model/EventContainer.php
Expand Up @@ -18,7 +18,7 @@
class EventContainer implements Countable
{
/**
* @var GenericDomainEventMessage[]
* @var DomainEventMessageInterface[]
*/
private array $events = [];

Expand Down Expand Up @@ -96,7 +96,7 @@ public function addEventMessage(DomainEventMessageInterface $domainEventMessage)
}

/**
* @return GenericDomainEventMessage[]
* @return DomainEventMessageInterface[]
*/
public function getEvents(): array
{
Expand Down
2 changes: 1 addition & 1 deletion src/EventHandling/EventHandlerLocator.php
Expand Up @@ -11,7 +11,7 @@ class EventHandlerLocator implements ContainerInterface
protected array $handlers = [];

/**
* @var callable
* @var callable|null
*/
protected $resolver;

Expand Down
10 changes: 5 additions & 5 deletions src/EventHandling/Publisher/SimpleEventPublisher.php
Expand Up @@ -13,14 +13,14 @@ class SimpleEventPublisher implements EventPublisherInterface
{
private EventBusInterface $eventBus;

private EventQueueInterface $queue;
private ?EventQueueInterface $queue;

private EventStoreInterface $eventStore;
private ?EventStoreInterface $eventStore;

private Metadata $additionalMetadata;
private ?Metadata $additionalMetadata = null;

/**
* @param Metadata|array $additionalMetadata
* @param Metadata|array|null $additionalMetadata
*/
public function __construct(
EventBusInterface $eventBus,
Expand Down Expand Up @@ -50,7 +50,7 @@ public function setAdditionalMetadata($additionalMetadata): void
$this->additionalMetadata = Metadata::from($additionalMetadata);
}

public function getAdditionalMetadata(): Metadata
public function getAdditionalMetadata(): ?Metadata
{
return $this->additionalMetadata;
}
Expand Down
5 changes: 3 additions & 2 deletions src/HandlerResolver/CommandHandlerResolver.php
Expand Up @@ -13,8 +13,9 @@ public function __invoke($handler, string $commandType): callable
{
if (is_object($handler) && !is_callable($handler)) {
$method = $this->resolveHandlingMethod($commandType);
if (method_exists($handler, $method)) {
return [$handler, $method];
$callback = [$handler, $method];
if (is_callable($callback)) {
return $callback;
}
}

Expand Down
10 changes: 4 additions & 6 deletions src/HandlerResolver/ContainerHandlerResolver.php
Expand Up @@ -4,18 +4,16 @@

namespace CQRS\HandlerResolver;

use Closure;
use Psr\Container\ContainerInterface;

class ContainerHandlerResolver
{
protected ContainerInterface $container;

/**
* @var callable
*/
protected $nextResolver;
protected ?Closure $nextResolver;

public function __construct(ContainerInterface $container, callable $nextResolver = null)
public function __construct(ContainerInterface $container, Closure $nextResolver = null)
{
$this->container = $container;
$this->nextResolver = $nextResolver;
Expand All @@ -33,7 +31,7 @@ public function __invoke($handler, string $messageType): callable
}

if ($this->nextResolver) {
$handler = call_user_func($this->nextResolver, $handler, $messageType);
$handler = ($this->nextResolver)($handler, $messageType);
}

return $handler;
Expand Down
5 changes: 3 additions & 2 deletions src/HandlerResolver/EventHandlerResolver.php
Expand Up @@ -13,8 +13,9 @@ public function __invoke($handler, string $eventType): callable
{
if (is_object($handler) && !is_callable($handler)) {
$method = $this->resolveHandlingMethod($eventType);
if (method_exists($handler, $method)) {
return [$handler, $method];
$callback = [$handler, $method];
if (is_callable($callback)) {
return $callback;
}
}

Expand Down
34 changes: 0 additions & 34 deletions src/Plugin/Doctrine/Domain/AggregateRootMetadataListener.php

This file was deleted.

Expand Up @@ -4,15 +4,15 @@

namespace CQRS\Plugin\Doctrine\EventHandling\Publisher;

use CQRS\Domain\Message\DomainEventMessageInterface;
use CQRS\Domain\Message\EventMessageInterface;
use CQRS\EventHandling\Publisher\SimpleEventPublisher;
use Doctrine\Common\EventSubscriber;
use Doctrine\ORM\Events;

class DoctrineEventPublisher extends SimpleEventPublisher implements EventSubscriber
{
/**
* @var DomainEventMessageInterface[]
* @var EventMessageInterface[]
*/
private array $events = [];

Expand Down
14 changes: 7 additions & 7 deletions src/Plugin/Doctrine/EventStore/TableEventStore.php
Expand Up @@ -14,7 +14,7 @@
use CQRS\Serializer\SerializerInterface;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\Types\Types;
use Doctrine\DBAL\ParameterType;
use Generator;
use Pauci\DateTime\DateTime;
use PDO;
Expand All @@ -27,7 +27,7 @@ class TableEventStore implements EventStoreInterface

private Connection $connection;

private ?string $table = 'cqrs_event';
private string $table = 'cqrs_event';

public function __construct(SerializerInterface $serializer, Connection $connection, string $table = null)
{
Expand Down Expand Up @@ -63,8 +63,8 @@ public function read(int $offset = 0, int $limit = 10): array
$events = [];

$stmt = $this->connection->prepare($sql);
$stmt->bindValue(1, $offset, Types::INTEGER);
$stmt->bindValue(2, $limit, Types::INTEGER);
$stmt->bindValue(1, $offset, ParameterType::INTEGER);
$stmt->bindValue(2, $limit, ParameterType::INTEGER);
$stmt->execute();

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
Expand All @@ -90,8 +90,8 @@ public function iterate(UuidInterface $previousEventId = null): Generator
$stmt = $this->connection->prepare($sql);

while (true) {
$stmt->bindValue(1, $id, Types::INTEGER);
$stmt->bindValue(2, 100, Types::INTEGER);
$stmt->bindValue(1, $id, ParameterType::INTEGER);
$stmt->bindValue(2, 100, ParameterType::INTEGER);
$stmt->execute();

$count = 0;
Expand Down Expand Up @@ -187,7 +187,7 @@ private function getRowIdByEventId(UuidInterface $eventId): int
$sql = "SELECT id FROM {$this->table} WHERE event_id = ? LIMIT 1";

$stmt = $this->connection->prepare($sql);
$stmt->bindValue(1, (string) $eventId, Types::STRING);
$stmt->bindValue(1, (string) $eventId, ParameterType::STRING);
$stmt->execute();

$rowId = $stmt->fetchColumn();
Expand Down
2 changes: 1 addition & 1 deletion src/Serializer/Helper/ParamDeserializationHelper.php
Expand Up @@ -63,7 +63,7 @@ private function getValue(array $data, string $key)

private function camelCaseToUnderscore(string $key): string
{
$string = preg_replace('/(?<=\\w)(?=[A-Z])/', '_$1', $key);
$string = preg_replace('/(?<=\\w)(?=[A-Z])/', '_$1', $key) ?? $key;
return strtolower($string);
}

Expand Down

0 comments on commit b6c6f0d

Please sign in to comment.