René's URL Explorer Experiment


Title: feat(router): add php 8 attributes support for route definition by gessyken · Pull Request #349 · bowphp/framework · GitHub

Open Graph Title: feat(router): add php 8 attributes support for route definition by gessyken · Pull Request #349 · bowphp/framework

X Title: feat(router): add php 8 attributes support for route definition by gessyken · Pull Request #349 · bowphp/framework

Description: Add support for defining routes using PHP 8 attributes on controller classes. Controllers can use #[Controller] attribute with prefix and middleware, and methods can use #[Get], #[Post], #[Put], #[Delete], #[Patch] attributes to define routes. The Router::register() method automatically discovers and registers routes from controller classes. Includes 22 tests.

Open Graph Description: Add support for defining routes using PHP 8 attributes on controller classes. Controllers can use #[Controller] attribute with prefix and middleware, and methods can use #[Get], #[Post], #[Put], #[...

X Description: Add support for defining routes using PHP 8 attributes on controller classes. Controllers can use #[Controller] attribute with prefix and middleware, and methods can use #[Get], #[Post], #[Put], #[...

Opengraph URL: https://github.com/bowphp/framework/pull/349

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:2f84b6c4-bf65-1e17-a9f2-0be6edc02f81
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDC5C:96A16:1EAC1F:282313:698D2B13
html-safe-nonce5dfdf1781bdd88db8c2789e1e6d3120c605ec739952b61007c82a1e2c9c1b1af
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzVDOjk2QTE2OjFFQUMxRjoyODIzMTM6Njk4RDJCMTMiLCJ2aXNpdG9yX2lkIjoiOTAzNjIxNDI4NjAzNzEwMTMzMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac1f3e523fcbc6c254d7f7f09f0ea1bbef36542c2997a6e97d6c97cf4a615e2554
hovercard-subject-tagpull_request:3143061706
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/bowphp/framework/pull/349/files
twitter:imagehttps://avatars.githubusercontent.com/u/129058258?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/129058258?s=400&v=4
og:image:altAdd support for defining routes using PHP 8 attributes on controller classes. Controllers can use #[Controller] attribute with prefix and middleware, and methods can use #[Get], #[Post], #[Put], #[...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonec25395580e1e3bf82d705e0982a1b24255366088720fef945f1493d5e3e67954
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/bowphp/framework git https://github.com/bowphp/framework.git
octolytics-dimension-user_id40915649
octolytics-dimension-user_loginbowphp
octolytics-dimension-repository_id140084325
octolytics-dimension-repository_nwobowphp/framework
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id140084325
octolytics-dimension-repository_network_root_nwobowphp/framework
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release1fa2bc33fc715bfb2cb9dd8a9cad4f811c16c371
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fbowphp%2Fframework%2Fpull%2F349%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fbowphp%2Fframework%2Fpull%2F349%2Ffiles
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=bowphp%2Fframework
Reloadhttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Reloadhttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Reloadhttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
bowphp https://patch-diff.githubusercontent.com/bowphp
frameworkhttps://patch-diff.githubusercontent.com/bowphp/framework
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fbowphp%2Fframework
Fork 18 https://patch-diff.githubusercontent.com/login?return_to=%2Fbowphp%2Fframework
Star 60 https://patch-diff.githubusercontent.com/login?return_to=%2Fbowphp%2Fframework
Code https://patch-diff.githubusercontent.com/bowphp/framework
Issues 6 https://patch-diff.githubusercontent.com/bowphp/framework/issues
Pull requests 1 https://patch-diff.githubusercontent.com/bowphp/framework/pulls
Actions https://patch-diff.githubusercontent.com/bowphp/framework/actions
Projects 2 https://patch-diff.githubusercontent.com/bowphp/framework/projects
Security 0 https://patch-diff.githubusercontent.com/bowphp/framework/security
Insights https://patch-diff.githubusercontent.com/bowphp/framework/pulse
Code https://patch-diff.githubusercontent.com/bowphp/framework
Issues https://patch-diff.githubusercontent.com/bowphp/framework/issues
Pull requests https://patch-diff.githubusercontent.com/bowphp/framework/pulls
Actions https://patch-diff.githubusercontent.com/bowphp/framework/actions
Projects https://patch-diff.githubusercontent.com/bowphp/framework/projects
Security https://patch-diff.githubusercontent.com/bowphp/framework/security
Insights https://patch-diff.githubusercontent.com/bowphp/framework/pulse
Sign up for GitHub https://patch-diff.githubusercontent.com/signup?return_to=%2Fbowphp%2Fframework%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://patch-diff.githubusercontent.com/login?return_to=%2Fbowphp%2Fframework%2Fissues%2Fnew%2Fchoose
gessykenhttps://patch-diff.githubusercontent.com/gessyken
bowphp:5.xhttps://patch-diff.githubusercontent.com/bowphp/framework/tree/5.x
gessyken:5.xhttps://patch-diff.githubusercontent.com/gessyken/bow-framework/tree/5.x
Conversation 4 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349
Commits 4 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/commits
Checks 8 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/checks
Files changed https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
feat(router): add php 8 attributes support for route definition https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#top
Show all changes 4 commits https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
b5884fd fix: handle unloaded environment in app_env and replace deprecated do… gessyken Jan 2, 2026 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/commits/b5884fd04a8a68edd14ff169236cc033bb8ae69b
11b8094 fix: resolve deprecation warnings and improve test stability gessyken Jan 2, 2026 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/commits/11b8094a52377e767138f14ade58e76bf74d3d8e
ada1bed feat(router): add php 8 attributes support for route definition gessyken Jan 2, 2026 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/commits/ada1bed73d92fb110ced1765039dabd5e43f3b57
ad04f56 fix(config): restore env error visibility for observability gessyken Jan 3, 2026 https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/commits/ad04f5652286b85c33c7dea1cb783082759e2011
Clear filters https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
.gitignore https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
ROADMAP.md https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-683343bdf93f55ed3cada86151abb8051282e1936e58d4e0a04beca95dff6e51
EnvConfiguration.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-71f4d958b2b94687f8d5c62f0411e9079670f06aa5ddeac55985d5e449750c7f
Console.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-efca0bf0c23c0c478a3355a251de1f3b1ea1142bce9d737cc3ee19ff6416cabe
Model.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-973216f41351857199a773797527f95a1b66aea71c68937ec063069d1402b5d3
AttributeRouteRegistrar.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-7c565fd1675a8026399c16bee8dd07a08fb0ad24051202b9effbe38c1892e8df
Controller.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-b8207184d3961403ca14b31d61fe2acde2275b8253405d5d6f5fef9e1383eaa5
Delete.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-39e10c40a1cad36cf42098bc5030ae285efcae1980ef3187766e7105a4389e4a
Get.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-073adf8a2eae42be65fbd49231f698d374fabe754b9144524bfe3fcd21bb09d2
Options.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-fe079f3895ee8151b4c60ed824c82953d97e35633320b467a24f7c6f48e22d5a
Patch.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-7c639d5655a242907ed2f090ea2e276e69744b0d6f90060170a10360f5a7f1ae
Post.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-39be626fdb246a479e14cca301d693a9b8d8ee98ae522ac44eba820d65e91c7f
Put.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-bd2ec3ead49c78acb8624ebae7ec55793fb9f29aa511da06f98f4c1b2483f119
Route.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-8544a3cb0eaed0c3964eb0104663e43c2ab591159e7039943cb361f708c60d8f
Router.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-67264ebd47657b45f34968b896460d1de5605e437de43133be9b2d9fb181f27f
helpers.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-3e5775295c528f7b783a114f48e742f114e2d57204570c904c4b304b62f16754
CustomCommand.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-a5e1b16f876ec94fe96b173c53e826af05b652670565047903a7fccfa5fda6a1
AttributeRouteIntegrationTest.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-35a555a48dcb31b6c52680b23bb7c5653c664279cd906ed7989979780a4a390e
AttributeRouteTest.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-df1f0719f4cd3a85c82ae9720859656ccb863b2bdb02e0c11a3b5a715ca542bf
SimpleControllerStub.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-1e44e994254802371e6e594eb122ba4c116079fc065b9e010dbbf34aac626f09
UserControllerStub.php https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-e4269b08d2acbd5c9868b5f27a872788ab902a4b5fdbdb8d9b2db7b79c70fd31
.gitignorehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
ROADMAP.mdhttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-683343bdf93f55ed3cada86151abb8051282e1936e58d4e0a04beca95dff6e51
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/ROADMAP.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
src/Configuration/EnvConfiguration.phphttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-71f4d958b2b94687f8d5c62f0411e9079670f06aa5ddeac55985d5e449750c7f
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/src/Configuration/EnvConfiguration.php
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-71f4d958b2b94687f8d5c62f0411e9079670f06aa5ddeac55985d5e449750c7f
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-71f4d958b2b94687f8d5c62f0411e9079670f06aa5ddeac55985d5e449750c7f
src/Console/Console.phphttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-efca0bf0c23c0c478a3355a251de1f3b1ea1142bce9d737cc3ee19ff6416cabe
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/src/Console/Console.php
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-efca0bf0c23c0c478a3355a251de1f3b1ea1142bce9d737cc3ee19ff6416cabe
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-efca0bf0c23c0c478a3355a251de1f3b1ea1142bce9d737cc3ee19ff6416cabe
src/Database/Barry/Model.phphttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-973216f41351857199a773797527f95a1b66aea71c68937ec063069d1402b5d3
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/src/Database/Barry/Model.php
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-973216f41351857199a773797527f95a1b66aea71c68937ec063069d1402b5d3
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-973216f41351857199a773797527f95a1b66aea71c68937ec063069d1402b5d3
src/Router/AttributeRouteRegistrar.phphttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files#diff-7c565fd1675a8026399c16bee8dd07a08fb0ad24051202b9effbe38c1892e8df
View file https://patch-diff.githubusercontent.com/bowphp/framework/blob/ad04f5652286b85c33c7dea1cb783082759e2011/src/Router/AttributeRouteRegistrar.php
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/bowphp/framework/pull/349/{{ revealButtonHref }}
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
Please reload this pagehttps://patch-diff.githubusercontent.com/bowphp/framework/pull/349/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.