PHPackages                             manthan/nuncio - 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. [Templating &amp; Views](/categories/templating)
4. /
5. manthan/nuncio

ActiveLibrary[Templating &amp; Views](/categories/templating)

manthan/nuncio
==============

Turn your customer messages/emails into mustache-style templates. Just create one template for your message and nuncio will replace tags with customer details.

1.1.1(10y ago)222MITPHPPHP &gt;=5.3.0

Since Aug 25Pushed 10y ago1 watchersCompare

[ Source](https://github.com/Manthan787/Nuncio)[ Packagist](https://packagist.org/packages/manthan/nuncio)[ RSS](/packages/manthan-nuncio/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (1)Versions (7)Used By (0)

Nuncio
------

[](#nuncio)

Nuncio is a flexible and customizable messenger that helps you turn your SMS/Email into mustache-style templates.

### Installing

[](#installing)

You can install Nuncio using Composer.

```
{
   "require": {
      "manthan/nuncio": "1.1.*"
   }
}

```

### Basic Usage

[](#basic-usage)

Using Nuncio is as simple as extending Manthan\\Nuncio\\Nuncio and specifying Keywords that you'd want in your message templates to be replaced.

For example, you'd like to notify your users via SMS using following template in your dashboard:

```
Hello {{name}}, Your fees ${{fees}} are pending.

```

To process this message this is what you'd do:

```
    use Manthan\Nuncio\Nuncio

    class SMSNotifier extends Nuncio
    {
      protected $keywords = array('name', 'fees');
    }
```

Looks very simple, right?

Now to use this newly created notifier do the following:

```
    $SMS_Service = new TwilioService() // This must implement Manthan\Nuncio\MessengerInterface

    $processor = new Manthan\Nuncio\MessageProcessor();
    $notifier = new SMSNotifier($SMS_Service, $processor);

    $user = new stdClass();
    $user->name   = "Manthan";
    $user->fees   = "1500";
    $user->number = "78787878";

    $recepients = [$user];
    $notifier->from('YOUR-NUMBER')->to($recepients)->send($subject, $message);
```

The code above, sends following message to the number 78787878:

```
Hello Manthan, your fees $1500 are pending.

```

Nuncio is super flexible. As shown above, you can use any of your Message Service Implementations (may it be Twilio, Plivo or Email Notifiers) to send your processed messages.

### Changing the number field

[](#changing-the-number-field)

As you can see in the above example, Nuncio by default looks for the property 'number' on each of the recepients and sends message to that number.

But it is highly probable that you're not using number property in your User objects. In which case, you can change the default number field like so:

```
    use Manthan\Nuncio\Nuncio

    class SMSNotifier extends Nuncio
    {

      protected $keywords = array('name', 'fees');

      // Suppose your user's phone number is denoted by its phone_number property
      protected $number_field = 'phone_number';
    }
```

### Running Tests

[](#running-tests)

You can run the tests using :

```
./vendor/bin/phpunit

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~7 days

Total

6

Last Release

3881d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d9aa40d19a0ba1e0c2bf98b8daa73bca058e7799f4b376723781752f52a62935?d=identicon)[manthan](/maintainers/manthan)

---

Top Contributors

[![manthan787](https://avatars.githubusercontent.com/u/5684136?v=4)](https://github.com/manthan787 "manthan787 (14 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/manthan-nuncio/health.svg)

```
[![Health](https://phpackages.com/badges/manthan-nuncio/health.svg)](https://phpackages.com/packages/manthan-nuncio)
```

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)[symfony/ux-icons

Renders local and remote SVG icons in your Twig templates.

555.8M69](/packages/symfony-ux-icons)

PHPackages © 2026

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