{"id":28276017,"url":"https://github.com/thewalkingcoder/maker-bundle","last_synced_at":"2026-03-09T19:14:18.713Z","repository":{"id":57073900,"uuid":"257531064","full_name":"thewalkingcoder/maker-bundle","owner":"thewalkingcoder","description":"Wrap maker bundle to introduce \"context option\" to change destination template","archived":false,"fork":false,"pushed_at":"2025-01-26T16:46:42.000Z","size":87,"stargazers_count":14,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-04T09:27:14.685Z","etag":null,"topics":["maker","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thewalkingcoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-21T08:32:37.000Z","updated_at":"2025-01-08T12:56:24.000Z","dependencies_parsed_at":"2025-06-16T16:36:51.819Z","dependency_job_id":"0950d4f1-5773-4bb5-a627-c2a742b70b62","html_url":"https://github.com/thewalkingcoder/maker-bundle","commit_stats":{"total_commits":24,"total_committers":2,"mean_commits":12.0,"dds":"0.33333333333333337","last_synced_commit":"239f072770c0f2e5a0cefd27fa60e550d0bb1af8"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/thewalkingcoder/maker-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewalkingcoder%2Fmaker-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewalkingcoder%2Fmaker-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewalkingcoder%2Fmaker-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewalkingcoder%2Fmaker-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thewalkingcoder","download_url":"https://codeload.github.com/thewalkingcoder/maker-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewalkingcoder%2Fmaker-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30308930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T17:35:44.120Z","status":"ssl_error","status_checked_at":"2026-03-09T17:35:43.707Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maker","symfony"],"created_at":"2025-05-21T04:16:55.369Z","updated_at":"2026-03-09T19:14:18.695Z","avatar_url":"https://github.com/thewalkingcoder.png","language":"PHP","readme":"# TwcMakerBundle\n\n![build passing](https://github.com/thewalkingcoder/maker-bundle/actions/workflows/php.yml/badge.svg)\n\nWhen your symfony architecture is different like (ddd, cqrs, adr, custom architecture) you lost the powerfull of makerBundle,\nbecause directory structure is not at the same place.\nTwcMakerBundle try to revolve that, to wrap maker command and introduce \"context\" option.\n\n## Installation\n\n```bash\ncomposer require twc/maker-bundle --dev\n```\n\n## Basic Usage\n\n### Generic configuration\n\n```yaml\n#config/packages/dev/twc_maker.yaml\ntwc_maker:\n    componentName:\n        - { context: 'contextName', target: 'Your\\SpecificNamespace' }\n        - { context: 'contextName1', target: 'Your\\SpecificNamespace' }\n        - ...\n```\n\n### Specific configuration\n\n#### Component entity\n\nfor entity component you must use ***target_entity*** and ***target_repository*** instead ***target***\n\n```yaml\n#config/packages/dev/twc_maker.yaml\ntwc_maker:\n    entity:\n        - { context: 'contextName', target_entity: 'Your\\SpecificEntityNamespace', target_repository: 'Your\\SpecificRepositoryNamespace' }\n```\n\n#### Component controller\n\nfor controller you can specific ***dir*** to change generation folder (default contextName)\n\n```yaml\n#config/packages/dev/twc_maker.yaml\ntwc_maker:\n    controller:\n        - { context: 'contextName', target: 'Your\\SpecificNamespace', dir: 'my/custom/directory/template' }\n```\n\n### Console\n\nTwcMakerBundle wrap maker command and add new option ***--context*** (shortcut -c)\n\n### Sample with CQRS concept\n\n```yaml\n#config/packages/dev/twc_maker.yaml\ntwc_maker:\n    message:\n        - { context: 'post.command', target: 'App\\Post\\Application\\Command' }\n        - { context: 'post.query', target: 'App\\Post\\Application\\Query' }\n```\n\nin your console\n\n```bash\nphp bin/console make:twc:message NewPost --context=post.command\nphp bin/console make:twc:message AllPostsArchivedQuery --context=post.query\n```\n\n```bash\n#shortcut version\nphp bin/console make:twc:message NewPost -c post.command\nphp bin/console make:twc:message AllPostsArchivedQuery -c post.query\n\n```\nresults\n\n```bash\ncreated: src/Post/Application/Command/NewPost.php\ncreated: src/Post/Application/Command/NewPostHandler.php\ncreated: src/Post/Application/Query/AllPostArchivedQuery.php\ncreated: src/Post/Application/Query/AllPostArchivedQueryHandler.php\n\n```\n\n### Sample with DDD concept\n\n```yaml\n#config/packages/dev/twc_maker.yaml\ntwc_maker:\n    entity:\n        - { context: 'membership', target_entity: 'App\\MemberShip\\Domain\\Entity', target_repository: 'App\\MemberShip\\Infrastructure\\Doctrine\\Repository' }\n    controller:\n        - { context: 'membership', target: 'App\\MemberShip\\Presenter\\Controller' }\n    form:\n        - { context: 'membership', target: 'App\\MemberShip\\Presenter\\Form' }\n```\n\nin your console\n\n```bash\nphp bin/console make:twc:entity UserMembership -c membership\n```\n\nresult\n\n```bash\ncreated: src/Membership/Domain/Entity/UserMemberShip.php\ncreated: src/Membership/Infrastructure/Doctrine/Repository/UserMemberShipRepository.php\n```\n## Troubleshooting\n\n### Specific directory not created\nIf your specific directory not created, clean cache and retry.\n\n```bash\nphp bin/console c:c \n```\n\n\n### Could not determine where to locate the new class\nIf you have error message like \n\n```bash\nCould not determine where to locate the new class \"xxx\" maybe try with a full namespace like \n```\nCheck your composer.json with PSR-4 config, maybe you need to add your namespace, or try with ` App\\ `\n\n## Support\n\nActually TwcMakerBundle wrap 9 components\n\n| components |\n|------------|\n| controller |\n| validator  |\n| form |\n| message |\n| messenger-middleware |\n| voter |\n| command |\n| fixtures |\n| entity |\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthewalkingcoder%2Fmaker-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthewalkingcoder%2Fmaker-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthewalkingcoder%2Fmaker-bundle/lists"}