docs: integrate fastFOREX as the project sponsor and recommended provider#154
Merged
Conversation
…ider
README
- Add a sponsor banner (logo, one-line pitch with concrete facts, free-API-key CTA) under the badges, with target="_blank" rel="noopener" on every link.
- Reorder for a dev-first flow: sponsor → What is Swap → Installation → Quickstart → Fallback chain → Providers → positioning sections (When/Use cases/Which package) → Documentation.
- Drop the "Why not call an exchange rate API directly?" section (duplicated positioning).
- Drop the bottom "Sponsorship" section (the top banner carries the placement on its own).
- Drop the "Related packages" section (duplicated "Which package should I use?").
- Drop the inline "Caching, HTTP client, and error handling" section; replaced by a pointer to doc/readme.md, which already covers all three in detail.
- Quickstart now leads with fastforex as the primary provider, with the European Central Bank kept as a no-key alternative inside a <details> block.
- Providers table: split into Commercial (with fastforex pinned at the top, marked with a star and in bold) and Public. Cryptonator, exchangerate.host and WebserviceX moved from Public to Commercial to reflect their upstream status; the table is otherwise alphabetical and complete — no provider removed.
- Link each ecosystem package name in "Which package should I use?" to its GitHub repository.
doc/readme.md
- Add the same sponsor banner at the top, plus a one-line pointer back to the README for the project overview and ecosystem.
- Drop the three positioning sections that duplicated the README ("What is Swap?", "When should you use Swap?", "Why not call an exchange rate API directly?"); the doc is now a pure technical reference.
- Add a new "Converting amounts" section under Usage with the plain-float pattern and the official Money\Exchange\SwapExchange integration from moneyphp/money.
- Provider configuration: split into Commercial (table with fastforex pinned and in bold at the top) and Public (full identifier / base / quote / historical table), in that order. An "Example" subsection follows with a sample provider chain and the `array` provider snippet.
- Cross-links updated: every reference to the README's Providers table now points to the doc's local tables instead.
- Add a transparency note that cryptonator, exchangeratehost and webservicex are commercial upstream services but the current Exchanger wrapper does not yet require an option for them.
- Index updated to reflect the new structure.
- Remove every em-dash from prose for consistency.
- Promotional comments removed from cache and HTTP-cache code snippets; fastforex is named where strategically useful (Building Swap, providers table, example) and otherwise appears as a neutral identifier.
Sponsor copy
- Tagline: 'Real-time JSON API, 160+ currencies, 55+ years of history, 500+ cryptocurrencies. Free tier; paid plans from \$18/month.'
- All fastFOREX links use https://www.fastforex.io (avoids a 301 redirect and improves referrer attribution).
No PHP code, composer.json, tests, or provider list changes. All existing providers remain supported. The sponsorship is visible above the fold but the package keeps a clean open-source maintainer tone — no banner repetition, no spammy CTAs, no marketing language.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.