René's URL Explorer Experiment


Title: Modernization of the library to make it usable in modern PHP applications by coogle · Pull Request #4 · mapcode-foundation/mapcode-php · GitHub

Open Graph Title: Modernization of the library to make it usable in modern PHP applications by coogle · Pull Request #4 · mapcode-foundation/mapcode-php

X Title: Modernization of the library to make it usable in modern PHP applications by coogle · Pull Request #4 · mapcode-foundation/mapcode-php

Description: Currently this SDK isn't really usable in modern PHP applications due to it's vast usage of the global namespace which has long since been retired as a best practice. Additionally, it does not have the metadata needed to be included into modern PHP projects via the PHP package manager composer. This PR fixes both issues. Essentially what I've done is a simple wrapping of all the global namespaced functions into the Mapcode namespace. I then created an object to hold all the global variables / lookup tables MapcodeData and updated all the references to $GLOBALS to use the MapcodeData::$varname equivalent`. I also cleaned up the autoloading a tad and added a composer.json which can then be registered at https://packagist.org so others can easily use the library. Along with these changes I updated the sample, unit tests (all passing), and documentation to reflect how it can be used. I updated the version to 2.3.0, although I think arguably it would make sense to call this 3.0.0. All of these changes were necessary in order to use the library in any sort of professional PHP application context, and if necessary we'll maintain this as our own fork of the original SDK -- but I'd love to see this PR merged so we won't have to do that!

Open Graph Description: Currently this SDK isn't really usable in modern PHP applications due to it's vast usage of the global namespace which has long since been retired as a best practice. Additionally, it does ...

X Description: Currently this SDK isn't really usable in modern PHP applications due to it's vast usage of the global namespace which has long since been retired as a best practice. Additionally, ...

Opengraph URL: https://github.com/mapcode-foundation/mapcode-php/pull/4

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:27349ffb-d599-8103-79df-5fe776b0f31b
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idAD60:91A22:10916D3:1574C32:69752207
html-safe-nonce246910551a3dfb9670473727f1369f1717f48d989c0583abf96e39f5ff750f77
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRDYwOjkxQTIyOjEwOTE2RDM6MTU3NEMzMjo2OTc1MjIwNyIsInZpc2l0b3JfaWQiOiI5MTI0NTcxNzEwNDU4NTAzNjg3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac79fac2355609d0b2666e53667731804658c88896f7460b1531f44a2ed55ad144
hovercard-subject-tagpull_request:1647119793
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/mapcode-foundation/mapcode-php/pull/4/files
twitter:imagehttps://avatars.githubusercontent.com/u/1863471?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1863471?s=400&v=4
og:image:altCurrently this SDK isn't really usable in modern PHP applications due to it's vast usage of the global namespace which has long since been retired as a best practice. Additionally, it does ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None4a4bf5f4e28041a9d2e5c107d7d20b78b4294ba261cab243b28167c16a623a1f
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/mapcode-foundation/mapcode-php git https://github.com/mapcode-foundation/mapcode-php.git
octolytics-dimension-user_id8832474
octolytics-dimension-user_loginmapcode-foundation
octolytics-dimension-repository_id40119124
octolytics-dimension-repository_nwomapcode-foundation/mapcode-php
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id40119124
octolytics-dimension-repository_network_root_nwomapcode-foundation/mapcode-php
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
release488b30e96dfd057fbbe44c6665ccbc030b729dde
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmapcode-foundation%2Fmapcode-php%2Fpull%2F4%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%2Fmapcode-foundation%2Fmapcode-php%2Fpull%2F4%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=mapcode-foundation%2Fmapcode-php
Reloadhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Reloadhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Reloadhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
mapcode-foundation https://patch-diff.githubusercontent.com/mapcode-foundation
mapcode-phphttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fmapcode-foundation%2Fmapcode-php
Fork 2 https://patch-diff.githubusercontent.com/login?return_to=%2Fmapcode-foundation%2Fmapcode-php
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fmapcode-foundation%2Fmapcode-php
Code https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php
Issues 0 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/issues
Pull requests 1 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pulls
Actions https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/actions
Projects 0 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/projects
Security 0 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/security
Insights https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pulse
Code https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php
Issues https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/issues
Pull requests https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pulls
Actions https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/actions
Projects https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/projects
Security https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/security
Insights https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pulse
Sign up for GitHub https://patch-diff.githubusercontent.com/signup?return_to=%2Fmapcode-foundation%2Fmapcode-php%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=%2Fmapcode-foundation%2Fmapcode-php%2Fissues%2Fnew%2Fchoose
cooglehttps://patch-diff.githubusercontent.com/coogle
mapcode-foundation:masterhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/tree/master
Arvee-io:namespacinghttps://patch-diff.githubusercontent.com/Arvee-io/mapcode-php/tree/namespacing
Conversation 0 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4
Commits 2 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/commits
Checks 0 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/checks
Files changed https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Please reload this pagehttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Modernization of the library to make it usable in modern PHP applications https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#top
Show all changes 2 commits https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
f5aee92 Updating the SDK to remove all global variables and wrap the global n… coogle Dec 16, 2023 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/commits/f5aee92a172fa83f62df02edc8ebb3b84e23b023
e66d4b1 Forgot to add composer.json coogle Dec 17, 2023 https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/commits/e66d4b10aba75242a1067a33b9ac307ca84076d9
Clear filters https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Please reload this pagehttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
Please reload this pagehttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files
README.md https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
composer.json https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34
mapcode_api.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-043f02b326e9d727440a0ca3e02ffb6b969cd262e75158547575c8449ed43dfb
sample.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-0d2a4296202d79021d8eefcc9dfac62402e4e1a297353b1561dc4c0da58c404f
mapcode.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-07800c0f3ba6d2e4909483893673fed6812ff8fb3562dde13dbffa1a62bdde56
mapcode_api.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-f066f3554538e191c0a71573a84cbfb5efb249c17118366c538b6196675e26eb
mapcode_countrynames.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-a481575182c0ed71fe0f3abb39ae25918d91161b7c68426a1e20bc4b6181f32f
mapcode_data.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-78477eb8256e5464cdc576f80eed1493a48c22da12d0c541410c04edae8ddc96
mapcode_fast_encode.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-48d4638e159e3ef3fe4a359639cba934eae14d88c302e82cd8e7eca53161bd65
unittest.php https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-ab6477782deb4e8329456d58b4ca4d2e51601fbf79fc08c8c43f715b09d2f9a6
README.mdhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/blob/e66d4b10aba75242a1067a33b9ac307ca84076d9/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
composer.jsonhttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/files#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34
View file https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/blob/e66d4b10aba75242a1067a33b9ac307ca84076d9/composer.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/{{ revealButtonHref }}
Please reload this pagehttps://patch-diff.githubusercontent.com/mapcode-foundation/mapcode-php/pull/4/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.