Песочница
SyrnikSandbox — интерактивная песочница для PHP и Smarty
Приложение для быстрой разработки и отладки PHP-кода и Smarty-шаблонов прямо в бекенде
Webasyst — без FTP, SSH и отдельных тестовых файлов. Откройте приложение, напишите код,
нажмите «Выполнить» и сразу увидите результат.
В Облаке Webasyst приложение не работает!.
Возможности
Редактор PHP-кода с подсветкой синтаксиса (ACE editor) и мгновенным выводом результата.
Редактор Smarty-шаблонов со шпаргалкой по доступным переменным.
Каталог сниппетов — папки с вложенностью, общий доступ, быстрый поиск, дублирование
и перемещение сниппетов между папками.
Недавние сниппеты — боковая панель с последними запущенными и сохранёнными кодами.
Окружения — именованные наборы переменных, которые автоматически доступны при
выполнении кода. Параметризуйте сниппеты, не меняя их код.
Персональные переменные пользователя, сохраняемые между запусками.
Экспорт и импорт сниппетов, папок и окружений в JSON — перенос между проектами
и обмен с коллегами.
Поддерживает интерфейс Webasyst 2 и тёмную тему оформления.
Кому пригодится
Разработчикам приложений и плагинов — проверять фрагменты кода, обращаться к моделям
и API фреймворка, отлаживать запросы к базе данных.
Верстальщикам и разработчикам тем дизайна — тестировать Smarty-конструкции с реальными
данными установки.
Администраторам — выполнять разовые служебные операции, не разворачивая отдельные
Персональные переменные — API
У каждого пользователя есть собственное хранилище переменных, доступное между запусками.
Из PHP-кода:
// Накопительный счётчик запусков
$count = sandbox()->getVar('runs', 0) + 1;
sandbox()->setVar('runs', $count);
echo "Запуск #$count";
Из Smarty-шаблона:
{$wa->sandbox->setVar('last_value', $value)}
Последнее значение: {$wa->sandbox->getVar('last_value', '—')}
Окружение — именованный набор переменных «ключ → значение». Выберите окружение перед запуском —
и его переменные станут доступны в коде как обычные переменные PHP или Smarty:
// Окружение с переменными host=db.local, port=3306
echo $host; // db.local
echo $port; // 3306
Общие окружения видны всем пользователям, личные — только владельцу. Выбранное окружение
сохраняется между сессиями.
Хранение данных
Сниппеты и настройки хранятся в базе данных Webasyst. Приложение поддерживает отдельное
подключение к базе данных — полезно, если вы работаете с несколькими конфигурациями одного
проекта и хотите, чтобы песочница всегда использовала конкретную базу.
Безопасность
Права доступа: доступ к приложению настраивается штатными средствами Webasyst.
Персональные сниппеты и переменные изолированы по пользователям.
Общий доступ включается явно — для отдельных сниппетов и папок.





