🛠️ Хелперы
Хелперы — это глобальные функции, которые облегчают доступ к ключевым компонентам фреймворка. Они являются обёртками над основными классами и методами, часто используемыми при разработке.
⚙️ modx()
Возвращает глобальный экземпляр modX.
$modx = modx();🧾 query(string $class)
Быстрое создание запроса к таблице модели.
query(modResource::class);
// или
pbQuery::table(modResource::class);⚙️ config(string $key, $default = null)
Получает значение из конфигурации.
$debug = config('app.debug', false);
// или
Config::get('app.debug', false)
?? $modx->getOption('app.debug', null, false);📁 Конфигурации хранятся в папке: core/App/config/
📥 request(string $key = '')
Возвращает текущий HTTP-запрос или конкретное значение.
$request = request(); // $request = Request::getInstance()
$name = request('name'); // $request->get('name');
request()->validate([...]); // $request->validate([...]);🌐 uri()
Возвращает текущий URI без расширений и ведущих/замыкающих слэшей.
$uri = uri();
// например: /about.html → "about"
// /blog/post/ → "blog/post"🏷️ alias()
Возвращает текущий алиас страницы (последнюю часть URI).
$alias = alias();
// например: /blog/post → "post"
// /about → "about"💾 cache(string $key, $value = null, int $ttl = 3600)
Получение или установка значения в кэше.
$data = cache('menu'); // $data = Cache::get('menu')
cache('menu', $items, 600); // Cache::set('menu', $items, 600)📤 response($content = '', int $status = 200, array $headers = [])
Создаёт и возвращает HTTP-ответ.
$response = response(); // $response = new Response();
return response('OK'); // $response->text('OK')
return response(['status' => 'ok'], 200); // $response->json([...])📌 Тип ответа определяется автоматически: text, json или object.
✅ validate(array $data, array $rules, array $messages = [])
Запускает валидацию данных.
$validator = validate(
['email' => 'john@example.com'],
['email' => 'required|email']
);
// или
$validator = Validator::make($data, $rules, $messages);🖼️ view(string $template, array $params = [])
Рендерит шаблон с параметрами.
$html = view('components.card', ['title' => 'Dashboard']);
// или
$html = View::make('components.card', ['title' => 'Dashboard']);🔁 redirect(...$args)
Создаёт редирект.
$redirect = redirect(); // $redirect = Redirect::getInstance();
redirect('/login'); // $redirect->to('/login');
redirect()->back(); // $redirect->back();🧭 route(string $name, array $params = [])
Генерация ссылки по имени маршрута.
$url = route('post.show', ['id' => 10]);
// или
Route::route('post.show', ['id' => 10])🌍 lang(string $key, array $replace = [], string $locale = '')
Получение перевода строки.
lang('messages.welcome');
// or
Lang::get('messages.welcome');📁 Переводы хранятся в папке: core/App/lang/{locale}/
🔐 auth(string $context = '')
Проверка авторизации пользователя в заданном (или текущем) контексте.
if (auth()) {
echo 'Вы авторизованы';
}
if (auth('mgr')) {
echo 'Вы авторизованы в контексте "mgr"';
}🔁 То же самое, что:
$modx->user && $modx->user->isAuthenticated($context ?: $modx->context->key);❌ abort(int $code = 404, string $text = '')
Останавливает выполнение и возвращает HTTP-ошибку.
abort(403, 'Доступ запрещён');
// или
response()->abort(403, 'Доступ запрещён')->send();📄 logger($message)
Запись ошибки в лог.
logger('Произошла ошибка при сохранении данных');
// или
Log::error('Произошла ошибка при сохранении данных')