Funktionen Migration REDAXO 5 → 6

REDAXO 6 entfernt die meisten globalen Funktionen und ersetzt sie durch statische Klassenmethoden.

Request-Funktionen

REDAXO 5.x Funktion REDAXO 6.x Methode
rex_get($key, $type, $default) Http\Request::get($key, $type, $default)
rex_post($key, $type, $default) Http\Request::post($key, $type, $default)
rex_request($key, $type, $default) Http\Request::request($key, $type, $default)
rex_cookie($key, $type, $default) Http\Request::cookie($key, $type, $default)
rex_server($key, $type, $default) Http\Request::server($key, $type, $default)
rex_env($key, $type, $default) Http\Request::env($key, $type, $default)
rex_files($key, $type) Http\Request::files($key, $type)
rex_session($key, $type, $default) Http\Request::session($key, $type, $default)
rex_set_session($key, $value) Http\Request::setSession($key, $value)
rex_unset_session($key) Http\Request::unsetSession($key)
rex_request_method() Http\Request::requestMethod()

Beispiel: Request-Daten

// REDAXO 5.x
$id = rex_get('id', 'int', 0);
$name = rex_post('name', 'string', '');
$page = rex_request('page', 'int', 1);
rex_set_session('user_id', 123);

// REDAXO 6.x
use Redaxo\Core\Http\Request;

$id = Request::get('id', 'int', 0);
$name = Request::post('name', 'string', '');
$page = Request::request('page', 'int', 1);
Request::setSession('user_id', 123);

URL-Funktionen

REDAXO 5.x Funktion REDAXO 6.x Methode
rex_getUrl($id, $clang, $params) Filesystem\Url::article($id, $clang, $params)

Beispiel: URLs generieren

// REDAXO 5.x
$url = rex_getUrl(5);
$url = rex_getUrl(5, 1, ['foo' => 'bar']);

// REDAXO 6.x
use Redaxo\Core\Filesystem\Url;

$url = Url::article(5);
$url = Url::article(5, 1, ['foo' => 'bar']);

Escape-Funktion

REDAXO 5.x Funktion REDAXO 6.x Funktion
rex_escape($value, $strategy) Redaxo\Core\View\escape($value, $strategy)

Beispiel: HTML-Escaping

// REDAXO 5.x
$safe = rex_escape($userInput);
$jsafe = rex_escape($value, 'js');

// REDAXO 6.x
use function Redaxo\Core\View\escape;

$safe = escape($userInput);
$jsafe = escape($value, 'js');

Cache-Funktion

REDAXO 5.x Funktion REDAXO 6.x Methode
rex_delete_cache() Cache::delete()

Beispiel: Cache löschen

// REDAXO 5.x
rex_delete_cache();

// REDAXO 6.x
use Redaxo\Core\Cache;

Cache::delete();

MediaPool-Funktionen

REDAXO 5.x Funktion REDAXO 6.x Methode
rex_mediapool_filename($filename) MediaPool\MediaPool::filename($filename)
rex_mediapool_mediaIsInUse($filename) MediaPool\MediaPool::mediaIsInUse($filename)
rex_mediapool_isAllowedMediaType($filename, $args) MediaPool\MediaPool::isAllowedExtension($filename, $args)
rex_mediapool_isAllowedMimeType($filename) MediaPool\MediaPool::isAllowedMimeType($filename)
rex_mediapool_getMediaTypeWhitelist() MediaPool\MediaPool::getAllowedExtensions()
rex_mediapool_getMediaTypeBlacklist() MediaPool\MediaPool::getBlockedExtensions()
rex_mediapool_Mediaform(...) View\View::mediaPoolMediaForm(...)
rex_mediapool_Uploadform(...) View\View::mediaPoolMediaForm(...)
rex_mediapool_Syncform(...) View\View::mediaPoolMediaForm(...)
rex_mediapool_saveMedia(...) MediaPool\MediaPool::addMedia(...) *
rex_mediapool_updateMedia(...) MediaPool\MediaPool::updateMedia(...) *
rex_mediapool_syncFile(...) MediaPool\MediaPool::addMedia(...) *
rex_mediapool_deleteMedia($filename) MediaPool\MediaPool::deleteMedia($filename) *

* Diese Methoden haben geänderte Parameter oder Rückgabewerte. Siehe Detaildokumentation.

Beispiel: MediaPool-Operationen

// REDAXO 5.x
$filename = rex_mediapool_filename('test.jpg');
$inUse = rex_mediapool_mediaIsInUse('test.jpg');
$allowed = rex_mediapool_isAllowedMediaType('test.pdf', []);

// REDAXO 6.x
use Redaxo\Core\MediaPool\MediaPool;

$filename = MediaPool::filename('test.jpg');
$inUse = MediaPool::mediaIsInUse('test.jpg');
$allowed = MediaPool::isAllowedExtension('test.pdf', []);

MetaInfo-Funktionen

REDAXO 5.x Funktion REDAXO 6.x Methode
rex_metainfo_add_field(...) MetaInfo\MetaInfo::addField(...)
rex_metainfo_add_field_type(...) MetaInfo\MetaInfo::addFieldType(...)
rex_metainfo_cleanup() MetaInfo\MetaInfo::cleanup()
rex_metainfo_delete_field($fieldId) MetaInfo\MetaInfo::deleteField($fieldId)
rex_metainfo_delete_field_type($typeId) MetaInfo\MetaInfo::deleteFieldType($typeId)
rex_metainfo_extensions_handler(...) MetaInfo\MetaInfo::extensionHandler(...)
rex_metainfo_meta_prefix($prefix) MetaInfo\MetaInfo::metaPrefix($prefix)
rex_metainfo_meta_table($table) MetaInfo\MetaInfo::metaTable($table)

