PHPackages                             apsonex/swap-placeholder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. apsonex/swap-placeholder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

apsonex/swap-placeholder
========================

Swap Placeholder

1.0.1(11mo ago)03MITPHPPHP ^8.3

Since Jul 30Pushed 11mo agoCompare

[ Source](https://github.com/apsonex/swap-placeholder)[ Packagist](https://packagist.org/packages/apsonex/swap-placeholder)[ Docs](https://apsonex.com)[ RSS](/packages/apsonex-swap-placeholder/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (7)Versions (3)Used By (0)

Apsonex Swap Placeholder PHP Package
====================================

[](#apsonex-swap-placeholder-php-package)

**Package:** `apsonex/swap-placeholder`A simple and flexible PHP package to dynamically swap out placeholders in strings using resource data and resolver classes.

---

🚀 Features
----------

[](#-features)

- Define your own placeholder format (e.g. `__PLACEHOLDER__`)
- Attach resource models (like `Lead`, `Company`, etc.)
- Implement your own resolver logic
- Easily swap placeholders in strings for dynamic content generation

---

📦 Installation
--------------

[](#-installation)

```
composer require apsonex/swap-placeholder
```

---

🧠 Usage Example
---------------

[](#-usage-example)

```
\Apsonex\SwapPlaceholder\SwapPlaceholder::make()
    ->fresh()
    ->placeholderIdentity('__')
    ->addResource(Lead::class, Lead::first())
    ->sources([
        PlaceholderResolver\LeadPlaceholderResolver::class,
    ])
    ->targetString('Some string with __LEAD_NAME__, __LEAD_EMAIL__, __COMPANY_NAME__ & __COMPANY_EMAIL__')
    ->handle()
    ->output();
```

---

🧩 Creating a Placeholder Resolver
---------------------------------

[](#-creating-a-placeholder-resolver)

Each resolver class should extend the `BasePlaceholderResolver` and implement the `PlaceholderResolverContract`.

```
