qferr / mjml-php

A simple PHP library to render MJML to HTML.
https://qferrer.medium.com/rendering-mjml-in-php-982d703aa703
67 stars 9 forks source link
email mjml mjml-api php

MJML in PHP

PHPUnit

A simple PHP library to render MJML to HTML.

There are two ways for integrating MJML in PHP:

Installation

composer require qferr/mjml-php

Using MJML library

Install the MJML library:

npm install mjml --save

If you want a specific version, use the following syntax: npm install mjml@4.7.1 --save

<?php
require_once 'vendor/autoload.php';

$renderer = new \Qferrer\Mjml\Renderer\BinaryRenderer(__DIR__ . '/node_modules/.bin/mjml');

$html = $renderer->render('
    <mjml>
        <mj-body>
            <mj-section>
                <mj-column>
                    <mj-text>Hello world</mj-text>
                </mj-column>
            </mj-section>
        </mj-body>
    </mjml>
');

Using MJML API

<?php
require_once 'vendor/autoload.php';

$apiId = 'abcdef-1234-5678-ghijkl';
$secretKey = 'ghijkl-5678-1234-abcdef';

$api = new \Qferrer\Mjml\Http\CurlApi($apiId, $secretKey);
$renderer = new \Qferrer\Mjml\Renderer\ApiRenderer($api);

$html = $renderer->render('
    <mjml>
        <mj-body>
            <mj-section>
                <mj-column>
                    <mj-text>Hello world</mj-text>
                </mj-column>
            </mj-section>
        </mj-body>
    </mjml>
');

You can get the version of MJML used by the API to transpile:

$api->getMjmlVersion();

More details in the API documentation: https://mjml.io/api/documentation