MNRFY Framework
Современный PHP фреймворк с мощным шаблонизатором, системой переводов и инструментами разработки
🎨 Шаблонизатор
Собственный шаблонизатор похожий на Twig с расширенными возможностями
🌍 Многоязычность
Встроенная система переводов с автоматическим переводом
🗄 База данных
Удобный интерфейс работы с БД, транзакции и кеширование
📝 Формы
Удобная обработка форм с расширенным функционалом
🧩 Компоненты
Переиспользуемые компоненты и макеты
🔒 Безопасность
Встроенная CSRF защита и экранирование данных
Быстрый старт
1. Создайте шаблон страницы
Создайте файл /src/hello.html:
<!DOCTYPE html>
<html>
<head>
<title>{{ config('app.name') }} - Привет</title>
</head>
<body>
<h1>{{ t('welcome') }}</h1>
{% set user = {"name":"Данило"} %}
{% if user %}
<p>Привет, {{ user.name }}!</p>
{% else %}
<p>Привет, гость!</p>
{% endif %}
<h2>Пользователи</h2>
{% set users = db('1752665380840')->getItems('users', {'ban': 0}) %}
<ul>
{% foreach users as user %}
<li>{{ user.login }} - {{ user.balance | money('₽') }}</li>
{% endforeach %}
</ul>
</body>
</html>
2. Откройте страницу
Перейдите по адресу http://yourdomain.com/hello
Основные возможности
Вывод переменных
<!-- Экранированный вывод -->
{{ user.name }}
<!-- Сырой вывод (без экранирования) -->
{!! article.content !!}
<!-- Значение по умолчанию -->
{{ user.nickname ?? 'Гость' }}
Условия
{% if user.balance > 0 %}
<span class="balance-positive">{{ user.balance | money('₽') }}</span>
{% else %}
<span class="balance-zero">Пополните баланс</span>
{% endif %}
Циклы
{% foreach products as product %}
<div class="product">
<h3>{{ product.name }}</h3>
<p>{{ product.price | money('₽') }}</p>
</div>
{% endforeach %}
Работа с БД
<!-- Получение записей -->
{% set users = db('1752665380840')->getItems('users', {'ban': 0}) %}
<!-- Получение одной записи -->
{% set user = db('1752665380840')->getItem('users', {'id': userId}) %}
<!-- Подсчет записей -->
{% set count = db('1752665380840')->countItems('users') %}
Переводы
<!-- Простой перевод -->
{{ t('welcome') }}
<!-- Перевод с параметрами -->
{{ t('greeting', {'name': user.name}) }}
Совет: Начните с изучения структуры проекта и основ шаблонизатора.
Преимущества MNRFY
- Простота использования - интуитивный синтаксис, похожий на Twig
- Производительность - встроенное кеширование на всех уровнях
- Безопасность - автоматическое экранирование и CSRF защита
- Многоязычность - полная поддержка локализации с автопереводом
- Гибкость - легко расширяется и настраивается
Требования
- PHP 7.4 или выше
- MySQL 5.7+ или MariaDB 10.2+
- Apache или Nginx с mod_rewrite
- Расширения PHP: PDO, mbstring, json, curl
Готовы начать? Перейдите к руководству по установке.