@fluxStyles Skip to main content
Magewire V3: Now Available

Reactive Magento
without the JavaScript

Ship reactive Magento 2 UIs in pure PHP. No JavaScript. No context switching. Just you and your code.

<?php

declare(strict_types=1);

namespace Vendor\Module\Magewire;

use Magewire\Component;

class Counter extends Component
{
    public int $count = 0;

    public function increment(): void
    {
        $this->count++;
    }

    public function decrement(): void
    {
        $this->count--;
    }
}
<?xml version="1.0"?>
<page
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block
                name="counter"
                template="Vendor_Module::magewire/counter.phtml">
                <arguments>
                    <argument
                        name="magewire"
                        xsi:type="object">
                        Vendor\Module\Magewire\Counter
                    </argument>
                </arguments>
            </block>
        </referenceContainer>
    </body>
</page>
<div class="counter">

    <p class="count">
        Count: <strong>{{ $magewire->count }}</strong>
    </p>

    <button wire:click="increment">Increment</button>
    <button wire:click="decrement">Decrement</button>

</div>

This is just a counter. Magewire handles forms, modals, search, pagination, real-time validation, and much more. Explore the docs, get inspired, and ship something great.

Get started

Install

Three commands. You're up and running.

Terminal
$ composer require magewirephp/magewire
$ php bin/magento module:enable Magewirephp_Magewire
$ php bin/magento setup:upgrade
Magewire is ready. Happy building!

Need more? Everything else is in the documentation.

Familiar by Design

Know Livewire?
You already know Magewire.

Inspired by Laravel Livewire and intentionally familiar. Magewire brings its component model and wire: directives to Magento 2, while adapting them to a different platform with different edges.

Component class
Laravel · Livewire Counter.php
<?php

namespace App\Livewire;

use Livewire\Component;

class Counter extends Component
{
    public int $count = 0;

    public function increment(): void
    {
        $this->count++;
    }

    public function decrement(): void
    {
        $this->count--;
    }
}
Magento 2 · Magewire Counter.php
<?php

namespace Vendor\Module\Magewire;

use Magewire\Component;

class Counter extends Component
{
    public int $count = 0;

    public function increment(): void
    {
        $this->count++;
    }

    public function decrement(): void
    {
        $this->count--;
    }
}
A familiar shape, adapted for Magento.
Template
Laravel · Livewire counter.blade.php
<div>

    <h2>{{ $count }}</h2>

    <button wire:click="decrement"></button>
    <button wire:click="increment">+</button>

</div>
Magento 2 · Magewire counter.phtml
<div>

    <h2>{{ $magewire->count }}</h2>

    <button wire:click="decrement"></button>
    <button wire:click="increment">+</button>

</div>
Familiar wire: directives, rendered in PHTML.
Platform & theme support

Compatibility

Supported platforms, runtimes, storefronts, and Magento areas for Magewire V3.

Platforms
Distribution Version PHP Magento base / purpose
Magento Open Source 2.4.6-p15 8.2 Oldest Magento line compatible with Magewire's PHP ≥8.2
Magento Open Source 2.4.7-p10 8.3 Current 2.4.7 patch line
Magento Open Source 2.4.8-p5 8.4 Current 2.4.8 patch line
Magento Open Source 2.4.9 8.5 Latest Magento with latest PHP
Mage-OS 1.3.1 8.2 Magento 2.4.8-p2 base; Magewire PHP floor
Mage-OS 2.3.0 8.4 Magento 2.4.8-p5 base
Mage-OS 3.2.0 8.5 Magento 2.4.9 base; latest/latest
Themes
Abstract supported administration dashboard

Magento Backend

Supported

Abstract fast storefront with a support check

Hyvä

Supported

Abstract storefront components moving through an incomplete progress loop

Breeze

In progress · Community

Abstract storefront with a calm pause symbol and disconnected plug

Luma

No active plans

Useful with Magewire

Tools

Handy projects from across the Magento ecosystem that make building with Magewire even more fun.

A robotic bricklayer inspecting Magento runtime connections inside transparent building blocks

Made by Inchoo

Magento Bricklayer

Useful for Magewire development because it gives AI coding agents Magento runtime context that source files cannot show, including dependency injection, plugin chains, EAV, configuration, and diagnostics.

Compatible with Magewire V1 + V3

View on GitHub
Real-world adoption

Magewire in the wild.

Two Hyvä products. Two different relationships with Magewire.