Skip to content

Instantly share code, notes, and snippets.

@codeliner
Last active November 3, 2017 01:10
Show Gist options
  • Save codeliner/6bae2c3a5de0a9f93e1d2143f7196f75 to your computer and use it in GitHub Desktop.
Save codeliner/6bae2c3a5de0a9f93e1d2143f7196f75 to your computer and use it in GitHub Desktop.
proophessor-do message flow analyzed with prooph/message-flow-analyzer
<?php
declare(strict_types=1);
namespace Prooph\ProophessorDo\Infrastructure\ProophAnalyzer;
use Prooph\MessageFlowAnalyzer\Filter\FileInfoFilter;
final class ExcludeBlacklistedFiles implements FileInfoFilter
{
private $blacklist = [
'src/Container/MongoClientFactory.php',
];
public function accept(\SplFileInfo $fileInfo, string $rootDir): bool
{
if($fileInfo->isDir()) {
return true;
}
foreach ($this->blacklist as $entry) {
if($fileInfo->getPathname() === $rootDir . DIRECTORY_SEPARATOR . $entry) {
return false;
}
}
return true;
}
}
{
"project": "Default Project",
"rootDir": "\/app",
"flow": {
"messages": {
"Prooph\\ProophessorDo\\Model\\User\\Command\\RegisterUser": {
"name": "Prooph\\ProophessorDo\\Model\\User\\Command\\RegisterUser",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\User\\Command\\RegisterUser",
"filename": "\/app\/src\/Model\/User\/Command\/RegisterUser.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/User\/Handler\/RegisterUserHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegistered": {
"name": "Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegistered",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegistered",
"filename": "\/app\/src\/Model\/User\/Event\/UserWasRegistered.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\User\\User::registerWithData": {
"type": "class",
"filename": "\/app\/src\/Model\/User\/User.php",
"function": "registerWithData",
"class": "Prooph\\ProophessorDo\\Model\\User\\User"
}
}
},
"Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegisteredAgain": {
"name": "Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegisteredAgain",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\User\\Event\\UserWasRegisteredAgain",
"filename": "\/app\/src\/Model\/User\/Event\/UserWasRegisteredAgain.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\User\\User::registerAgain": {
"type": "class",
"filename": "\/app\/src\/Model\/User\/User.php",
"function": "registerAgain",
"class": "Prooph\\ProophessorDo\\Model\\User\\User"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\RemindTodoAssignee": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\RemindTodoAssignee",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\RemindTodoAssignee",
"filename": "\/app\/src\/Model\/Todo\/Command\/RemindTodoAssignee.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/RemindTodoAssigneeHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddReminderToTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddReminderToTodo",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddReminderToTodo",
"filename": "\/app\/src\/Model\/Todo\/Command\/AddReminderToTodo.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddReminderToTodoHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/AddReminderToTodoHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddReminderToTodoHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\PostTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\PostTodo",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\PostTodo",
"filename": "\/app\/src\/Model\/Todo\/Command\/PostTodo.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\PostTodoHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/PostTodoHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\PostTodoHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\SendTodoReminderMail": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\SendTodoReminderMail",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\SendTodoReminderMail",
"filename": "\/app\/src\/Model\/Todo\/Command\/SendTodoReminderMail.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\SendTodoReminderMailHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/SendTodoReminderMailHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\SendTodoReminderMailHandler"
}
},
"producers": {
"Prooph\\ProophessorDo\\ProcessManager\\SendTodoReminderMailProcessManager::__invoke": {
"type": "class",
"filename": "\/app\/src\/ProcessManager\/SendTodoReminderMailProcessManager.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\ProcessManager\\SendTodoReminderMailProcessManager"
}
},
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsDone": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsDone",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsDone",
"filename": "\/app\/src\/Model\/Todo\/Command\/MarkTodoAsDone.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsDoneHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/MarkTodoAsDoneHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsDoneHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsExpired": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsExpired",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\MarkTodoAsExpired",
"filename": "\/app\/src\/Model\/Todo\/Command\/MarkTodoAsExpired.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsExpiredHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/MarkTodoAsExpiredHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsExpiredHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddDeadlineToTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddDeadlineToTodo",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\AddDeadlineToTodo",
"filename": "\/app\/src\/Model\/Todo\/Command\/AddDeadlineToTodo.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddDeadlineToTodoHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/AddDeadlineToTodoHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddDeadlineToTodoHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\NotifyUserOfExpiredTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\NotifyUserOfExpiredTodo",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\NotifyUserOfExpiredTodo",
"filename": "\/app\/src\/Model\/Todo\/Command\/NotifyUserOfExpiredTodo.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\NotifyUserOfExpiredTodoHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/NotifyUserOfExpiredTodoHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\NotifyUserOfExpiredTodoHandler"
}
},
"producers": {
"Prooph\\ProophessorDo\\ProcessManager\\SendTodoDeadlineExpiredMailProcessManager::__invoke": {
"type": "class",
"filename": "\/app\/src\/ProcessManager\/SendTodoDeadlineExpiredMailProcessManager.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\ProcessManager\\SendTodoDeadlineExpiredMailProcessManager"
}
},
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Command\\ReopenTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\ReopenTodo",
"type": "command",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Command\\ReopenTodo",
"filename": "\/app\/src\/Model\/Todo\/Command\/ReopenTodo.php",
"handlers": {
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\ReopenTodoHandler::__invoke": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Handler\/ReopenTodoHandler.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\ReopenTodoHandler"
}
},
"producers": [],
"recorders": []
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasUnmarkedAsExpired": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasUnmarkedAsExpired",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasUnmarkedAsExpired",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoWasUnmarkedAsExpired.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::unmarkAsExpired": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "unmarkAsExpired",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\ReminderWasAddedToTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\ReminderWasAddedToTodo",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\ReminderWasAddedToTodo",
"filename": "\/app\/src\/Model\/Todo\/Event\/ReminderWasAddedToTodo.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::addReminder": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "addReminder",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsExpired": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsExpired",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsExpired",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoWasMarkedAsExpired.php",
"handlers": {
"Prooph\\ProophessorDo\\ProcessManager\\SendTodoDeadlineExpiredMailProcessManager::__invoke": {
"type": "class",
"filename": "\/app\/src\/ProcessManager\/SendTodoDeadlineExpiredMailProcessManager.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\ProcessManager\\SendTodoDeadlineExpiredMailProcessManager"
}
},
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsExpired": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "markAsExpired",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasReopened": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasReopened",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasReopened",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoWasReopened.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::reopenTodo": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "reopenTodo",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\DeadlineWasAddedToTodo": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\DeadlineWasAddedToTodo",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\DeadlineWasAddedToTodo",
"filename": "\/app\/src\/Model\/Todo\/Event\/DeadlineWasAddedToTodo.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::addDeadline": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "addDeadline",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsDone": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsDone",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasMarkedAsDone",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoWasMarkedAsDone.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsDone": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "markAsDone",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoAssigneeWasReminded": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoAssigneeWasReminded",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoAssigneeWasReminded",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoAssigneeWasReminded.php",
"handlers": {
"Prooph\\ProophessorDo\\ProcessManager\\SendTodoReminderMailProcessManager::__invoke": {
"type": "class",
"filename": "\/app\/src\/ProcessManager\/SendTodoReminderMailProcessManager.php",
"function": "__invoke",
"class": "Prooph\\ProophessorDo\\ProcessManager\\SendTodoReminderMailProcessManager"
}
},
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::remindAssignee": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "remindAssignee",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
},
"Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasPosted": {
"name": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasPosted",
"type": "event",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Event\\TodoWasPosted",
"filename": "\/app\/src\/Model\/Todo\/Event\/TodoWasPosted.php",
"handlers": [],
"producers": [],
"recorders": {
"Prooph\\ProophessorDo\\Model\\Todo\\Todo::post": {
"type": "class",
"filename": "\/app\/src\/Model\/Todo\/Todo.php",
"function": "post",
"class": "Prooph\\ProophessorDo\\Model\\Todo\\Todo"
}
}
}
},
"eventRecorderInvokers": {
"Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler::__invoke->Prooph\\ProophessorDo\\Model\\User\\User::registerAgain": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\User\\User::registerAgain"
},
"Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler::__invoke->Prooph\\ProophessorDo\\Model\\User\\User::registerWithData": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\User\\Handler\\RegisterUserHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\User\\User::registerWithData"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::reminder": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::reminder"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::remindAssignee": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\RemindTodoAssigneeHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::remindAssignee"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddReminderToTodoHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::addReminder": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddReminderToTodoHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::addReminder"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\PostTodoHandler::__invoke->Prooph\\ProophessorDo\\Model\\User\\User::postTodo": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\PostTodoHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\User\\User::postTodo"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsDoneHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsDone": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsDoneHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsDone"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsExpiredHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsExpired": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\MarkTodoAsExpiredHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::markAsExpired"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddDeadlineToTodoHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::addDeadline": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\AddDeadlineToTodoHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::addDeadline"
},
"Prooph\\ProophessorDo\\Model\\Todo\\Handler\\ReopenTodoHandler::__invoke->Prooph\\ProophessorDo\\Model\\Todo\\Todo::reopenTodo": {
"messageHandlerIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Handler\\ReopenTodoHandler::__invoke",
"eventRecorderIdentifier": "Prooph\\ProophessorDo\\Model\\Todo\\Todo::reopenTodo"
}
},
"attributes": []
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment