Speed

Optimized for PHP 8.1+, delivering maximum performance without unnecessary overhead.

📦

Modularity

Choose only the components you need – every feature is a standalone package.

🛠️

Integrations

Native support for Pohoda, Money S5, Zboží.cz, Heureka, Google Merchant, and more.

Open-source packages

Reusable components available for free under the MIT license.

LM/Postcode

LM/Postcode

Component for formatting and validating postcodes for various countries.

Install →
use Lemonade\Postcode\PostcodeFormatter;
use Lemonade\Postcode\Exception\PostcodeException;
use Lemonade\Postcode\FormatterMapper;
use Lemonade\Postcode\FormatterRegistry;

// initialize with all built-in formatters
$registry  = new FormatterRegistry(FormatterMapper::all()); // IMMUTABLE REGISTRY
$formatter = new PostcodeFormatter($registry);              // READONLY REFERENCE

try {
    $postcode = $formatter->format('CZ', '12000');
    // returns "120 00"
} catch (PostcodeException $e) {
    echo $e->getValue() . ' is invalid: ' . $e->getMessage();
}
LM/Meta

LM/Meta

Lightweight OOP component for generating SEO & social meta tags.

Install →
use Lemonade\Meta\MetaData;
use Lemonade\Meta\MetaFactory;

$data = new MetaData(
    title: "Homepage",
    description: "Modern PHP framework",
    canonical: "https://lemonadeframework.cz"
);

$meta = new MetaFactory($data);
echo $meta; // renders meta tags
LM/Currency

LM/Currency

Utility for handling currencies, conversions and formatting.

Install →
use Lemonade\Currency\CurrencyConverter;

$converter = new CurrencyConverter();
echo $converter->convert(100, "CZK", "EUR");
LM/Datalayer

LM/Datalayer

Component for generating a Data Layer for analytics / tracking.

Install →
use Lemonade\DataLayer\Layer;
use Lemonade\DataLayer\Event;

$layer = new Layer();
$layer->push(Event::PAGE_VIEW, ["page" => "Homepage"]);
echo $layer->render();
LM/Generator

LM/Generator

PHP library for generating emails using Twig templates.

Install →
use Lemonade\EmailGenerator\DefaultBuilder;

$builder = new DefaultBuilder();
$email = $builder
  ->addHeader("Password Reset")
  ->addParagraph("Click below to reset your password.")
  ->build();

echo $email;

Upcoming

We are working on new packages and components – stay tuned!

LM/Feed

LM/Feed Coming soon →

We are currently working on a module for generating feeds (RSS / XML stream).

use Lemonade\Feed\FeedBuilder;
use Lemonade\Feed\Domain\FeedType;

$builder = new FeedBuilder();
$builder->build(FeedType::SITEMAP, $config, $items);