PHPackages                             fotografde/cakephp-sms - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. fotografde/cakephp-sms

ActiveCakephp-plugin[Queues &amp; Workers](/categories/queues)

fotografde/cakephp-sms
======================

SMS Plugin for CakePHP

1.0.2(8y ago)1273.2k2[1 issues](https://github.com/fotografde/cakephp-sms/issues)MITPHPPHP &gt;=5.4

Since May 11Pushed 6y ago13 watchersCompare

[ Source](https://github.com/fotografde/cakephp-sms)[ Packagist](https://packagist.org/packages/fotografde/cakephp-sms)[ Docs](http://github.com/fotografde/cakephp-sms)[ RSS](/packages/fotografde-cakephp-sms/feed)WikiDiscussions master Synced 1mo ago

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

CakePHP Sms Plugin
==================

[](#cakephp-sms-plugin)

[![Build Status](https://camo.githubusercontent.com/b355325c57e23832486c82597286f17929d97c0d8493cb9fa6729bfcb424b205/68747470733a2f2f6170692e7472617669732d63692e6f72672f666f746f6772616664652f63616b657068702d736d732e737667)](https://travis-ci.org/fotografde/cakephp-sms)[![Minimum PHP Version](https://camo.githubusercontent.com/b8feeff753e7c6ff51ffd26c612be3c4f292513e413cd0c8884e665ff51dd798/687474703a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230352e342d3838393242462e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/e9eb294e53ce367f39cd610f671ff67d7fb8a8782b4ca7fab7b0b343b5cb087d/68747470733a2f2f706f7365722e707567782e6f72672f666f746f6772616664652f63616b657068702d736d732f6c6963656e7365)](https://packagist.org/packages/fotografde/cakephp-sms)[![Total Downloads](https://camo.githubusercontent.com/460b9ca19890f53b1ab08f62290f1b6a3b1b45d266479b5038df5ffa06dc69bf/68747470733a2f2f706f7365722e707567782e6f72672f666f746f6772616664652f63616b657068702d736d732f642f746f74616c)](https://packagist.org/packages/fotografde/cakephp-sms)

Send SMS with CakePHP.

Usage
-----

[](#usage)

```
App::uses('CakeSms', 'Sms.Network/Sms');

$CakeSms = new CakeSms('default');
$CakeSms->to('+491234567890');
$CakeSms->from('+841234567890');
$CakeSms->send('Hello world!');
```

Installation via Composer
-------------------------

[](#installation-via-composer)

```
"require": {
	"fotografde/cakephp-sms": ">=1.0.0"
}
```

Configuration
-------------

[](#configuration)

Load plugin in Config/bootstrap.php

```
CakePlugin::load('Sms');
```

Create Config/sms.php

```
class SmsConfig {
	public $default = array(
		'transport' => 'Clickatell', // will use class ClickatellSmsTransport
	);
}
```

Implement a transport class under Lib/Network/Sms/. We recommend implementing [Xi SMS](https://github.com/xi-project/xi-sms), this way for example:

```
/**
 * Send SMS through SMS provider Clickatell
 */

use Xi\Sms\Gateway\ClickatellGateway;

App::uses('AbstractSmsTransport', 'Sms.Network/Sms');

class ClickatellSmsTransport extends AbstractSmsTransport {

	const CLICKATELL_API_ID = 'XXXX';
	const CLICKATELL_USER = 'YYYY';
	const CLICKATELL_PASSWORD = 'ZZZZ';

	/**
	 * Sends an SMS Through Clickatell
	 * We could also consider using this library: http://github.com/arcturial/clickatell
	 *
	 * @param CakeSms $sms
	 * @return bool Success
	 */
	public function send(CakeSms $sms) {
		$gw = new ClickatellGateway(
			self::CLICKATELL_API_ID,
			self::CLICKATELL_USER,
			self::CLICKATELL_PASSWORD
		);

		$service = new Xi\Sms\SmsService($gw);

		$msg = new Xi\Sms\SmsMessage(
			$sms->message(),
			self::parsePhoneNumber($sms->from()),
			self::parsePhoneNumber($sms->to())
		);

		$response = $service->send($msg);

		return !empty($response);
	}

	/**
	 * Parses a phone number to fit Clickatell requirements
	 * from +49123[...] to 49123[...]
	 *
	 * @param array|string $phoneNumber
	 * @return array|string|bool
	 */
	public static function parsePhoneNumber($phoneNumber) {
		if (is_array($phoneNumber)) {
			return array_map('self::parsePhoneNumber', $phoneNumber);
		}
		if (preg_match('/^\+([0-9]+)$/', (string) $phoneNumber, $matches)) {
			return $matches[1];
		}
		return false;
	}
}
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

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

Total

3

Last Release

3185d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4cedb2d341babd890f792c5e187a32b3697ef0568b1ee4dfbef6d069a43ecf2f?d=identicon)[beinbm](/maintainers/beinbm)

![](https://www.gravatar.com/avatar/02fbf70ae012375245c69ee5fbc29c8554be73c191a320b9855884bee9b3d992?d=identicon)[felixmaier1989](/maintainers/felixmaier1989)

---

Top Contributors

[![felixmaier1989](https://avatars.githubusercontent.com/u/10077436?v=4)](https://github.com/felixmaier1989 "felixmaier1989 (18 commits)")[![beinbm](https://avatars.githubusercontent.com/u/995872?v=4)](https://github.com/beinbm "beinbm (2 commits)")

---

Tags

messagephpcakephpsmsmobilecakeshort

### Embed Badge

![Health badge](/badges/fotografde-cakephp-sms/health.svg)

```
[![Health](https://phpackages.com/badges/fotografde-cakephp-sms/health.svg)](https://phpackages.com/packages/fotografde-cakephp-sms)
```

###  Alternatives

[nahid/talk

Talk is a Laravel based realtime messaging, chatting and conversation system. It helps to develop users messaging, chatting and conversations in easy way.

1.6k58.1k4](/packages/nahid-talk)[baklysystems/laravel-chat-messenger

Laravel chat package

121.8k](/packages/baklysystems-laravel-chat-messenger)

PHPackages © 2026

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