PHPackages                             mako/pusher - 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. [Framework](/categories/framework)
4. /
5. mako/pusher

AbandonedArchivedLibrary[Framework](/categories/framework)

mako/pusher
===========

Asset preloading for the Mako Framework

4.0.0(4y ago)117BSD-3-ClausePHPPHP &gt;=7.4.0

Since Mar 2Pushed 4y ago1 watchersCompare

[ Source](https://github.com/mako-framework/pusher)[ Packagist](https://packagist.org/packages/mako/pusher)[ Docs](http://makoframework.com)[ RSS](/packages/mako-pusher/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (4)Dependencies (3)Versions (10)Used By (0)

Mako Pusher
===========

[](#mako-pusher)

[![Build Status](https://github.com/mako-framework/pusher/workflows/Tests/badge.svg)](https://github.com/mako-framework/pusher/actions?query=workflow%3ATests)

Pusher enables you to easily implement `preloading`, `prefetching`, `prerendering`, `dns-prefetching` and `preconnecting` in your applications.

Requirements
------------

[](#requirements)

Mako 8.0 or greater.

Usage
-----

[](#usage)

If you're using the `PusherMiddleware` then you can access the pusher instance using the `Request::getAttribute()` method.

```
$pusher = $this->request->getAttribute('mako.pusher');

```

You can tell the client to preload your assets.

```
$pusher->push('/assets/css/style.css', ['preload']);

// You can also use the "preload" convenience method

$pusher->preload('/assets/css/style.css');

```

> Preloading requires a HTTP2 server with push support (e.g. Apache 2.4.24+).

You can tell the browser to prefetch resources that you think the user will need next.

```
$pusher->push('https://example.org/image.jpg', ['prefetch', 'as' => 'image']);

// You can also use the "prefetch" convenience method

$pusher->prefetch('https://example.org/image.jpg', ['as' => 'image']);

```

You can tell the browser to prefetch and render resources that you think the user will visit next.

```
$pusher->push('https://example.org/next', ['prerender']);

// You can also use the "prerender" convenience method

$pusher->prerender('https://example.org/next');

```

You can resolve the DNS lookup for a domain that you know your client will have to connect to when fetching resources.

```
$pusher->push('https://fonts.gstatic.com', ['dns-prefetch']);

// You can also use the "dnsPrefetch" convenience method

$pusher->dnsPrefetch('https://fonts.gstatic.com');

```

You can pre-connect to a domain that you know your client will have to connect to when fetching resources. This will resolve the DNS lookup but it also includes the TCP handshake, and optional TLS negotiation.

```
$pusher->push('https://fonts.gstatic.com', ['preconnect', 'crossorigin' => true]);

// You can also use the "preconnect" convenience method

$pusher->preconnect('https://fonts.gstatic.com', ['crossorigin' => true]);

```

### More details

[](#more-details)

-
-

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

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

Recently: every ~250 days

Total

7

Last Release

1629d ago

Major Versions

1.0.x-dev → 2.0.02019-03-07

2.0.0 → 3.0.02020-08-27

2.0.x-dev → 3.0.x-dev2020-11-21

3.0.x-dev → 4.0.02021-11-30

PHP version history (4 changes)1.0.0PHP &gt;=7.0.0

2.0.0PHP &gt;=7.2.0

3.0.0PHP &gt;=7.3.0

4.0.0PHP &gt;=7.4.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/773958?v=4)[Frederic G. Østby](/maintainers/freost)[@freost](https://github.com/freost)

---

Top Contributors

[![freost](https://avatars.githubusercontent.com/u/773958?v=4)](https://github.com/freost "freost (37 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

---

Tags

mako-frameworkmako-packagephpframeworkhttp2mako

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mako-pusher/health.svg)

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

###  Alternatives

[mako/framework

Mako Framework

249170.3k23](/packages/mako-framework)[pestphp/pest-plugin-stressless

Stressless plugin for Pest

67792.6k16](/packages/pestphp-pest-plugin-stressless)[mako/app

Mako Framework

335.0k](/packages/mako-app)

PHPackages © 2026

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