PHPackages                             coercive/fatalnotifyer - 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. coercive/fatalnotifyer

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

coercive/fatalnotifyer
======================

Coercive FatalNotifyer Utility

0.0.20(5y ago)01.9kMITPHP &gt;=7

Since Jul 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Coercive/FatalNotifyer)[ Packagist](https://packagist.org/packages/coercive/fatalnotifyer)[ Docs](http://coercive.fr)[ RSS](/packages/coercive-fatalnotifyer/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)DependenciesVersions (21)Used By (0)

Coercive FatalNotifyer Utility
==============================

[](#coercive-fatalnotifyer-utility)

This class allows you to manage your site's errors with an internal system of exception and notification by email.

Get
---

[](#get)

```
composer require coercive/fatalnotifyer

```

Usage
-----

[](#usage)

```
use Coercive\Utility\FatalNotifyer\FatalNotifyer;

# Instanciate
$oFatal = new FatalNotifyer;

# Display errors or not
$oFatal->displayError(true || false);

# Set your own email subject, with your project name for example
$oFatal->setMailSubject('Hello, an error occured on my website');

# Add your email(s) and error list to send
$oFatal->mail('email_1@email.email');
$oFatal->mail(['email_2@email.email', 'email_3@email.email']);
$oFatal->mail('email_4@email.email', E_COMPILE_ERROR);
$oFatal->mail('email_5@email.email', E_NOTICE | E_USER_NOTICE);
	// ...

# Or just notify (not the full backtrace but short message)
$oFatal->notify('email_1@email.email');
$oFatal->notify(['email_2@email.email', 'email_3@email.email'], E_NOTICE | E_USER_NOTICE);

# Register type error for internal class handle
$oFatal->register(E_FATAL);

	// E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_CORE_ERROR,
	// E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING,
	// E_USER_ERROR:, E_USER_WARNING, E_USER_NOTICE, E_STRICT,
	// E_RECOVERABLE_ERROR, E_DEPRECATED, E_USER_DEPRECATED

# Save type error in personal file
$oFatal->save('/my/personal/log/directory/fatal', E_FATAL);
$oFatal->save('/my/personal/log/directory/notice', E_NOTICE);
// See after for explore errors datas

# You can try an autotest for 3 errors type
FatalNotifyer::autoTest();

# And you have a reset function
FatalNotifyer::reset();
```

Explore error log
-----------------

[](#explore-error-log)

```
use Coercive\Utility\FatalNotifyer\FatalLog;

# For example, you can imagine an ajax system that retrieve error list ...

# Load
$oLog = new FatalLog('/my/personal/log/directory/fatal');

# Retreive days list directories
# ['2017-07-22', '2017-07-21', '2017-07-20', ...]

$aDays = $oLog->getDayList();

# Retreive file list by directories
# ['2017-07-22' => ['15_14_57', '15_14_58', ...], ...]

$aLists = [];
foreach ($aDays as $sDay) {
	$aLists[$sDay] = $oLog->getFileList($sDay);
}

# Retrieve one (example)

$oLog->getOne("/my/personal/log/directory/fatal/2017-07-22/15_14_57");

# Loop retrieve (example)

$aErrors = [];
foreach ($aLists as $sDay => $aFiles) {
	foreach ($aFiles as $sFile) {
		$aErrors[$sDay . '@' . $sFile] = $oLog->getOne("/my/personal/log/directory/fatal/$sDay/$sFile");
	}
}

# See results

echo '';
var_dump($aDays);
var_dump($aLists);
var_dump($aErrors);
echo '';
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

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 ~58 days

Recently: every ~211 days

Total

20

Last Release

2160d ago

PHP version history (2 changes)0.0.1PHP &gt;=7.1

0.0.20PHP &gt;=7

### Community

Maintainers

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

---

Top Contributors

[![Coercive](https://avatars.githubusercontent.com/u/20288080?v=4)](https://github.com/Coercive "Coercive (9 commits)")

### Embed Badge

![Health badge](/badges/coercive-fatalnotifyer/health.svg)

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

PHPackages © 2026

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