Beispiel: MetaInfo-Operationen

// REDAXO 5.x
rex_metainfo_add_field('art_header', 'Header', 1, '', 1, null, '', '', '');

// REDAXO 6.x
use Redaxo\Core\MetaInfo\MetaInfo;

MetaInfo::addField('art_header', 'Header', 1, '', 1, null, '', '', '');

Konstanten → Klassenkonstanten

Globale Konstanten wurden durch Klassenkonstanten ersetzt.

Formular-Konstanten

REDAXO 5.x Konstante REDAXO 6.x Klassenkonstante
REX_FORM_ERROR_VIOLATE_UNIQUE_KEY Form\Form::ERROR_VIOLATE_UNIQUE_KEY

MetaInfo Feld-Konstanten

REDAXO 5.x Konstante REDAXO 6.x Klassenkonstante
REX_METAINFO_FIELD_TEXT MetaInfo\Database\Table::FIELD_TEXT
REX_METAINFO_FIELD_TEXTAREA MetaInfo\Database\Table::FIELD_TEXTAREA
REX_METAINFO_FIELD_SELECT MetaInfo\Database\Table::FIELD_SELECT
REX_METAINFO_FIELD_RADIO MetaInfo\Database\Table::FIELD_RADIO
REX_METAINFO_FIELD_CHECKBOX MetaInfo\Database\Table::FIELD_CHECKBOX
REX_METAINFO_FIELD_REX_MEDIA_WIDGET MetaInfo\Database\Table::FIELD_REX_MEDIA_WIDGET
REX_METAINFO_FIELD_REX_MEDIALIST_WIDGET MetaInfo\Database\Table::FIELD_REX_MEDIA_WIDGET
REX_METAINFO_FIELD_REX_LINK_WIDGET MetaInfo\Database\Table::FIELD_REX_LINK_WIDGET
REX_METAINFO_FIELD_REX_LINKLIST_WIDGET MetaInfo\Database\Table::FIELD_REX_LINK_WIDGET
REX_METAINFO_FIELD_DATE MetaInfo\Database\Table::FIELD_DATE
REX_METAINFO_FIELD_DATETIME MetaInfo\Database\Table::FIELD_DATETIME
REX_METAINFO_FIELD_LEGEND MetaInfo\Database\Table::FIELD_LEGEND
REX_METAINFO_FIELD_TIME MetaInfo\Database\Table::FIELD_TIME
REX_METAINFO_FIELD_COUNT MetaInfo\Database\Table::FIELD_COUNT

View-Konstanten

REDAXO 5.x REDAXO 6.x
rex_view::JS_ASYNC View\Asset::JS_ASYNC
rex_view::JS_DEFERED View\Asset::JS_DEFERED
rex_view::JS_IMMUTABLE View\Asset::JS_IMMUTABLE

Hinweis: Die Schreibweise JS_DEFERED (statt JS_DEFERRED) entspricht der tatsächlichen Implementierung im REDAXO 6.x Quellcode.

MetaInfo Default Type Konstanten

REDAXO 5.x REDAXO 6.x
rex_metainfo_default_type::REX_MEDIALIST_WIDGET MetaInfo\Form\DefaultType::REX_MEDIA_WIDGET
rex_metainfo_default_type::REX_LINKLIST_WIDGET MetaInfo\Form\DefaultType::REX_LINK_WIDGET

Vollständiges Migrationsbeispiel

REDAXO 5.x Code

<?php

// Request-Parameter
$articleId = rex_get('article_id', 'int', 0);
$title = rex_post('title', 'string', '');
$page = rex_request('page', 'int', 1);

// Session
rex_set_session('last_article', $articleId);
$lastArticle = rex_session('last_article', 'int', 0);

// URL generieren
$url = rex_getUrl($articleId, 1);

// Escaping
$safeTitle = rex_escape($title);

// MediaPool
$filename = rex_mediapool_filename('test.jpg');
if (!rex_mediapool_isAllowedMediaType($filename, [])) {
    echo rex_view::error('Dateityp nicht erlaubt');
}

// MetaInfo
rex_metainfo_add_field('art_header', 'Header', REX_METAINFO_FIELD_TEXT);

// Cache
rex_delete_cache();

REDAXO 6.x Code

<?php

use Redaxo\Core\Http\Request;
use Redaxo\Core\Filesystem\Url;
use Redaxo\Core\MediaPool\MediaPool;
use Redaxo\Core\MetaInfo\MetaInfo;
use Redaxo\Core\MetaInfo\Database\Table;
use Redaxo\Core\View\Message;
use Redaxo\Core\Cache;
use function Redaxo\Core\View\escape;

// Request-Parameter
$articleId = Request::get('article_id', 'int', 0);
$title = Request::post('title', 'string', '');
$page = Request::request('page', 'int', 1);

// Session
Request::setSession('last_article', $articleId);
$lastArticle = Request::session('last_article', 'int', 0);

// URL generieren
$url = Url::article($articleId, 1);

// Escaping
$safeTitle = escape($title);

// MediaPool
$filename = MediaPool::filename('test.jpg');
if (!MediaPool::isAllowedExtension($filename, [])) {
    echo Message::error('Dateityp nicht erlaubt');
}

// MetaInfo
MetaInfo::addField('art_header', 'Header', Table::FIELD_TEXT);

// Cache
Cache::delete();