baraja-core / mjml-php-server
Render your MJML template on custom PHP server.
Installs: 6 639
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
Requires (Dev)
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-nette: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- roave/security-advisories: dev-master
- spaze/phpstan-disallowed-calls: ^2.0
This package is auto-updated.
Last update: 2022-05-11 15:13:01 UTC
README
Imagine you want render your MJML template on your private PHP server, now you can.
Please note: This package is not officially supported as of 2021-04-01. Install MJML manually on the server, or use Docker.
How to install
Install this package by Composer or download manually:
composer require baraja-core/mjml-php-server
Your server must use PHP 7.1
or better and installed MJML by Node modules (internal command is /node_modules/.bin/mjml
).
Server configuration
Your server must support the shell_exec() function and Apache or Ngnix.
In your root directory of webserver please configure calling this internal logic. For instance this way (most simply solution):
<?php require __DIR__ . '/src/MjmlServer.php'; // Path to this package $cacheDir = __DIR__ . '/cache'; // Or can be null (new \Baraja\Mjml\MjmlServer($cacheDir))->run();
Now your MJML server is configured.
When you call URI /api/v1/mjml
by HTTP request on your domain, you can render your MJML template.
API usage
API must be called by POST method with body parameter template
with template.
Final template will be returned by json response.
Some example:
Call URI /api/v1/mjml
with parameter:
Minimal template configuration:
<mjml> <mj-body> <mj-section> <mj-column> <mj-text>Hello World</mj-text> </mj-column> </mj-section> </mj-body> </mjml>