PHPackages                             creode/marketing-signup - 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. creode/marketing-signup

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

creode/marketing-signup
=======================

Library which provides a basic interface for marketing signup integrations.

1.0.2(1y ago)0161PHP

Since Jun 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/creode/marketing-signup)[ Packagist](https://packagist.org/packages/creode/marketing-signup)[ RSS](/packages/creode-marketing-signup/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependenciesVersions (4)Used By (1)

Marketing Signup
================

[](#marketing-signup)

This libray provides a simple framework in order to create different types of marketing signup integrations. This library on it's own doesn't provide any functionality but is used by other libraries in order to build up swappable integrations with different 3rd party services.

How to Develop for this
-----------------------

[](#how-to-develop-for-this)

All types are created by extending the `MarketingSignupTypeBase.php` abstract class and building adding any function overrides in order to define the necessary functionality. This class can also be extended and adapted to specific single use cases within your own application/library.

Types will also need to create their own implementation of the `MarketingSignupSenderBase.php` class to handle the basic interactions with third party services.

These two classes should all you need for a basic integration and are linked together using the `constructSender` function inside your newly created `MarketingSignupType` class described in the first paragraph of this section.

Developing a new signup integration
-----------------------------------

[](#developing-a-new-signup-integration)

If you plan on or have already developed a new type the best approach is to wrap it inside a new composer library and use the naming convension `marketing-signup-{type}` i.e. `marketing-signup-mailchimp`. This will make the integrations easy to find and be filtered on in Packagist.

Improvements and new features
-----------------------------

[](#improvements-and-new-features)

Here is a list of potential features that we may want to think about implementing, these need to be discussed beforehand and decided on if we should implement them:

- Field Mappings/Formatting - Include a field mapping/formatting function in one of our classes so that we know how to format the format for specific apis. This could be an external class but we might be able to provide some kind of functionality in a base class to handle them.
- Improved Error Handling - Currently the error handling needs to be handled by the user calling this library. We should try to move this here if we can.
- Additional Functionality to put functions in like `updateOrCreate()` to allow us to update specific data. Might be tricky since we shouldn't update SOURCE fields for certain sites.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~523 days

Total

4

Last Release

585d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8133041?v=4)[Creode](/maintainers/creode)[@creode](https://github.com/creode)

---

Top Contributors

[![jamiesykescreode](https://avatars.githubusercontent.com/u/22323384?v=4)](https://github.com/jamiesykescreode "jamiesykescreode (8 commits)")[![ben-leonard](https://avatars.githubusercontent.com/u/18216469?v=4)](https://github.com/ben-leonard "ben-leonard (1 commits)")

### Embed Badge

![Health badge](/badges/creode-marketing-signup/health.svg)

```
[![Health](https://phpackages.com/badges/creode-marketing-signup/health.svg)](https://phpackages.com/packages/creode-marketing-signup)
```

###  Alternatives

[phpcr/phpcr-migrations

Migrations for PHPCR

421.4M2](/packages/phpcr-phpcr-migrations)[pattern-lab/edition-drupal-standard

Standard Edition of Pattern Lab for Drupal.

12419.1k](/packages/pattern-lab-edition-drupal-standard)[graphite-graph/graphite-graph

Graphite graph DSL

152.8k](/packages/graphite-graph-graphite-graph)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
